繁体   English   中英

无法从AWS外部托管的应用程序连接到RDS上的MySQL数据库

[英]Unable to connect to MySQL Database on RDS from application hosted outside AWS

通过添加AWS文档中提到的CIDR,我已授权连接到RDS。

这样我就可以从本地系统连接和管理我的RDS实例(我在CIDR中添加了本地ip)

我的应用程序实例位于AWS外部的服务器上,即使将我的应用程序服务器IP添加到仅允许一个IP / 32的CIDR之后,也无法连接到数据库。

当我尝试打开我的应用程序时,出现此错误

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '<rds endpoint>' (4)

其他人也面临同样的问题吗? 您是如何解决它的? 问候拉维

您的应用程序位于防火墙后面还是正面? 它具有公共IP还是在您的网络上使用内部IP? 如果您的应用程序服务器位于防火墙后面,则可能需要允许安全组上的前端IP访问来访问RDS实例,这可能是一个问题。

现在,此问题已解决。 意识到我的mysql端口3306在服务器上被阻止,并且不允许任何通信响应。

谢谢您的帮助。

编辑:
因此,这是解决问题的方法。 RDS允许来自两个来源的传入连接。 1.受信任的IP 2. ec2-安全组

当允许来自任何外部IP的连接时,我们必须将该IP或IP范围添加到RDS实例中的安全组。 在RDS控制台中可用。 点击这里了解更多详情

外部服务器还应允许通过mysql端口(3306)进行通信,因此请确保在应用程序服务器上启用3306。

主机更改为RDS 端点并进行测试。 它应该工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM