Multi-Region Asynchronous Object Replication Solution

This guidance automatically provisions and configures all the AWS services necessary to set up a multi-region replication configuration with Amazon S3 buckets.

This guidance is designed for workloads that can tolerate lost events and variations in replication speed. For example, you can use this guidance to provide local copies of data for multi-regional applications or distributed teams, or to create a global view of applications that run on active/active clusters across multiple regions.

If you must maintain objects in multiple regions to comply with business or regulatory requirements, you can use this guidance to build an architecture that can help automate that process.

Overview

The diagram below presents the architecture you can build using the example code on GitHub.

Multi-Region Asynchronous Object Replication Solution | Architecture Diagram
 Click to enlarge

Multi-Region Asynchronous Object Replication Guidance architecture

The AWS CloudFormation template deploys the AWS Lambda functions and AWS Identity and Access Management (IAM) roles necessary to set up a multi-region asynchronous object replication environment in your account. The template creates four Lambda functions: one function that enables you to create regional Amazon Simple Storage Service (Amazon S3) buckets, one function that enables you to delete regional buckets, one function that configures the regional Amazon DynamoDB tables that track replication changes, and one function that deploys AWS CloudFormation templates that deploy the solution’s base regional resources.

Base regional resources consist of an Amazon S3 bucket, an Amazon Simple Queue Service (Amazon SQS) queue, the queue processor and stream processor Lambda functions, and a DynamoDB table.

When you upload objects to a regional bucket, a message is sent through the Amazon SQS queue to the queue processor. The queue processor adds the message to a DynamoDB global table. The global table replicates the message to all other regions in your configuration which triggers the stream processor functions in those regions. Each stream processor copies the object from the source region to its regional bucket.

Multi-Region Asynchronous Object Replication

Version 1.0
Last updated: 02/2020
Author: AWS

Additional resources

Did this Guidance help you?
Provide feedback 

Features

Automation

Build an architecture that automates the replication of Amazon S3 objects across multiple regions.

Flexibility

You can use this guidance for a variety of uses cases including providing local copies of data for multi-regional applications or distributed teams.
Build icon
Deploy a Solution yourself

Browse our library of AWS Solutions Implementations to get answers to common architectural problems.

Learn more 
Find an APN partner
Find an APN Partner

Find AWS certified consulting and technology partners to help you get started.

Learn more 
Explore icon
Explore Solutions Consulting Offers

Browse our portfolio of Consulting Offers to get AWS-vetted help with solution deployment.

Learn more