Replicating AWS Aurora DB Clusters Across AWS Regions

As of writing this article around mid-march 2019

  1. You can create an Amazon Aurora DB cluster as a Read Replica in a different AWS Region than the source DB cluster. 
  2. Taking this approach can improve your disaster recovery capabilities, let you scale read operations into a region that is closer to your users, and make it easier to migrate from one region to another.
  3. You can create Read Replicas of both encrypted and unencrypted DB clusters.
  4. The Read Replica must be encrypted if the source DB cluster is encrypted.
  5. When you create an Aurora DB cluster Read Replica in another region, you should be aware of the following:
    1. In a cross-region scenario, there is more lag time between the source DB cluster and the Read Replica due to the longer network channels between regions.
    2. Data transferred for cross-region replication incurs Amazon RDS data transfer charges. The following cross-region replication actions generate charges for the data transferred out of the source region:
      • When you create the Read Replica, Amazon RDS takes a snapshot of the source cluster and transfers the snapshot to the Read Replica region.
      • For each data modification made in the source databases, Amazon RDS transfers data from the source region to the Read Replica region.
    3. For each source DB cluster, you can only have one cross-region Read Replica DB cluster.
    4. Both your source DB cluster and your cross-region Read Replica DB cluster can have up to 15 Aurora Replicas along with the primary instance for the DB cluster. This functionality lets you scale read operations for both your source region and your replication target region.
    5. Before you can create an Aurora DB cluster that is a cross-region Read Replica, you must enable binary logging on your source Aurora DB cluster. Amazon Aurora cross-region replication uses MySQL binary replication to replay changes on the cross-region Read Replica DB cluster.
    6. To enable binary logging on an Aurora DB cluster, update the binlog_format parameter for your source DB cluster.
    7. The binlog_format parameter is a cluster-level parameter that is in the default.aurora5.6 cluster parameter group by default. 

Step-by-step guide

References:

Cost Estimates: Approximate Cost estimates for Multi-Region / Global Database

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.

Published by Sudheer Kondla

I am a software developer, devOps engineer, database and sys admin and software architect helping small to enterprise companies in many verticals. Have been in IT industry for more than 20+ years worked on very large platforms, dealing with battle tested software development, scaling, high availability , disaster recovery and fire-fighting scenarios.

Leave a comment

Design a site like this with WordPress.com
Get started