How to Effectively Use Amazon S3 Replication for Data Duplication

Jay TilluJay Tillu
5 min read

Arjun had a growing application with users across the world. One day, he wondered:

“What if my users in Europe could access data faster? What if a regional outage wiped out everything — do I have a copy elsewhere?”

That’s when his mentor introduced him to a powerful S3 feature: Replication.


🌍 What Is Amazon S3 Replication?

Amazon S3 Replication lets you automatically copy your objects from one bucket to another — either in the same region or across different regions.

There are two types:

TypeNamePurpose
🌐 CRRCross-Region ReplicationCopy objects to a bucket in another region
🏠 SRRSame-Region ReplicationCopy objects to a bucket in the same region

🧪 How Does Replication Work?

When enabled:

  • New objects or updated versions in the source bucket are automatically copied to the destination bucket.

  • The replication is asynchronous — it happens in the background, not instantly.

  • AWS handles the copying process — you don’t have to write any code!


✅ Prerequisites for S3 Replication

Arjun learned that replication doesn’t work out of the box. Here’s what you must do first:

  1. Enable versioning on both the source and destination buckets

  2. Give S3 the right IAM permissions to:

    • Read from the source bucket

    • Write to the destination bucket

  3. Set up replication rules in the source bucket configuration

“Without versioning, replication won’t work,” Arjun noted.


🌐 CRR: Cross-Region Replication

CRR lets you copy data across AWS regions, for example:

  • From us-east-1 to eu-west-1

🧠 Why Use CRR?

Use CaseBenefit
Disaster recoveryIf one region goes down, data is safe in another
Compliance requirementsMeet data residency or backup policies
Low-latency accessServe users in other geographies faster
Cross-account replicationSend data to a different AWS account for security or team isolation

🏠 SRR: Same-Region Replication

SRR replicates data within the same AWS region, for example:

  • From one bucket in us-west-2 to another in us-west-2

🧠 Why Use SRR?

Use CaseBenefit
Log aggregationCollect logs from multiple buckets into one
Live test/prod separationReplicate production data into a test account
Data segregationCreate isolated backups or archives without changing regions

⚙️ How Arjun Set Up Replication

Here’s what he did:

  1. Enabled versioning on both source and destination buckets

  2. Created a replication rule:

    • Selected prefix: logs/ (only replicate objects with that path)

    • Applied to all objects

  3. Allowed the S3 service role to replicate data by granting IAM permissions

  4. Saved the rule — and replication began!

✅ Now every object uploaded to myapp-logs-source was automatically copied to myapp-logs-backup.


📘 Important Notes

FeatureBehavior
Not retroactiveExisting files are NOT copied — only new ones after rule is enabled
AsynchronousThere’s a slight delay between uploading and replication
Object OwnershipCan be retained or changed depending on settings (e.g., for cross-account use)
Storage costsYou pay for data stored in both buckets

🔄 Only New Objects Are Replicated

Once you turn on replication, it only applies to new uploads after the rule is enabled.

“Wait… my old files aren’t copying over?”
Exactly — they don’t.


📦 Use Batch Replication for Old Files

To replicate existing objects (those uploaded before replication was enabled), Arjun had to use S3 Batch Replication.
It also helps reprocess failed replications if any objects didn’t copy properly.


❌ Permanent Deletions Are Not Replicated

If Arjun deletes a file permanently (by version ID), it won’t be copied to the target bucket.

This is a safety feature to avoid accidental or malicious deletions spreading across buckets.


🗑️ Delete Markers Can Be Replicated (Optional)

If versioning is enabled and Arjun deletes a file normally, a delete marker is created.
He can choose whether or not to replicate that delete marker to the destination bucket.


🚫 No Chained Replication

If he sets up:

  • Bucket A → Bucket B

  • Bucket B → Bucket C

Then Bucket A’s objects won’t go to Bucket C.

Replication only happens between directly linked buckets, not through chains.


🎯 SAA Exam Tips

  • CRR ≠ SRR — Know when to use each

  • Versioning is required

  • Permissions are required for S3 to copy objects

  • Replication is not instant (eventual consistency applies)


🧠 Arjun’s Final Takeaway

“With replication, my data isn’t just stored — it’s protected, available across regions, and structured for future use. It’s like having a real-time backup strategy that runs itself.”

Now Arjun sleeps better knowing his user data is safe, even if one region disappears.


More AWS SAA Articles

Follow me for more such content

0
Subscribe to my newsletter

Read articles from Jay Tillu directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Jay Tillu
Jay Tillu

Hello! I'm Jay Tillu, an Information Security Engineer at Simple2Call. I have expertise in security frameworks and compliance, including NIST, ISO 27001, and ISO 27701. My specialities include Vulnerability Management, Threat Analysis, and Incident Response. I have also earned certifications in Google Cybersecurity and Microsoft Azure. I’m always eager to connect and discuss cybersecurity—let's get in touch!