I do not see option to have a cluster with two writers in serverless v2 for both
Amazon Aurora MySQL-Compatible Edition
Amazon Aurora PostgreSQL-Compatible Edition
Now UI propose us to create a read replica for faster failover.
But is it possible to have a ready stand by writer? So in case if there is an upgrade or something and I can not get connection opened for a writer, I can just immediately switch to another writer.
Is it possible to have it like this or maybe I missed/misunderstood something?
Documentation for creation of multi master db is outdated
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html#aurora-multi-master-creating
2
Answers
From the documentation:
Here is the link for reference: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-multi-master.html
Correct, multi-master for Aurora is tied to the MySQL 5.6-compatible edition. It isn’t available for MySQL 5.7-compatible, MySQL 8.0-compatible, or PostgreSQL-compatible editions. Serverless v2 requires relatively recent versions of the MySQL and PostgreSQL engines, so multi-master definitely isn’t available there.
Let’s consider the possibilities for the single-writer case, because that’s what’s available in the versions that are compatible with Serverless v2 and aren’t approaching EOL.
If there’s an unplanned outage for the writer, Aurora automatically promotes a reader to take its place (failover).
More on failover generally here:
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Concepts.AuroraHighAvailability.Instances
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.AuroraHighAvailability.html#Aurora.Managing.FaultTolerance
Aurora PostgreSQL has some features and settings to minimize failover time:
https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.BestPractices.FastFailover.html
If you want to e.g. switch the writer to a higher-capacity instance class, traditionally the way to do that was to make that change on a reader and then promote that to be the new writer by doing a manual failover. Serverless v2 does such capacity changes automatically without a reboot, and it preserves open connections too. So this former reason for reboots/outages isn’t applicable in Serverless v2.
In Aurora MySQL 2.10 and higher, you can reboot the writer and the reader instances are still available for queries while the writer is rebooting: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_RebootCluster.html