【发布时间】:2013-05-26 03:00:18
【问题描述】:
我正在尝试从 EC2 实例 i-78a8df00 连接到 RDS 实例 mysql.************.us-east-1.rds.amazonaws.com。他们都在美国东部地区。我将EC2实例的安全组(sg-********)添加到RDS安全组,但这没有帮助。这似乎是防火墙/DNS 问题,因为它在运行此命令时超时:
ubuntu@ip-10-195-189-237:~$ mysql -h mysql.************.us-east-1.rds.amazonaws.com
错误 2003 (HY000):无法连接到“mysql.************.us-east-1.rds.amazonaws.com”上的 MySQL 服务器 (110)
我可以使用与上面相同的行从本地计算机很好地连接到 RDS 实例。我尝试了各种论坛解决方案,但都没有帮助。
【问题讨论】:
-
ec2 盒子的安全组上的端口是否打开以允许连接到 rds?
-
是的,我已经将EC2实例的安全组(sg-**)添加到RDS安全组了。
-
如果我从 EC2 到 RDS 主机名进行跟踪路由,则会超时:traceroute mysql.****.us-east-1.rds.amazonaws.com traceroute to mysql.*** *.us-east-1.rds.amazonaws.com (10.206.**.***),最大 30 跳,60 字节数据包^C 1 * * * 2 * * * 3 * * * 4 * * * 5 * * * 这让我相信这是一个 DNS/防火墙问题。但是,我有一条规则让 RDS 安全组允许来自该 EC2 安全组的连接。
-
我还将 CIDR 0.0.0.0/0 添加到 RDS 安全组,以确认所有人都可以访问该 mysql 数据库。还是不行。这告诉我 DNS 没有从我的 EC2 实例路由到正确的 RDS 主机名。其他人有这个问题吗?
-
所以我从 AWS 外部和 EC2 实例内部对主机名进行了“挖掘”。它似乎从 EC2 实例正确路由到其内部 IP,但从外部 IP 路由到外部 IP。是否有任何诊断标志可以添加到 mysql 连接字符串中以查看实际发生的情况或其他一些详细的日志记录?这非常令人沮丧。
标签: mysql amazon-web-services amazon-ec2 amazon-rds