AWS RDS Read Replicas

Introduction

AWS RDS provides you the Read Replicas for efficient performance of application requested queries, when you enable the Read Replicas the Write operations are managed by the primary instance. You can reduce the load on source primary DB by routing the application read queries to the read replica. RDS uses the MySQL, PostgreSQL, and Maria DB engines built in functionality to create special type of instance from source RDS instance it is called Read Replica. However you can not create Read Replica in EC2 instances.

Promoting Source DB instance to Read Replica

AWS enables you to promote the stand alone source DB instance to Read Replica for optimized performance.  The DB backup retention period is up to 35 days,  and you can change the backup retention according to your requirement.

The RDS instance automatically performs backup by taking snap shots at scheduled time window, and you can restore your backup data at any point of time within a retention period. These automated backups are stored in to S3 with free storage space which is equal to the size of the db instance.

Scaling Read Replicas

You can scale the resources such as DB instance Class, storage and storage type of DB read replicas to enhance the operations and it's functionality.

Replication to Another Regions

AWS allows you cross region read replica, it  replicates your RDS SourceDB instance to any other region.

Migration

You can migrate the snap shots of MySQL/MariaDB engines to Aurora DB engine and vice versa.

Aurora Replicas

Aurora Replicas are independent endpoints in an Aurora DB cluster, best used for scaling read operations and increasing availability. Up to 15 Aurora Replicas can be distributed across the Availability Zones that a DB cluster spans within an AWS Region.  Aurora Replicas work well for read scaling because they are fully dedicated to read operations on your cluster volume. the minimum replication lag is less than 100 milliseconds after the primary instance has written an update.

Aurora allows you to create an additional Aurora replica and to distribute the load on read only for your db cluster. For fault tolerance, you can choose a failover priority for the instance. If you don not select a value, the default is "tier-1". This priority determines the order in which Aurora Replicas are promotes when recovering from a primary instance failure.

Note: Rebooting the primary instance of an Amazon Aurora DB cluster also automatically reboots the Aurora Replicas for that DB cluster, in order to re-establish an entry point that guarantees read/write consistency across the DB cluster.

Replication with Amazon Aurora PostgreSQL

The PostgreSQL Read Replicas must apply, on a single thread, all write operations from the master DB instance to their local data store. This limitation can affect the ability of PostgreSQL Read Replicas to support large volumes of read traffic. You can monitor how far an Aurora Replica is lagging behind the primary instance of your Aurora PostgreSQL DB cluster by monitoring the Amazon CloudWatch "ReplicaLag" metric.

End Note

The Read Replicas are used for scaling the DB resources for operational efficiency not for disaster recovery.