Amazon-rds – Estimate amount of downtime from RDS backup

amazon-rdsaws

I have an Multi-AZ RDS instance. Due to some maintenance I want to create a consistent snapshot of the database during the day, but this means shutting down all our services. I noticed from the AWS console that the time between a database backup start and finish is about 30 minutes.

What I was wondering is if this impacts performance and if so, how long and when? Is it like EBS where I can start everything up again when the snapshot moves from "creating" to "progess" or do I need to wait until it is entirely complete?

Because if possible I'd like to minimize the amount of downtime our services have, meaning that not having to wait for the entire backup would save us a lot of time.

Best Answer

Usually, RDS backups don't cause downtime. Similar to EBS backup, the I/O needs to freeze the DB for a split fo the second to get a consistent LVM snapshot. After that, it is irrelevant how long the backup takes. Alternatively, you may consider taking the snapshot on the Read Replica to avoid the impact on Master.

During the automatic backup window, storage I/O might be suspended briefly while the backup process initializes (typically under a few seconds). You might experience elevated latencies for a few minutes during backups for Multi-AZ deployments. For MariaDB, MySQL, Oracle, and PostgreSQL, I/O activity is not suspended on your primary during backup for Multi-AZ deployments, because the backup is taken from the standby. For SQL Server, I/O activity is suspended briefly during backup for Multi-AZ deployments." https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithAutomatedBackups.html

Since you've mentioned that you need to perform RDS Maintenance after the backup. you may want to check out how to avoid downtime altogether during the RDS maintenance. https://workmarket.tech/zero-downtime-maintenances-on-mysql-rds-ba13b51103c2

Disclosure: I work as a Lead DBA for WorkMarket.