弹性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类型。
您的ec2实例没有分配给它的公共ip的可能性很高。如果您尝试在ec2实例上没有公共IP的情况下连接到RDS的公共IP,您将无法访问。
ec2实例将需要一个公共ip或它需要通过NAT的外部互联网连接。
有趣..我没有提供公有IP的实例,但是我确实使它们在所有子网上和与数据库相同的VPC中可用。似乎要做的伎俩! – MattDavies
谢谢你们!这是安全组,需要允许在EC2实例和数据库上的端口3306上进行通信,并且这样做有诀窍 – MattDavies