12

One of my RDS instance take high cpu some times due to heavy load. That time we manually need to upgrade instance. So I think to use auto scaling feature of RDS to automatically increase instances, but not getting any details about it.

Please some one confirm that If Autoscaling supports for RDS instances or not..

Thanks in advance.

Shivam
  • 3,514
  • 2
  • 13
  • 27
Rahul Kumar
  • 666
  • 2
  • 7
  • 13

5 Answers5

24

The previous answers are now out of date. The newer AWS RDS Aurora does support autoscaling. Aurora Auto Scaling is available for both Aurora MySQL and Aurora PostgreSQL.

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Integrating.AutoScaling.html

Simon Woodside
  • 7,175
  • 5
  • 50
  • 66
  • 1
    The user did not ask if Aurora could do it. this is a major problem with AWS! Not everyone is searching for the majestic aurora. AWS really messed it up this time with the documentations and clarity. – Koushik Shom Choudhury Apr 13 '20 at 04:23
  • 1
    Aurora is a database service offered by AWS as part of RDS. – Simon Woodside Apr 15 '20 at 00:35
  • @SimonWoodside - Aurora offers auto-scaling through read replicas right? What component in the architecture directs the insert/update or DDL queries to the write instance and the rest of the read queries to read replica(s)? – Andy Dufresne Nov 02 '21 at 13:00
15

No, it does not.

The scaling you're describing is vertical scaling, which is upgrading the class or type of an instance. Autoscaling, in general, is for horizontal scaling: adding more instances. RDS supports neither horizontal nor vertical autoscaling, but it does support manual horizontal scaling (by adding read replicas) and manual vertical scaling (by upgrading/downgrading an existing instance).

hearnden
  • 522
  • 2
  • 8
5

AWS RDS supports Vertical scalling only. Horizantal scalling can be applied only for read intensive RDS instances by creating read replicas under an ELB

https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/

Amin Ahmed Khan
  • 451
  • 4
  • 9
0

Another solution can be set a difference between allocated storage and max allocated storage. It give a storage buffer that you can use whenever a database faces storage crunch. Ofcourse you have to set a max value for this beforehand

isubodh
  • 45
  • 7
0

Best solution is using a script in crontab using cli for modify db instance class in crontab. Is also possible in the script to retrieve the cpu usage and for example scaling up if cpu is higher than 90% and down when goes less than 60% but if RDS is not multi AZ this scaling generate downtime

antoweb
  • 31
  • 2