Configure S3 Cross-Region and Same-Region Replication for disaster recovery, compliance, and data distribution. Understand replication requirements.
S3 Replication — Copy Objects Across Buckets
S3 Replication automatically copies objects from one S3 bucket to another. You configure replication rules and AWS handles the copying asynchronously in the background.
Cross-Region Replication (CRR)
CRR copies objects to a bucket in a DIFFERENT AWS region. Use cases:
- Disaster Recovery: have a copy in another region if primary region fails
- Data Sovereignty: keep EU data in EU, replicate for analytics to us-east-1
- Reduced latency: replicate data closer to users in different regions
- Legal requirement: some regulations require geographic data distribution
Same-Region Replication (SRR)
SRR copies objects within the SAME AWS region. Use cases:
- Log aggregation: copy logs from multiple source buckets to one central audit bucket
- Development: replicate production data to dev environment bucket
- Account separation: copy data between accounts while keeping in same region
Replication Requirements
- Versioning must be enabled on BOTH source and destination buckets
- Replication copies NEW objects going forward — does NOT retroactively replicate existing objects
- To replicate existing objects: use S3 Batch Replication or run aws s3 sync
- Delete markers are not replicated by default (can be enabled)
- Replication is asynchronous — small replication lag (usually seconds to minutes)
# Enable replication via CLI
aws s3api put-bucket-replication
--bucket source-bucket
--replication-configuration file://replication.json
# replication.json
{
"Role": "arn:aws:iam::...:role/S3ReplicationRole",
"Rules": [{
"Status": "Enabled",
"Filter": {"Prefix": "important/"},
"Destination": {
"Bucket": "arn:aws:s3:::destination-bucket",
"StorageClass": "STANDARD_IA"
}
}]
}
Exam Tip: Replication does NOT replicate existing objects — only new objects created AFTER replication is enabled. For existing data, use S3 Batch Replication (console) or aws s3 sync (CLI). Also: you can replicate to a DIFFERENT storage class in the destination — replicate to Standard-IA to save costs on DR copies.