Skip to main content

AWS Solutions Library

Guidance for Rolling Back Changes to Datasets in Amazon S3

Overview

This Guidance demonstrates how to recover Amazon S3 datasets at scale by reverting to a specified point-in-time using S3 Versioning. The process begins by deploying an AWS CloudFormation template that creates Athena queries to identify necessary object actions. Lambda functions then orchestrate these queries and create S3 Batch Operations using CSV manifests, efficiently restoring the bucket to its previous state. You can restore millions of objects quickly, with the ability to revert 1 million changes in a 10-billion-object bucket in under an hour, or handle smaller restorations in just 15 minutes.

Benefits

    Deploy a serverless solution that can restore your S3 bucket to a previous state in minutes or hours, depending on scale. This tool can revert thousands of changes in smaller buckets in under 15 minutes, helping you quickly recover from accidental deletions or corruptions.

    Leverage fully managed AWS services like Lambda, Athena, and S3 Batch Operations to handle complex rollback operations without managing infrastructure. The solution automatically identifies necessary actions through Athena queries and orchestrates the restoration process, allowing your team to focus on core business activities.

    Handle massive data recovery operations efficiently across billions of objects in your S3 buckets. The architecture can detect and revert 1 million changes in a bucket containing 10 billion objects in under an hour, providing enterprise-grade recovery capabilities for your most critical storage environments.

How it works

These technical details feature an architecture diagram to illustrate how to effectively use this solution. The architecture diagram shows the key components and their interactions, providing an overview of the architecture's structure and functionality step-by-step.

Deploy with confidence

Ready to deploy? Review the sample code on GitHub for detailed deployment instructions to deploy as-is or customize to fit your needs. 

Go to sample code

Disclaimer

The sample code; software libraries; command line tools; proofs of concept; templates; or other related technology (including any of the foregoing that are provided by our personnel) is provided to you as AWS Content under the AWS Customer Agreement, or the relevant written agreement between you and AWS (whichever applies). You should not use this AWS Content in your production accounts, or on production or other critical data. You are responsible for testing, securing, and optimizing the AWS Content, such as sample code, as appropriate for production grade use based on your specific quality control practices and standards. Deploying AWS Content may incur AWS charges for creating or using AWS chargeable resources, such as running Amazon EC2 instances or using Amazon S3 storage.

Did you find what you were looking for today?

Let us know so we can improve the quality of the content on our pages