[英]Connecting to RDS instance through VPC from EC2 using PHP
我一直在寻找stackoverflow了一段时间,但似乎似乎找不到解决方案……这是我的情况:
现在这是我的问题:
我似乎无法弄清楚如何通过一个简单的PHP脚本从EC2连接到RDS。 每当我尝试连接时,我都会收到错误代码13。由于EC2可以通过终端进行连接,所以我猜测这是由于位于同一子网中; 但是,当我尝试通过PHP连接时(我假设此时正在尝试与EIP地址连接),我得到一个错误。
奇怪的是,我可以通过Sequel Pro(Mac相当于Navicat或phpMyAdmin)连接到RDS,但不能通过EC2连接到RDS。
我开始认为这不再是安全组问题,而是EC2实例上的OS / PHP配置完全让我无所适从。
有什么想法吗? 提前致谢!
我正在从另一个线程重新发布我的答案,因为您的答案与之相关:
您在EC2上运行什么? 只是询问是否是SELinux(增强安全性的Linux),在这种情况下可能是安全限制。
在终端上,如果您运行:
getsebool -a | grep httpd
您应该能够看到此限制(您的Web服务器是否可以“联网”。如果不能,请运行此服务器,这应该可以解决您的问题:
setsebool -P httpd_can_network_connect 1
希望能解决这个问题,否则我看不到问题可能出在哪里,尤其是因为您说可以通过终端连接(因此AWS安全组不应该成为问题)。
您可以尝试使用内部子网IP地址连接到RDS实例。 要找出来自同一子网中EC2实例的内部IP地址(来自VPC子网)是哪一个,请执行以下操作:
ping <your-rds-endpoint-without-3306>
仔细检查您是否使用了正确的凭据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.