SAABlog
DatabaseIntermediate

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.

PHILOLAMB-Updated: January 31, 2026
RDSMulti-AZRead ReplicaHigh AvailabilityDatabase

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

ComparisonMulti-AZRead Replica
Primary PurposeHigh availability/FailoverRead scaling
ReplicationSynchronousAsynchronous
Read Traffic❌ Not allowed✅ Allowed
Auto Failover✅ Supported❌ Manual promotion
RegionSame region onlySame/Cross region
Count Limit1-2 standbyUp to 15
Data LagNone (synchronous)Yes (asynchronous)
Additional CostStandby instance costReplica 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

FeatureDescription
Max CountRDS: 5, Aurora: 15
RegionSame region / Cross-region
Replication LagMilliseconds to seconds (async)
Separate EndpointEach replica has unique DNS
Can Be PromotedCan 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

RequirementChoice
Need auto failoverMulti-AZ
Need read scalingRead Replica
Minimize downtimeMulti-AZ
Separate report/analytics queriesRead Replica
Replicate to different regionRead Replica
Minimize data lossMulti-AZ (synchronous)

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

ItemRDS Read ReplicaAurora Read Replica
Replication MethodLog-based asyncShared storage
Replication LagSeconds to minutesMilliseconds
Max Count515
Auto Failover✅ (Aurora cluster)
EndpointIndividual endpointsReader 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

  1. Multi-AZ Purpose: High availability, auto failover (NOT read scaling)
  2. Read Replica Purpose: Read scaling, manual promotion
  3. Replication Method: Multi-AZ = Synchronous, Read Replica = Asynchronous
  4. Failover: Multi-AZ = Auto (DNS maintained), Read Replica = Manual (endpoint changes)
  5. Cross-Region: Only Read Replica supports different regions
  6. 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.



References