We moved to a three-region active-active setup over six months. The architecture diagrams made it look simple. The implementation was not.

Route53 latency routing is not magic

Route53 latency-based routing sends users to the region with the lowest measured latency — but the measurement is based on AWS's IP ranges, not actual user location. For users in Nepal, this sometimes means routing to Singapore instead of Mumbai because the latency measurements don't reflect local ISP conditions.

RDS cross-region replication lag

Cross-region read replicas in RDS have non-trivial lag — anywhere from a few seconds to several minutes depending on write volume and distance. If your application reads its own writes, you'll hit consistency issues after a failover.

Terraform provider aliases

provider "aws" { alias = "ap"; region = "ap-south-1" }
provider "aws" { alias = "us"; region = "us-east-1"  }
provider "aws" { alias = "eu"; region = "eu-west-1"  }