Multi-Region Architecture with Amazon Aurora Global Database - Designing for DR and Global Reads
Achieve sub-second RPO through storage-layer physical replication. This guide covers planned and unplanned failover procedures and how to leverage Write Forwarding for global read workloads.
How Global Database Works
Aurora Global Database is a feature that replicates data from a primary region to up to 5 secondary regions. While standard cross-region read replicas use binlog-based logical replication, Global Database uses storage-layer physical replication. This keeps replication lag typically under 1 second with minimal impact on primary performance. It is available for both MySQL-compatible and PostgreSQL-compatible editions and requires instance classes of db.r6g.large or higher.
DR Design and Failover
Planned failover is used for maintenance or region migration, promoting a secondary region to primary with zero RPO. It stops writes on the primary, waits for replication to complete, and then switches over, resulting in no data loss. Unplanned failover is used during primary region outages and typically completes within 1 minute. There is a possibility of data loss equal to the replication lag, but RPO is typically under 1 second. After failover, you need to redirect application connections to the new primary. By combining Route 53 health checks with failover routing, you can achieve automatic DNS-level switchover.
Leveraging Global Reads
Read replicas in secondary regions can process read queries, providing low-latency reads to globally distributed users. With Tokyo as the primary region and Virginia as the secondary, US users read from the Virginia read replica while Japanese users read from the Tokyo primary. Writes are always processed in the primary region, so write-heavy workloads favor users closer to the primary region. When you enable the Write Forwarding feature, write requests to secondary regions are automatically forwarded to the primary, eliminating the need for region-routing logic on the application side. To deepen your knowledge of database design, you can also explore specialized books on Amazon.
Global Database Pricing
The additional cost for Global Database comes from replicated data write I/O. Replication I/O in secondary regions costs approximately $0.20 per million requests. Instance and storage pricing in secondary regions is the same as standard Aurora, and read replica instance classes do not need to match the primary; you can choose smaller instances based on read load. If using replicas solely for DR without serving read traffic, you can keep them on minimal instances and scale up during failover to reduce costs. Cross-region data transfer charges do not apply to Global Database replication.
Summary
Aurora Global Database delivers multi-region DR with sub-second RPO and reduces latency for global read workloads. Planned failover provides zero-RPO region switching, while unplanned failover offers recovery within 1 minute. It is an optimal choice for the data layer of global applications.