amazon-ec2 - aws rds连接




Elastic Beanstalk应用程序将不会连接到RDS MySQL实例 (2)

我在Elastic Beanstalk实例上安装了一个CodeIgniter PHP应用程序。 我试图将它连接到我设置的RDS MySQL实例,但是加载Elastic Beanstalk站点URL始终导致页面超时连接。 我已经缩小了问题,无法连接到数据库。

我想我已经正确设置了我的安全组,允许Elastic Beanstalk EC2实例与RDS进行通信,但是由于页面仍然无法加载,所以一定是错误的。

我在RDS和Elastic Beanstalk所使用的安全组的入站/出站规则以及屏幕截图中列出了Elastic Beanstalk实例附加的安全组。

有关为什么我的Elastic Beanstalk应用程序无法与我的RDS实例交谈的任何想法?

编辑:RDS实例和Elastic Beanstalk实例在同一个安全组中。


将设置了Elastic Beanstalk的堆栈安全组名称添加到RDS安全组列表中。

通过登录到EC2实例(即eb ssh)来测试是最容易的,并测试到数据库的连接,以排除您的应用程序的任何问题。

mysql -u user -p password -h rds.instance.endpoint.region.rds.amazonaws.com

您是否也将RDS实例启动到VPC中?

您的RDS安全组需要将端口3306上的传入流量授予Beanstalk安全组。

例如RDS安全组

Incoming
ALLOW TCP 3306 from BeanstalkSG

不要打开到0.0.0.0

由于您已经允许所有流量传出,您的Beanstalk SG不必另外授予传出流量3306。

您的VPC ACL允许3306上的流量? (他们默认)