Why replicate across regions
A single region can fail entirely from a disaster or outage. Cross region replication copies objects from a source bucket to a bucket in another region, giving disaster recovery, lower read latency for distant users, and sometimes compliance with data residency rules.
How it works
Replication is typically asynchronous. A write commits in the source region and returns, then a background process ships the new object to the destination. This means the destination lags by a replication delay, so a read there right after a write may miss the object.
The tradeoffs
- RPO: the asynchronous lag sets the recovery point objective, the window of writes that could be lost if the source dies before they replicate.
- Conflicts: if both regions accept writes, you need a rule like last writer wins or per region key prefixes to avoid divergence.
- Cost: replication doubles storage and adds cross region transfer charges.
- Selectivity: rules can replicate only certain prefixes or storage classes to control cost.
Key idea
Cross region replication asynchronously copies objects to another region for durability and latency, trading a replication lag and extra cost for disaster recovery.