We are deploying a number of servers at AWS and need to work-out a general-purpose backup strategy. The requirements are:
- Retain the ability to recover full systems or individual files or subdirectories going back up to N weeks (with N varying per system).
- Be able to exclude certain sub-trees (or mount-points).
- Store the backups on S3 (or even Glacier).
- Minimize costs and times -- use incremental backups to avoid storing too many copies of unchanged files.
EC2 snapshots seems like an obvious solution, but recovering individual files while the originating system is still running is, apparently, not always possible (the dreadful "Marketplace product code" error message). Also, it is only possible to dump the entire filesystem (volume) -- without a way to exclude anything.
That leaves the "traditional" options of Amanda and Duplicity, which nowadays both have S3 as the storage option.
Am I right with my assessment of limitations of the EC2 snapshots? Any comments comparing usage of Amanda vs. Duplicity at AWS? Thank you!