How it works
- A primary cluster (read/write) in one region and up to 10 secondary clusters (read-only) in other regions.
- Storage-level replication, typically under 1 second of lag.
- Secondary clusters can serve local reads; write forwarding (where supported) lets apps send writes from the secondary region to the primary.
1. Create
aws rds create-global-cluster --global-cluster-identifier crm-global \
--source-db-cluster-identifier arn:aws:rds:ap-south-1:111122223333:cluster:crm-aurora
aws rds create-db-cluster --region ap-south-2 --db-cluster-identifier crm-aurora-dr \
--global-cluster-identifier crm-global --engine aurora-postgresql --engine-version 16.4 \
--db-subnet-group-name db-private --vpc-security-group-ids sg-db-dr --kms-key-id <dr-region-key>
aws rds create-db-instance --region ap-south-2 --db-instance-identifier crm-aurora-dr-1 \
--db-cluster-identifier crm-aurora-dr --engine aurora-postgresql --db-instance-class db.r7g.large
Size the secondary's instances so they can carry production writes after failover.
2. Monitor lag
CloudWatch metric AuroraGlobalDBReplicationLag (milliseconds) on the secondary; alarm if it exceeds your RPO target. For Aurora PostgreSQL, the rds.global_db_rpo parameter can enforce a maximum RPO by pausing commits if the secondary falls behind.
3. Planned switchover (no data loss)
For drills and region moves; the primary and secondary swap roles while staying in sync:
aws rds switchover-global-cluster --global-cluster-identifier crm-global \
--target-db-cluster-identifier arn:aws:rds:ap-south-2:111122223333:cluster:crm-aurora-dr
4. Unplanned failover (region outage)
aws rds failover-global-cluster --region ap-south-2 --global-cluster-identifier crm-global \
--target-db-cluster-identifier arn:aws:rds:ap-south-2:111122223333:cluster:crm-aurora-dr \
--allow-data-loss
The secondary becomes the new primary; recent transactions not yet replicated may be lost (typically under a second). When the old region recovers, Aurora can rebuild the old primary as a secondary.
5. Application connectivity
- The global writer endpoint (where available) follows the primary across regions, so applications don't need a new connection string after switchover/failover.
- Otherwise, use a Route 53 CNAME you update, or service discovery.
- Application tier in the DR region must be running (warm standby) or deployable quickly.
6. Drill checklist
- Switchover in a maintenance window, measure write downtime
- Apps reconnect without config changes
- Secrets/IAM auth work in the DR region
- Switch back, verify replication healthy
Note
Global Database protects against a regional outage, not against bad writes. A dropped table replicates in under a second. Keep backtrack (Aurora MySQL), PITR and snapshots.