使用AWS管理控制台UI,我可以轻松配置Elastic Beanstalk,以便在创建环境时创建RDS数据库。
我想使用Boto自动执行此过程。显然使用Boto或CLI创建和附加RDS实例是不可能的,所以我在jar的根目录中添加了一个.ebextensions目录。它包含一个名为“01-rds.config”的文件,其中包含此YAML(从here复制):
Resources: AWSEBRDSDatabase: Type: AWS::RDS::DBInstance Properties: AllocatedStorage: 5 DBInstanceClass: db.t2.micro DBName: myawesomeapp Engine: postgres EngineVersion: 9.4.4 MasterUsername: myAwesomeUsername MasterUserPassword: myCrazyPassword
这会导致Beanstalk使用指定的用户名和密码创建数据库。但是,当我尝试使用该应用程序时,我得到502 Bad Gateway
。
在控制台的“数据层”部分,我可以看到RDS条目,但它只显示有关数据库的以下信息:
相反,当我使用控制台创建环境并配置RDS数据库时,此部分还包含RDS实例的端点。
发生了什么事?弹性beanstalk环境是否无法以某种方式访问数据库?