Amazon Elastic Beanstalk 可以自动扩展 Amazon RDS 吗?

Amazon Elastic Beanstalk 可以自动扩展 Amazon RDS 吗?

我计划使用 Amazon Elastic Beanstalk 运行 PHP/MySQL 应用程序。在设置中,我可以定义何时自动启动新实例(自动扩展)。

但是,据我了解,这只会创建新的 EC2 实例,并不会触及 RDS 数据层(我也在设置中配置了它)。

有没有办法自动扩展这个 RDS,使用自动读取副本或数据库大小升级,还是我必须以某种方式手动执行此操作?

答案1

今天我们就遇到了这个问题。

我们推出了一款移动应用程序,可以持续报告要保存在 RDS MySQL 中的数据,这会导致高性能影响,我们使用 db.t2.micro 来利用免费套餐。

我可以确认,Elastic Beanstalk 不会自动扩展 RDS。但是,重新配置环境并为 RDS 设置了其他服务器 db.m3.medium,用户认为该过程很顺利,数据库能够继续提供读/写查询,并且服务器无需停机即可升级。

因此,有一种方法可以执行手动但快速且简单的缩放,但没有自动缩放。

从编程角度来看,我认为您可以编写一些脚本来监视数据库并执行以下操作:

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

答案2

不可以,Elastic Beanstalk 只能创建新的 RDS 实例(而且我认为即使这样也只能通过 Web 界面完成)。Elastic Beanstalk 实际上只管理 EC2 实例,并不直接管理 RDS。

请注意,RDS“扩展”并不是无缝的;实例大小更改将导致一些停机时间,因为运行 RDS DB 的底层 EC2 实例基本上被关闭并重新启动。

相关内容