我通过添加AWS文档中提到的CIDR来授权连接到RDS。
所以我能够从本地系统连接和管理我的RDS实例(我在CIDR中添加了我的本地IP)
我的应用程序实例位于AWS外部的服务器上,即使将我的应用程序服务器IP添加到CIDR后只能使用一个IP / 32,也无法连接到数据库。
当我尝试打开我的应用程序时,我收到此错误
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '<rds endpoint>' (4)
其他人是否面临同样的问题? 你是怎么解决它的? 问候 拉维
答案 0 :(得分:0)
您的应用程序是在防火墙后面还是在前面?它是否具有公共IP或是否在您的网络上使用内部IP?如果应用程序服务器位于防火墙后面,您可能需要允许安全组的前端IP访问访问RDS实例。
答案 1 :(得分:0)
现在问题已解决。 意识到我的mysql端口3306在服务器上被阻止,并且不允许任何通信响应。
感谢您的帮助。
编辑:
那么,问题是如何解决的。
RDS允许来自两个源的传入连接。
1.可靠的IP
2. ec2-安全组
当允许来自任何外部IP的连接时,我们必须将该IP或IP范围添加到RDS实例中的安全组。它在RDS控制台中可用。 点击here了解更多详情
外部服务器也应允许通过mysql端口(3306)进行通信,因此请确保在应用程序服务器上启用3306。
将 主机 更改为RDS 端点 并进行测试。它应该工作。