We've centered most of our operations on AWS, and love the ease of use there. However, every once in a while, the paranoid side of my brain wonders what could happen if, say, the bad guys got hold of our admin keys?

Within the Amazon ecosystem, we have a pretty good backup plan: We keep most static data in S3. EBS volumes are snapshotted nightly. However, true paranoia would mean backing up to a provider outside the Amazon ecosystem. How do you handle doing this? I'm especially interested in backing up EBS snapshots and S3 contents. Bonus points for backing up RDS.


This is not something I've implemented personally, but my strategy would be something like the following:

S3 buckets

Several other providers implement the S3 API, for example Dream Objects or Google Could Storage. I'd simply have a script which iterates over a bucket and puts the objects to another provider. To save bandwidth you could check the checksum.


I'd programatically clone an EBS snapshot, mount it to your instance running the backups, use dd or simmilar to create an image, compress it then upload it to S3. Then obviously include the image as part of your S3 backups.


Similar to EBS, but instead of cloning the disk I'd use the snapshot to launch a new instance then run mysqldump (or whatever the equivalent tool is for your RDBMS is) and upload the result to S3.

Alternatively, you could have an external slave to your RDS instance and keep that backed up externally.

You could bake these scripts into an AMI which runs them on startup then shuts down, simply start that instance however frequently you need your backups.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.