弹性beanstalk泊坞窗应用程序无法连接到mysql

问题描述:

我有一个ElasticBeanstalk应用程序,它使用Docker来运行一个小的Laravel PHP API。弹性beanstalk泊坞窗应用程序无法连接到mysql

在ElasticBeanstalk中运行时,该应用程序无法连接到MySQL。

MySQL DB是一个公开可用的AWS RDS实例。

我已经在本地运行我的Docker容器,应用程序可以很好地连接。

当我部署到ElasticBeanstalk应用程序无法连接...

任何人都可以点我的方向,以帮助调试呢?

SOLUTION

对于别人谁在这个蹒跚:

的解决方案是创建一个新的安全组同时为EC2实例和RDS数据库。两个安全组通过端口3306为实例和数据库打开了访问权限。

我还确保EC2实例在每个子网和与我的数据库相同的VPC中都可用。

从下面的答案和SysOps朋友的帮助中获得帮助。

您可能需要检查附加到Elastic Beanstalk的EC2安全组规则,以允许端口3306处的TCP用于MYSQL类型。

+0

谢谢你们!这是安全组,需要允许在EC2实例和数据库上的端口3306上进行通信,并且这样做有诀窍 – MattDavies

您的ec2实例没有分配给它的公共ip的可能性很高。如果您尝试在ec2实例上没有公共IP的情况下连接到RDS的公共IP,您将无法访问。

ec2实例将需要一个公共ip或它需要通过NAT的外部互联网连接。

+0

有趣..我没有提供公有IP的实例,但是我确实使它们在所有子网上和与数据库相同的VPC中可用。似乎要做的伎俩! – MattDavies