AWS RDS disaster recovery options

Problem/SolutionSnapshot-based backupMulti-AZRead Replica in the same regionRead Replica in multi region
Wrong/deleted data casued by wrong codeYes
Will lose at leas one day or a few hours of data
No
The wrong data has been copied to the standby instance
No
The wrong data has been copied to the standby instance
No
The wrong data has been copied to the standby instance
Hardware failureYes
Will lose at least one day or a few hours of data
Yes
It happens automatically
Yes
You can manually promote the replica to a master
Yes
You can manually promote the replica to a master
Instance deleted by mistakeYes
Will lose at least one day or a few hours of data
No
The standby instance will be deleted along
Yes
You can manually promote the replica to a master

Will lose few data
Yes
You can manually promote the replica to a master

Will lose few data
AWS region failureNo
Have to wait until the region recovers
No
Have to wait until the region recovers
No
Have to wait until the region recovers
Yes
Note there is extra cost compared to its same-region counterpart
Account compromisedNo
The hacker can also delete the snapshots
NoNo
The hacker can also delete the snapshots
No
The hacker can also delete the snapshots

Downtime and Influence to application:

Snapshot-basedMulti-AZRead Replica
DB DowntimeMust manually recover saved data
(30 minutes – n hours)
No downtime
Must manually promote the replica instance
(30 minutes – n hours)
DB Endpoint changed? YesNoYes
Application downtimeDB Downtime
+
App Change/Rebounce time
(Must change db endpoint in app)
No downtimeDB Downtime
+
App Change/Rebounce time
(Must change db endpoint in app)

References: https://blogs.tensult.com/2018/05/26/aws-rds-disaster-recovery/

P.S.

  • You may just enable “delete protection” instead of setting up “read replica”
  • The snapshot-based recovery may not necessarily cause app-side change. You can,
    • Load the snapshot to a new db instance
    • Copy data from the new instance to the existing instance using sql scripts

Leave a Comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.