3
votes

I have a MySQL RDS instance in a Multi-AZ zone whose storage capacity = 200 GB. My instance class is db.m3.large and my storage type is SSD.

I want to double the storage capacity to 400 GB (scale up the DB). On RDS FAQ: https://aws.amazon.com/rds/faqs/ it says "while the storage capacity is being increased the DB instance is still available". Does that mean I can still read/write to my instance while it's being scaled up?

Also on RDS FAQ's it says when you "decide to scale the compute resources available to your DB instance up or down, your database will be temporarily unavailable while the DB instance class is modified. This period of unavailability typically lasts only a few minutes." What do the compute resources refer to? (The instance class or the storage type)? And this does "unavailability" mean that I won't be able to read/write to the DB instance while the compute resources are scaled up or down?

1
According to this meta question on virtualization and this one on AWS, this question would be more appropriate on Super User or Server Fault, I think. That said, the answer to your question is that you will not have read/write access during that time. - Max von Hippel
The reference link says when you apply allocated storage, there is "No downtime. Performance may be degraded during the change." So does that mean I still have read/write access? - Victor Cui
Yes, for each case in the doc if the only comment is Performance may be degraded during the change, you will have read/write access. If it notes that there will be downtime, an outage, unavailability, or other similar language, assume that you will be unable to use the DB for a brief period. - Anthony Neace

1 Answers

3
votes

Yes, when scaling storage, the RDS instance remains available and you can read/write though, as noted earlier, performance may be degraded during the change.

"Compute resources" refers to the instance class. If you change the instance class then you trigger a small period of unavailability.

I believe that what's actually happening here is basically the same as during a DB version upgrade:

  1. upgrade/resize the standby
  2. promote the standby to primary
  3. upgrade/resize the old primary, which becomes the new standby

The RDS instance will be unavailable for a short period of time (typically under 2 minutes) because of a DNS change in step #2 to promote the standby to primary.