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