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

我有一个ElasticBeanstalk应用程序,它使用Docker来运行一个小的Laravel PHP API。

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

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

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

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

任何人都可以指出我的方向来帮助debugging吗?

对于任何绊倒在这的人:

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

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

从下面的答案和我的SysOps朋友的帮助位采取。

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

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

ec2实例将需要一个公共ip,否则将需要通过NATbuild立外部互联网连接。