Multi-Region HA
Architecturemicroservicesdata
Active-active regions: health-checked failover, global tables, CRR
Open & fork this on Zstem →Architecture
- Global Edge: DNS + anycast traffic steering
- us-east-1: Primary region stack
- eu-west-1: Secondary region stack
- Global Users: Routed to the closest healthy region
- Route 53: Health-checked failover records; pulls a region out on check failure
- Global Accelerator: Static anycast IPs; shifts traffic between regional endpoints in seconds
- ALB (us-east-1): Regional entry; target-group health drives GA endpoint weight
- ECS (us-east-1): Stateless service tier; scales independently per region
- Global Table (us-east-1): Replica with local low-latency writes
- Assets (us-east-1): Regional asset bucket, source of cross-region replication
- ALB (eu-west-1): Regional entry; target-group health drives GA endpoint weight
- ECS (eu-west-1): Stateless service tier; scales independently per region
- Global Table (eu-west-1): Replica receiving multi-master replication
- Assets (eu-west-1): CRR destination; ready if the primary bucket region fails
Workflow
- Primary health check fails
- Confirm outage (3 consecutive fails)
- Regional outage?
- Instance-level recovery: replace unhealthy tasks, no failover
- Recovered in place
- Route 53 fails over to secondary
- Scale out secondary ECS
- Verify global table replication lag < 1s
- Flip write endpoint to secondary
- Page on-call + update status page
- Primary region recovery
- Fail back + reconcile writes
- Steady state restored