Multi-AZ Deployments
- The main purpose is high availability – failover
- It happens automatically in the background
- It can be enabled on the database creation or after
- Synchronous replication (except for Aurora — asynchronous)
- Always span at least two Availability Zones within a single region
- Benefits include
- Enhanced durability
- Increased availability
- Protection of your database performance
- Automatic failover
Read Replicas
- The main purpose is scalability, performance improvements, not failover
- Apps can read from replicas while writing to the primary instance
- It provides improved efficiency by separating reads and writes
- Read replicas can be promoted to master
- A good option for Disaster Recovery (DR) and migration, e.g. where read replicas can be placed and restored in another region
- Promotion is a manual task
- The replication process is async (near real-time) and will cause CPU spikes on the primary instance
- All read replicas are accessible and can be used for read-scaling
Multi-Region Deployments
- The main purpose is disaster recovery and local performance
- Asynchronous replication
- All regions are accessible and can be used for reads
- Automated backups can be taken in each region
- Each region can have a Multi-AZ deployment
- Database engine version upgrade is independent in each region; Aurora: all instances are updated together