Can Amazon Elastic Beanstalk auto-scale Amazon RDS

amazon ec2amazon-rdsautoscalingelastic-beanstalkrds

I'm planning to run a PHP/MySQL application using Amazon Elastic Beanstalk. In the settings I can define when it should launch new instances automatically (Auto-Scaling).

However, as I understand this, this only creates new EC2-Instances and does not touch the RDS-Data-Layer (which I also configured in the settings).

Is there any way to auto-scale this RDS, with automated Read-Replicas or database size upgrade, or do I have to do this manually in some way?

Best Answer

Today we faced that problem.

We launched a mobile app that report continuously data to be saved in RDS MySQL, this resulted in a high performance impact, we were using db.t2.micro to take advantage the free tier.

I can confirm, Elastic Beanstalk does not autoscale RDS. However, the environment were re-configured and set other server for RDS, db.m3.medium, the process was smooth from the users, the database was able to continue serving read/write queries and the server was upgraded without downtime.

So, There is a way to perform a manual, but fast and easy scale, but there is not auto-scale.

Programatically, I think you can make some script to monitor your databases and do:

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