How to save an Amazon EBS snapshot to S3

I'd like to back up an Elastic Block Store volume to AWS S3. What do I have to do and what are the associated costs?

Saving Elastic Block Store volumes to S3 is simple and inexpensive and can preserve critical data. But backing up data is paramount to avoid disaster. Taking frequent snapshots of Amazon EBS-backed EC2 volumes enables architects to evolve the architecture in parallel with AWS's services.

Lost data can result in lost business. While Amazon EBS and Simple Storage Service (S3) are highly available, redundant and durable storage services, they are not impervious to human error. Establishing a routine maintenance schedule to consistently capture point-in-time EBS snapshots enables admins to recover data at any point in the past. Adding relevant tags -- time, version or description of the contents -- allows IT teams to quickly identify the desired snapshot and recover lost data.

As easy as it is to find and recover past Amazon EBS snapshots, it's just as easy to migrate EBS snapshots to other AWS regions. From the AWS Management Console, select a snapshot, choose Copy from the dropdown menu and then choose a new region.

Cloud architects can also use snapshots to keep pace with changing EC2 hardware, migrate EBS volumes to better use AWS storage options, dynamically resize EBS volumes attached to EC2 instances, or relaunch an AWS EC2 instance that has crashed. Remember: EBS volumes are persistent, so no data is lost if an EC2 crashes. An Amazon EBS volume is replicated only in its availability zone; snapshots are saved to AWS S3 and, thus,replicated across AZs in the region.

To take a snapshot, go to the AWS EC2 console and select Volumes, then identify the volume whose snapshot is to be taken by noting the EC2 instance ID in the Attachment Information area. Next, click on the correct Volume ID and select Create Snapshot. Snapshots capture only data that has been saved to an EBS volume at the point in time the snapshot was taken.

Amazon EBS pricing

Current EBS pricing is contingent on region and the underlying storage device type: general-purpose and provisioned IOPS (both SSD) or magnetic. Prices range from 5 cents to 14.2 cents. Magnetic storage, while the cheapest provisioned storage option, also costs 5 cents per 1 million I/O requests.

Prices for EBS snapshots saved to S3 range from 9.5 cents to 12.5 cents per gigabyte per month. However, after the first EBS snapshot is saved to S3, only the data that has changed since the last snapshot is recorded to S3. Therefore, if your first snapshot had an EBS size of 100 Gb and only 1 Gb worth of data is changed in the next snapshot of the same EBS volume, you pay for 101 Gb of storage on S3.

About the author:
Russ Vanderpool, who holds MSCS and MBA degrees, is a technologist interested in using cloud technology to deliver solutions, help companies better serve customers and identify new businesses. He has hands-on experience as an architect and developer and a business adviser across the finance, energy, education, technology and nonprofit sectors. Russ has architected and built a cloud infrastructure for a green tech company, and while working for Japan's largest systems integration firm, he developed proprietary object-oriented database visualization software for that market.

Next Steps

Get the lowdown on Amazon Elastic Compute Cloud features

How to save money with AWS EC2 instances

Dig Deeper on AWS infrastructure

App Architecture
Cloud Computing
Software Quality