J'utilise ec2-consistent-snapshot ( http://alestic.com/2009/09/ec2-consistent-snapshot ) pour prendre mes instantanés (sur RHEL/CentOS dérivé Amazon's Linux) - il est écrit en Perl et utilise directement l'API. Vous spécifiez les volumes que vous voulez photographier et vous pouvez ajouter une description.
(Dans la console AWS, vous pouvez ajouter des balises si vous avez besoin d'un contrôle plus fin, mais pour une simple sauvegarde, cela n'est peut-être pas nécessaire, et n'est pas encore pris en charge par le module Perl utilisé ci-dessus (Net::Amazon::EC2)).
Le script ci-dessus ne supprime pas les instantanés (seulement en créer de nouveaux - de manière cohérente (c'est-à-dire qu'il peut geler le disque/db avant l'instantané). Comme il est assez couramment utilisé et que je n'ai pas pu trouver un script Perl compatible pour supprimer les anciens snapshots, j'ai écrit le mien ( http://www.thatsgeeky.com/2011/06/rotating-ebs-snapshots-ec2-prune-snapshots/ ). Il fait bien le travail (rotation grand-père-père-fils) et utilise les mêmes dépendances et paramètres que le script ci-dessus.
Bien sûr, les deux sont configurés pour fonctionner via Cron.
(En théorie, il devrait être assez facile d'accrocher quelques scripts similaires (il y en a qui sont écrits en PHP et Ruby par exemple) à une base de données, et de maintenir votre propre journal des volumes et des instantanés pris - chaque instantané a un identifiant unique donc tant que vous enregistrez cela, toute autre organisation interne devrait être facilement possible. (Cependant, à des fins de sauvegarde, l'identifiant du volume et la date sont souvent suffisants).
N'utilisez pas les outils CLI - ils sont écrits en Java et sont ridiculement lents par rapport aux implémentations directes de l'API.
1 votes
+1 Excellente question. J'anticipe les réponses des communautés.