Aid*_*tis 8 permissions amazon-web-services amazon-rds amazon-elastic-beanstalk
我对Elastic Beanstalk很新,并且不太熟悉服务器管理,但我需要在Elastic Beanstalk上设置一个连接到外部RDS MySQL数据库的Django项目.
我创建了一个单独的RDS MySQL数据库,我可以在我的计算机上使用Sequel Pro连接到它,没有任何问题.然后我有我的Django项目,我试图把它放到Elastic Beanstalk,但遗憾的是没有运气.如果我从我的计算机运行本地Django服务器,该项目是可浏览的,并且可以访问Amazon RDS MySQL.但是,当我跑
eb deploy
Run Code Online (Sandbox Code Playgroud)
我明白了
django.db.utils.OperationalError: (2003, "Can't connect to MySQL server
on 'myapp-staging.xxx.eu-west-1.rds.amazonaws.com' (110)")
(ElasticBeanstalk::ExternalInvocationError)
Run Code Online (Sandbox Code Playgroud)
如果我通过SSH登录EC2服务器
eb ssh
Run Code Online (Sandbox Code Playgroud)
然后检查打开的端口
netstat -lntu
Run Code Online (Sandbox Code Playgroud)
我没有看到MySQL的端口3306,所以我猜它被防火墙阻止了.
这是我尝试的权限:
然后我尝试重新部署,重启服务器甚至重建环境,但没有任何帮助.MySQL端口3306在Elastic Beanstalk创建的EC2实例中仍未打开.
我做错了什么或者缺少什么?
MySQL端口3306仅在RDS实例(不在您的EC2实例中)打开.因此,如果您检查您的EC2实例,它不应该侦听端口3306.
你可以做的事情来检查RDS工作:
eb ssh)并运行telnet myapp-staging.xxx.eu-west-1.rds.amazonaws.com 3306.您可能需要先安装telnet(yum install telnet).iptables.| 归档时间: |
|
| 查看次数: |
832 次 |
| 最近记录: |