Disaster Recovery with Amazon Aurora: Optimal Solution for Read-Replicas in Secondary AWS Region

Implementing Additional Read-Replicas in a Secondary AWS Region

Question

A solution architect would like to improve the disaster recovery capability of an Amazon Aurora database cluster by creating additional read-replicas in a secondary AWS region.

What is the optimal solution to implement this requirement?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D.

Answer: D.

Option A is incorrect because this is not an optimal solution.

Implementing a custom AWS Glue job to perform data copy introduces complexity.

Further, the target Amazon Aurora cluster would have a primary instance that is write capable, leading to potential data drift compared to the source cluster.

Finally, triggering the glue job using a cron expression can lead to a significant delay in data synchronization.

Option B is incorrect because this is not an optimal solution.

Implementing a custom AWS Lambda function introduces complexity.

Additionally, creating, copying and restoring a database from a snapshot is a very time-consuming activity.

Further, the target Amazon Aurora cluster would have a primary instance that is write capable, leading to potential data drift compared to the source cluster.

Option C is incorrect because VPC peering is not required.

Instead, binary logging must be enabled and configured on the source database.

Option D is CORRECT because it can create up to five cross-region read replicas of a source Amazon Aurora cluster.

A requirement for this is to enable and configure binary logging on the source database cluster.

This can be done by setting the binlog_format parameter on the source database cluster.

Reference:

https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.CrossRegion.html

The optimal solution to improve disaster recovery capability of an Amazon Aurora database cluster by creating additional read-replicas in a secondary AWS region is option C, which involves configuring VPC Peering between the two VPC's in the two AWS regions and creating a cross-region read replica in the target AWS region.

Explanation of the options:

A. This option involves creating an Amazon Aurora cluster in the target AWS region and using AWS Glue job to copy data from the source Aurora cluster to the target cluster. However, this approach requires a significant amount of setup and maintenance work, and data replication may not be real-time, leading to data inconsistency issues.

B. This option involves using a Lambda function to create a snapshot of the source Aurora cluster, perform a cross-region copy of the snapshot, and load the snapshot into the target Aurora cluster. However, snapshots are taken at a point-in-time, and if there is any data loss between the snapshot creation and the disaster occurrence, the recovery process may not be successful.

C. This option involves configuring VPC Peering between the two VPCs in the two AWS regions and creating a cross-region read replica in the target AWS region. VPC Peering allows the VPCs in different regions to communicate as if they were on the same network. A cross-region read replica provides a real-time, low-latency copy of the primary Aurora cluster in the target region, allowing for faster recovery in the event of a disaster. This solution also does not require any data copying or snapshotting, which reduces the risk of data inconsistency and reduces setup and maintenance work.

D. This option involves configuring the binlog_format parameter for the source Aurora cluster and creating a cross-region read replica in the target AWS region. However, this option does not provide any additional disaster recovery capability and may increase the risk of data inconsistency due to the potential delay in replication.

In summary, the optimal solution to improve the disaster recovery capability of an Amazon Aurora database cluster by creating additional read-replicas in a secondary AWS region is to configure VPC Peering between the two VPCs in the two AWS regions and create a cross-region read replica in the target AWS region.