How to replicate S3 buckets across AWS accounts
Keep a copy of your S3 data in a different AWS account for isolation and disaster recovery — scheduled, incremental, and verifiable.
Why a second account
A backup in the same AWS account shares the account's blast radius: a compromised credential, a runaway script, or a billing suspension can take the original *and* the copy. Replicating to a different account (often in a different region too) is the standard answer — the copy survives anything that happens to the first account.
AWS's native S3 Replication can do this, but it's per-bucket configuration with IAM policies on both sides, only replicates objects written *after* it's enabled, and needs a batch job for backfill.
How to do it in BucketPilot
- 1.Connect both AWS accounts as credentials (the one-click CloudFormation role works per account).
- 2.Discover buckets and import the source bucket from account A and the destination bucket from account B — they sit side by side in one console.
- 3.Create a replication job: source, destination, optional prefix, and a schedule (hourly, daily, or weekly).
- 4.Check the first run's log — per-object events show exactly what copied, skipped, or failed.
Runs are incremental — only new or changed objects transfer — and everything streams, so object size isn't a limit. The job's run history is your evidence that the copy is current; failures notify you instead of failing silently.