A Simple Backup Strategy For Amazon Cloud Hosts

by Garett Shulman

Over the years Dojo4 has put together a really great web application development and hosting stack.  The Amazon Web Services (AWS) cloud forms the base of this stack.   The flexibility and convenience of Elastic Block Store (EBS) disk volumes is compelling and we use them for system volumes as well as data volumes for deploying apps to and persisting databases to on our Elastic Compute Cloud (EC2) cloud computers.  Some time ago, at the end of a conversation about the hosting architecture, Ara stated in an off hand way 'Oh, and periodic backups of the disks should just happen automatically whenever we launch a new EC2 instance'.  So, I began working on a little script called DREBS (Disaster Recovery for Elastic Block Store).  DREBS can be baked into your Amazon Machine Image (AMI) or setup in your Chef or other cloud provisioning mechanisms.   DREBS can be configured to take periodic snapshots of EBS volumes attached to the EC2 instance it is running on.  It supports flexible snapshot retention strategies as well as pre and post snapshots tasks for things like dumping databases to disk for consistent database backups.  Have a look at DREBS and let us know what you think.