- Newest
- Most votes
- Most comments
Hello,
Yes, AutoScaling only scales the number or read replicas, since clusters can only have 1 writer at at time. These are the 'Replicas' mentioned here https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Integrating.AutoScaling.html
When looking at the AutoScaling API for registering a cluster, it shows that for RDS, the type is ReadReplicaCount
AutoScaling doesn't support changing the writer size, since that would involve downtime from a stop/start to resize it
I've submitted feedback to both the RDS and AutoScaling doc teams about making this more clear, but in the future feel free to click the 'feedback' button in the top right of any doc and it will be send directly to the relevant doc team
Hi Shahad, thanks for your answer. You say "clusters can only have 1 writer at at time". Does this mean that a writer endpoint can only contain 1 instance?
Yes, there is 1 primary instance in the cluster which supports reads and writes. The replicas are all read-only https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-replicas-adding.html and https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Replication.html#Aurora.Replication.Replicas have more details
After a lot of reading, I just found a post on stackoverflow from 2018 saying that Aurora only autoscales on reads but not on writes. Is that still like this nowadays? If this is true, then the only way to scale write instances would be manually adding them?
Relevant content
- AWS OFFICIALUpdated a month ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated a year ago
And just a quick question. In terms of financial transactions, where a transaction consists on multiple reads and writes to the db until it is completed, should this process use the main instance for both reads and writes? I'm just thinking about the case where the read replicas take like a couple of seconds to be in sync with the main db, so this would be a problem for financial transactions. Imagine creating a payment order (insert in db), then reading it from the read-only int the next few seconds and not having this payment order yet in the read-only db.
If read instance is always in sync with the main one, we could move all the reads to the reader endpoint, but only if we are 100% sure that this read-only db contains exactly the same updated info than the main db.