更改 Elastic Beanstalk 应用程序中的 RDS 配置?

Posted

技术标签:

【中文标题】更改 Elastic Beanstalk 应用程序中的 RDS 配置?【英文标题】:Change RDS Configuration in Elastic Beanstalk App? 【发布时间】:2014-09-25 02:19:46 【问题描述】:

我想将连接到我的 Elastic Beanstalk 应用程序的 RDS 实例从 db.t1.micro 更改为 db.m1.small。如果我转到我的 Elastic Beanstalk 应用程序并转到“配置”,我只能看到当前设置,但无法更改它们。

然后我进入控制台 -> RDS -> 实例,并从 RDS 菜单更新我的实例,并将其设置为 db.m1.small。在 RDS 上,它现在说它是一个 db.m1.small,但是在 Elastic Beanstalk 配置页面上,它仍然说应用程序正在运行一个 db.t1.micro 实例。

所以有几个问题:

我是否以“正确”的方式升级了我的实例?或者我想有另一种方式来配置我的 RDS 实例,该实例是使用我的 Elastic Beanstalk 应用程序设置的?

任何想法为什么不同的页面说不同的配置?

【问题讨论】:

【参考方案1】:

如果 RDS 控制台显示 RDS 实例类型为 m1.small 则已更改为 m1.small。这两个页面显示不同的值,因为 beanstalk 为您提供了一个 t1.micro 实例实例,因此认为您有一个 t1.micro 数据库实例。如果您重建环境,那么新环境应该具有相同的配置,因此应该有一个 t1.micro 实例。 通过 RDS 控制台更改它不会更改 Beanstalk 上的配置,因此您会看到不同的值。

但是,如果 RDS 实例是通过 Beanstalk 创建的,那么更新数据库实例类型的正确方法是使用 Elastic Beanstalk 选项设置。

如果不使用控制台,您可以使用 AWS CLI 进行更改。 http://docs.aws.amazon.com/cli/latest/reference/

只需运行以下命令:

aws elasticbeanstalk --update-environment --environment-name <your-env-name> --option-settings Namespace=aws:rds:dbinstance,OptionName=DBInstanceClass,Value=db.m1.small

试试上面的命令。 有关通过 aws cli 更新环境的更多信息: http://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html

阅读有关选项设置和 ebextensions 的更多信息here。

【讨论】:

看起来您现在可以直接在 Beanstalk UI 中更改实例类。但是,仍然有很多您无法更改的内容,例如备份保留。我想知道它是否会提供更大的灵活性(对于那些喜欢在 UI 中工作的人)来手动创建 RDS 实例,然后将其附加到 Beanstalk。 嗯,猜你不能直接附加到 Beanstalk,也许你不想:serverfault.com/questions/540828/…

以上是关于更改 Elastic Beanstalk 应用程序中的 RDS 配置?的主要内容,如果未能解决你的问题,请参考以下文章

更改 Elastic Beanstalk 应用程序中的 RDS 配置?

AWS Elastic Beanstalk 更改挂载目录的权限

如何使用 Elastic Beanstalk 设置实例类型?

在 AWS 上的 symfony 2.8 应用程序中更改根目录 - Elastic Beanstalk

当 S3 中的文件更改时,在 Elastic beanstalk 应用程序的所有实例中触发操作

在 Elastic Beanstalk 上更改 Apache Tomcat 的文件编码