-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathestimates.txt
61 lines (43 loc) · 3.13 KB
/
estimates.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
1. Minimum RTO for a single AZ outage
In this case RTO is the time to complete the switch to a different AZ. Minimum 60-120 seconds.
Documentation: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html
"In the event of a planned or unplanned outage of your DB instance, Amazon RDS automatically
switches to a standby replica in another Availability Zone if you have enabled Multi-AZ.
The time it takes for the failover to complete depends on the database activity and other
conditions at the time the primary DB instance became unavailable. Failover times are typically
60–120 seconds. However, large transactions or a lengthy recovery process can increase failover
time. When the failover is complete, it can take additional time for the RDS console to reflect
the new Availability Zone."
2. Minimum RTO for a single region outage
In this case RTO timing requires starting up a new Amazon RDS instance and then applying all
changes since the last backup. 30 mins to 1 hour.
Manual intervention.
- Steps:
a. Use existing replica and promote to master.
b. Reconfigure the application to point to new DB instance.
3. Minimum RPO for a single AZ outage
In this case data loss is minimum as secondary instance stores data. RPO is 0
4. Minimum RPO for a single region outage
In this case data loss is related to how frequently data moves from master to replica across regions.
That depends on a frequency of the backups and the speed to restore them. RDS takes transaction
log backups every 5 minutes.
Documentation: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIT.html
"RDS uploads transaction logs for DB instances to Amazon S3 every 5 minutes.
To determine the latest restorable time for a DB instance, use the AWS CLI describe-db-instances
command and look at the value returned in the LatestRestorableTime field for the DB instance.
In the AWS Management Console, this property is visible as the Latest restore time for the
DB instance. You can restore to any point in time during your backup retention period."
Restoring from backup also takes time.
Documentation: https://aws.amazon.com/blogs/database/amazon-rds-under-the-hood-single-az-instance-recovery/
"The RTO timing requires starting up a new Amazon RDS instance and then applying all changes
since the last backup. The RPO is typically 5 minutes, but you can find it by calling
RDS:describe-db-instances:LatestRestorableTime. This time can vary from 10 minutes to hours,
depending on the number of logs that need to be applied. It can only be determined by testing
because it depends on the size of the database, the number of changes made since the last
backup, and the workload levels on the database."
There is also application configuration change time to point to a new instance. This depends on
application architecture. At the minimum - one config change. There is also an option to not to
change the config but rename restored instance using older name:
https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RenameInstance.html
But this requires deleting older instance. Might not work for any application.
In total: 10 - 30 mins restore + 10 mins to reconfigure