AWS Database Services: Read Replicas
In the AWS ecosystem, specifically within Amazon RDS and Aurora, Read Replicas are the primary mechanism for scaling read-heavy database workloads. By offloading read traffic from the primary instance to one or more replicas, you ensure that your application remains performant even under heavy load.
Core Concepts & Architecture
Amazon RDS uses the engines’ native replication features to create a special type of DB instance from a source DB instance. The source becomes the Primary, and the copy becomes the Read Replica.
- Asynchronous Replication: Updates to the Primary are eventually reflected in the Replicas. There is a slight “Replica Lag.”
- Endpoints: Each Read Replica has its own DNS endpoint. Your application must be configured to send read queries (SELECT) to these endpoints.
- Promotion: A Read Replica can be “promoted” to become a standalone Primary database instance if needed.
RDS Read Replicas vs. Multi-AZ Deployment
| Feature | Read Replicas | Multi-AZ Deployment |
|---|---|---|
| Primary Purpose | Scalability (Read performance) | High Availability (HA) & Durability |
| Replication Type | Asynchronous | Synchronous |
| Backups | Not required on replica | Taken from Standby (no impact on Primary) |
| Region/AZ | Can be Cross-AZ or Cross-Region | Strictly Cross-AZ (within one Region) |
| Usage | Active (can be queried) | Passive (cannot be queried) |
Advanced Configurations
Cross-Region Read Replicas
Ideal for Disaster Recovery (DR) and reducing latency for global users. By placing a replica in a different geographic region, you ensure data is available even if an entire AWS Region faces an outage.
Aurora Replicas
Amazon Aurora handles replicas differently. It uses a shared storage volume, meaning there is virtually no “Replica Lag” (usually < 100ms). Aurora can have up to 15 replicas, and they can act as failover targets automatically.
Decision Matrix: If-Then Guide
- If you need to scale read traffic for a reporting app… Then use Read Replicas.
- If you need automatic failover for production uptime… Then use Multi-AZ.
- If you need to reduce latency for users in Europe while your DB is in US-East… Then use Cross-Region Read Replicas.
- If you need to run heavy BI (Business Intelligence) queries without slowing down the main app… Then point the BI tool to a Read Replica.
Exam Tips and Gotchas
- Promotion: Promoting a replica to a Primary breaks the replication link. It becomes a standalone DB.
- Encryption: If the Primary is encrypted, the Read Replicas must also be encrypted.
- Limit: Standard RDS allows up to 5 Read Replicas per Primary. Aurora allows up to 15.
- Cost: You pay for the instance hour and the storage of each Read Replica. Cross-region data transfer also incurs costs.
- Requirement: To create a Read Replica in RDS, automatic backups must be enabled on the Primary.
Topics covered :
Summary of key subtopics covered in this guide:
- Asynchronous vs. Synchronous replication.
- Difference between High Availability (Multi-AZ) and Scalability (Read Replicas).
- Cross-Region replication for DR and Latency.
- Aurora-specific replication benefits (Shared Storage).
- Operational requirements (Backups enabled).
Read Replica Architecture Infographic
Integrations
IAM: Control who can create/promote replicas.
CloudWatch: Monitor ReplicaLag metrics.
KMS: Manages keys for encrypted replicas.
Scaling
Offload expensive SELECT queries. Use for Business Intelligence (BI) and heavy reporting without affecting the transactional Primary DB.
Optimization
Data transfer within the same AZ is free. Cross-AZ and Cross-Region transfers incur standard AWS data transfer charges.
us-east-1. To provide fast page loads for customers in eu-central-1 (Frankfurt), they deploy a Cross-Region Read Replica in Frankfurt. The local application servers read product data from the local replica, minimizing latency.