RDS Multi-AZ vs Read Replica: When to Use Which?
Multi-AZ is for high availability (failover), Read Replica is for read scaling. Learn the differences and selection criteria for this SAA-C03 must-know topic.
Related Exam Domains
- Domain 2: Design Resilient Architectures
Key Takeaway
Multi-AZ is synchronous replication for high availability (failover), Read Replica is asynchronous replication for read scaling. For production, use Multi-AZ for availability, and add Read Replicas for read-heavy workloads. They complement each other.
Exam Tip
Exam Essential: Multi-AZ = High availability + Auto failover + Synchronous, Read Replica = Read scaling + Manual promotion + Asynchronous
Multi-AZ vs Read Replica at a Glance
| Comparison | Multi-AZ | Read Replica |
|---|---|---|
| Primary Purpose | High availability/Failover | Read scaling |
| Replication | Synchronous | Asynchronous |
| Read Traffic | ❌ Not allowed | ✅ Allowed |
| Auto Failover | ✅ Supported | ❌ Manual promotion |
| Region | Same region only | Same/Cross region |
| Count Limit | 1-2 standby | Up to 15 |
| Data Lag | None (synchronous) | Yes (asynchronous) |
| Additional Cost | Standby instance cost | Replica instance cost |
Multi-AZ Deployment
What is Multi-AZ?
Multi-AZ automatically maintains a synchronous standby replica in a different Availability Zone. On primary failure, it automatically fails over to the standby.
Multi-AZ Architecture (Instance deployment):
AZ-a AZ-b
┌──────────────────┐ ┌──────────────────┐
│ Primary DB │ ──────> │ Standby DB │
│ (Read/Write) │ Sync │ (Standby only) │
└──────────────────┘ Repl. └──────────────────┘
↑
Application connection
(Single DNS endpoint)
Multi-AZ Deployment Types
1. Multi-AZ DB Instance (1 standby)
- Primary + 1 standby
- Standby cannot serve read traffic
- Failover time: 1-2 minutes
2. Multi-AZ DB Cluster (2 readers) - New
- Writer + 2 readers (distributed across 3 AZs)
- Readers can serve read traffic
- Failover time: ~35 seconds
- Supported: MySQL, PostgreSQL
Auto Failover Triggers
Auto failover to standby occurs in these situations:
- Primary instance failure
- Availability Zone failure
- Instance type change
- DB engine patching
- Manual failover (option during reboot)
Failover Process
1. Primary instance failure detected
↓
2. DNS record updated (same endpoint maintained)
↓
3. Standby promoted to new primary
↓
4. Application auto-reconnects (no DNS change needed)
Duration: RDS 1-2 min, Aurora ~30 sec
Exam Tip
Exam Point: Multi-AZ failover DNS endpoint does NOT change. No application connection string modification needed.
Multi-AZ Use Cases
- Production workloads: Minimize downtime essential
- Compliance: Data durability requirements
- Automated maintenance: Minimize downtime during patching
- AZ failure protection: Protection from single AZ failure
Read Replica
What is Read Replica?
Read Replica asynchronously replicates data to distribute read traffic. It reduces load on the primary DB and improves performance.
Read Replica Architecture:
┌──────────────────┐
│ Primary DB │───────────────────────────────┐
│ (Read/Write) │ Asynchronous replication │
└──────────────────┘ │
↑ ↓ ↓
Write traffic ┌─────────────┐ ┌─────────────┐
│ Read Replica │ │ Read Replica │
│ (Read-only) │ │ (Read-only) │
└─────────────┘ └─────────────┘
↑ ↑
Read traffic Read traffic
Read Replica Key Features
| Feature | Description |
|---|---|
| Max Count | RDS: 5, Aurora: 15 |
| Region | Same region / Cross-region |
| Replication Lag | Milliseconds to seconds (async) |
| Separate Endpoint | Each replica has unique DNS |
| Can Be Promoted | Can become independent DB |
Read Replica Usage Patterns
1. Read Scaling
Primary: INSERT, UPDATE, DELETE (writes)
Replica: SELECT (reads) - reports, analytics, search
2. Cross-Region Replication
Seoul Region (Primary) → Virginia Region (Replica)
- Reduce latency for global users
- Disaster recovery preparation
3. Promote to Independent DB
Test environment setup:
Primary → Create Read Replica → Promote → Independent DB (for testing)
Read Replica Promotion
You can promote a Read Replica to an independent DB instance:
- No longer replicates after promotion
- Becomes independent DB with read/write capability
- Use for DR via manual promotion
Promotion Scenario:
1. Primary DB fails
2. Manually promote Read Replica to independent DB
3. Update application connection string (new endpoint)
4. Resume service with new DB
Exam Tip
Note: Read Replica promotion is manual and endpoint changes after promotion. Different from Multi-AZ auto failover.
Multi-AZ vs Read Replica Selection Criteria
Selection by Requirement
| Requirement | Choice |
|---|---|
| Need auto failover | Multi-AZ |
| Need read scaling | Read Replica |
| Minimize downtime | Multi-AZ |
| Separate report/analytics queries | Read Replica |
| Replicate to different region | Read Replica |
| Minimize data loss | Multi-AZ (synchronous) |
Combined Usage (Recommended)
Production environments commonly use both:
Recommended Architecture:
Multi-AZ (High Availability)
┌───────────────────────┐
│ │
AZ-a │ AZ-b │
┌─────────────┐ ┌─────────────┐ │
│ Primary │→ │ Standby │ │
│ (R/W) │ │ (failover) │ │
└─────────────┘ └─────────────┘ │
│ │
└───────────────────────┘
│
│ Async replication
↓
┌─────────────┐ ┌─────────────┐
│ Read Replica│ │ Read Replica│
│ (read-only) │ │ (read-only) │
└─────────────┘ └─────────────┘
AZ-a AZ-c
Read Replica (Read Scaling)
Scenario-Based Solutions
Scenario 1: Production DB High Availability
Requirement: 24/7 operation, minimize downtime
Solution: Multi-AZ deployment
Reason: Auto failover recovers within 1-2 minutes
Scenario 2: Read Load Distribution
Requirement: Heavy SELECT queries, report generation
Solution: Add Read Replicas
Reason: Distribute read traffic to replicas
Scenario 3: Global User Support
Requirement: Reduce latency for US, Europe users
Solution: Cross-region Read Replicas
Reason: Serve reads from replicas in each region
Scenario 4: Disaster Recovery (DR)
Requirement: Recovery plan for region failure
Solution: Cross-region Read Replica + manual promotion
Reason: Promote replica in different region if source region fails
Scenario 5: Separate Analytics Queries
Requirement: Run analytics queries without affecting OLTP
Solution: Run analytics on Read Replica
Reason: No impact on primary DB performance
Aurora Read Replicas
Aurora handles replication differently from standard RDS:
Aurora vs RDS Read Replica
| Item | RDS Read Replica | Aurora Read Replica |
|---|---|---|
| Replication Method | Log-based async | Shared storage |
| Replication Lag | Seconds to minutes | Milliseconds |
| Max Count | 5 | 15 |
| Auto Failover | ❌ | ✅ (Aurora cluster) |
| Endpoint | Individual endpoints | Reader endpoint (auto load balancing) |
Aurora Cluster Endpoints
Aurora Endpoints:
1. Cluster Endpoint (Writer)
→ For write operations, connects to current writer
2. Reader Endpoint
→ For read operations, auto load balances across Read Replicas
3. Instance Endpoint
→ Direct connection to specific instance
Exam Tip
Exam Point: Aurora Read Replicas support auto failover. If writer fails, one of the Read Replicas is automatically promoted to writer (~30 seconds).
SAA-C03 Exam Focus Points
- ✅ Multi-AZ Purpose: High availability, auto failover (NOT read scaling)
- ✅ Read Replica Purpose: Read scaling, manual promotion
- ✅ Replication Method: Multi-AZ = Synchronous, Read Replica = Asynchronous
- ✅ Failover: Multi-AZ = Auto (DNS maintained), Read Replica = Manual (endpoint changes)
- ✅ Cross-Region: Only Read Replica supports different regions
- ✅ Aurora: Read Replicas also support auto failover
Exam Tip
Sample Exam Question: "A company runs an RDS MySQL database. Monthly report queries are affecting transaction performance. What's the most cost-effective solution?" → Answer: Create Read Replica and run report queries there (Multi-AZ doesn't support read distribution)
Frequently Asked Questions
Q: Can I send read traffic to Multi-AZ standby?
No. Multi-AZ DB Instance standby is for failover only and cannot be directly connected. Use Read Replicas for read distribution. However, Multi-AZ DB Cluster reader instances can serve read traffic.
Q: Can I configure Multi-AZ for a Read Replica?
Yes. You can configure a Read Replica itself as Multi-AZ to increase replica availability. Useful for cross-region Read Replica DR scenarios.
Q: Is there data loss during Multi-AZ failover?
No. Multi-AZ uses synchronous replication so standby always has the latest data. However, in-progress transactions may be rolled back during failover.
Q: How much is Read Replica replication lag?
Typically milliseconds to a few seconds. Varies by network bandwidth, write load, and replica instance performance. Monitor with CloudWatch's ReplicaLag metric.
Q: What's the cost for cross-region Read Replica?
Data transfer costs apply. Outbound data transfer charges apply for cross-region replication. Same-region replication is free.
Q: Does promoting a Read Replica stop replication?
Yes. The promoted instance becomes an independent DB with no replication relationship to the original. Create a new Read Replica to restore replication.
Related Posts
- Aurora vs RDS: Which Should You Choose?
- DynamoDB Global Tables
- DR Strategies (Backup/Restore, Pilot Light, Warm Standby, Active-Active)