Cross-Region Replication Monitor
Reference Implementation


Amazon Simple Storage Service (Amazon S3) offers cross-region replication, a bucket-level feature that enables automatic, asynchronous copying of objects across buckets in different AWS Regions. This feature can help companies minimize latency when accessing objects in different geographic regions, meet compliance requirements, and for operational purposes. Amazon S3 encrypts all data in transit across AWS Regions using SSL, and objects in the destination bucket are exact replicas of objects in the source bucket. For more information on cross-region replication, see the Amazon S3 Developer Guide.

Currently, AWS customers can retrieve the replication status of their objects manually or use an Amazon S3 inventory to generate metrics on a daily or weekly basis. To help customers more proactively monitor the replication status of their Amazon S3 objects, AWS offers the Cross-Region Replication Monitor (CRR Monitor) solution. The CRR Monitor automatically checks the replication status of Amazon S3 objects across different AWS Regions in a customers' account, providing near real-time metrics as well as failure notifications to help customers proactively identify failures and troubleshoot problems. The solution automatically provisions the necessary AWS services to monitor replication status, including AWS Lambda, Amazon CloudWatch, Amazon Simple Notification Service (Amazon SNS), AWS CloudTrail, Amazon Simple Queue Service (Amazon SQS), and Amazon DynamoDB and offers an option to use Amazon Kinesis Data Firehose to archive replication metadata in Amazon S3.

This guide assumes basic knowledge of Amazon S3 cross-region replication. It is also helpful to have working knowledge of Amazon S3, AWS Lambda, Amazon CloudWatch, Amazon SQS, Amazon SNS, and Amazon DynamoDB.


You are responsible for the cost of the AWS services used while running the CRR Monitor. The total cost for running this solution depends on the interval at which you run the Lambda functions.

As of the date of publication, the cost for running this solution with default settings in the US East (N. Virginia) Region is approximately $0.35 an hour, or less if you have AWS Lambda free tier monthly usage credit. This cost estimate assumes one million Lambda requests, and 100,000 AWS CloudTrail events.


Pricing does not include the cost for Amazon DynamoDB. These charges will vary depending on the data volume being processed. (e.g. for a little less than $0.25/day ($7.50/month), you could support an application that performs 1 million writes and reads per day, 100K read requests from Streams, and stores 1GB of data). For more information, see Amazon DynamoDB pricing.

This pricing is subject to change and does not reflect variable charges from Amazon S3 data storage and replication, and the Amazon Athena query service. For full details, see the pricing webpage for each AWS service you will be using this solution.

On this page: