以编程方式为 Elastic Beanstalk 配置 RDS 实例

Posted

技术标签:

【中文标题】以编程方式为 Elastic Beanstalk 配置 RDS 实例【英文标题】:Programmaticaly configuring an RDS instance for Elastic Beanstalk 【发布时间】:2016-07-13 11:47:34 【问题描述】:

我正在尝试自动创建临时环境,我正在努力在 Elastic Beanstalk 中创建相关的 RDS 实例。

我希望当我调用 eb create envName 时,环境也会生成一个 RDS 数据库。

一种解决方案是手动完成。另一个解决方案似乎涉及 '.ebextensions' Using Elastic Beanstalk .ebextensions to specify an RDS database ,尽管 .ebextensions 将在每次部署时运行,这可能适合特定的钩子,但我希望将我的配置放在 .elasticbeanstalk/config.yml 中,因为这是文件当我调用eb 命令时,它似乎有预配置。

.ebextensions 中没有的原因之一是在项目配置中,这些不是特定于环境的,它们描述了应用程序在任何环境中的要求。

【问题讨论】:

【参考方案1】:

我个人认为将数据库创建为环境的一部分是一个坏主意,因为如果需要,要处理停止和重新创建环境要困难得多。我相信即使您想彻底破坏环境并重新开始,保持数据库运行也会更容易和更安全。我相信大多数有经验的用户会建议您自己管理 RDS(在 EB 之外)。反正真的很简单。

也就是说(鉴于您没有要求),您可以简单地创建一个数据库作为 eb create 命令本身的一部分:

eb create -db -db.engine postgres -db.version 9.4 -db.user dbroot -db.i ...

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb3-create.html

【讨论】:

以上是关于以编程方式为 Elastic Beanstalk 配置 RDS 实例的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式更改 Elastic Beanstalk 环境中的 EC2 实例类型?

检测 Elastic Beanstalk 环境?

是否有一种工具可以从 AWS Elastic Beanstalk 以聚合方式轻松搜索 S3 中每小时轮换的日志?

如何记录堆栈跟踪 aws elastic beanstalk 以快速解决客户错误

如何使用 Terraform 为 Elastic Beanstalk 中的 EC2 实例设置 EBS 根卷以持久保存

为 Elastic Beanstalk 环境配置 HTTPS