无法为 Amazon RDS 授权服务器

无法为 Amazon RDS 授权服务器

我们正在尝试将网站慢慢迁移到 AWS 等。我们决定首先迁移数据库。我们有一些来自不同托管提供商的专用服务器。我们只有一个 IP。我无法授权 IP,以便旧服务器可以连接到 RDS。它在使用 mysql cli 时会挂起一段时间,然后响应:

错误 2003 (HY000):无法连接到“db.address.us-east-1.rds.amazonaws.com”上的 MySQL 服务器 (110)

不过,它在我的笔记本电脑上确实能用。我不太清楚哪里出了问题。我感觉我不太了解 CIDR/IP。我只是取了 IP 地址,并在末尾加上了 /32。然后我收集了一些信息,它也与子网掩码有关?ifconfig 报告:255.255.255.0

我找到一个计算器,IP 稍微改了一下,末尾加了 /24。但还是不行。

还有一点……也许我对操作系统之间的差异了解不够。托管服务提供商使用的是 centOS,而我们的开发机器都是 ubuntu。

任何见解都将非常有帮助!谢谢 :)

答案1

如果它可以在你的笔记本电脑上运行,显然你已经授权你的笔记本电脑在互联网上显示的 IP 连接到 RDS。浏览whatismyip.com查看该公共 IP。如果您从专用服务器浏览 whatismyip,则可以验证该服务器的公共 IP,并确保它在 AWS 中已获得授权。如果只有一个 IP,请将其输入为 xxxx/32。

如果您对 MySQL 使用 TCP 端口 3306,请在专用服务器上的 shell/cmd 提示符下输入

telnet db.address.us-east-1.rds.amazonaws.com 3306

如果连接超时而不是打开新窗口,并且您确认您的专用服务器的公共 IP 是已授权,则可能是您的服务器或托管提供商网络中的某些内容阻止了您的连接。支持人员应该能够帮助您找到并修复它。

答案2

简单地将 EC2 IP 添加到安全组是行不通的,您应该添加安全组,文档中对此进行了很好的解释。它对我有用

http://chris-allen-lane.com/2011/07/amazon-ec2-instance-cannot-connect-to-amazon-rds-database-server/

答案3

啊,显然有一些 /etc/csf 配置需要接受才能打开端口。必须重新启动该服务。我猜可能是防火墙?不确定。如果其他人在从外部托管提供商连接时遇到问题,只需向他们寻求帮助,他们应该能够打开端口 3306。

答案4

如果您已经在环境中配置了防火墙规则,您可能还应该更改参数绑定地址在文件上/etc/mysql/my.cnf需要讨论或者指定一个可以访问环境的ip。

相关内容