J'ai des serveurs Windows hébergés sur Amazon EC2. Certains exécutent Windows Server 2003 et d'autres exécutent Windows Server 2008. Ce sont des instances soutenues par EBS. La plupart des instances disposent également de volumes EBS supplémentaires.
Nous voulons planifier un instantané quotidien des machines Windows (et également des volumes EBS attachés) vers S3 afin d'avoir des sauvegardes quotidiennes disponibles.
On pourrait penser qu'il s'agit d'une exigence très courante qui serait mise à disposition via l'AWS Management Console, mais hélas, ce n'est pas le cas. Quelles approches sont disponibles? Comment planifier des instantanés quotidiens sur nos serveurs Windows?
Il existe plusieurs exemples de scripts disponibles en ligne pour Linux, mais pas tant pour Windows. J'ai jeté un œil à http://sehmer.blogspot.com/2011/04/amazon-ec2-daily-snapshot-script-for.html ainsi qu'à https://github.com/ronmichael/aws-snapshot- planificateur . Quelqu'un a-t-il utilisé l'une de ces approches et cela fonctionne-t-il?
J'ai également envisagé un service comme Skeddly qui semble bon marché à première vue, mais lorsque vous envisagez de l'utiliser pour plusieurs serveurs, le prix grimpe rapidement à un point tel qu'il semble être une meilleure option pour créer votre propre solution car vous pouvez ensuite l'appliquer à de nouveaux serveurs à l'avenir. Avec Skeddly, nous paierons pour chaque serveur.
Comment planifier des instantanés quotidiens de nos instances Windows?
Mise à jour 2018 À la fin de 2018, il existe deux façons supplémentaires d'automatiser les instantanés EBS. J'utilise toujours la méthode originale des événements CloudWatch car cela a bien fonctionné pendant des années et je ne vois aucun intérêt à changer.
Ops Automator (OA)
Ops Automator est un ensemble très flexible de scripts lambda fournis par AWS. Il est déployé avec un modèle CloudWatch qui se trouve sur la page ci-dessus.
Ses étapes de configuration sont
Gestionnaire de cycle de vie des données (DLM)
Documentation DLM . Il s'agit d'une solution plus simple mais moins flexible qui peut sauvegarder des volumes toutes les 12 ou 24 heures. Je suis perplexe pourquoi AWS a mis cette limitation sur DLM - hebdomadaire, mensuelle ou une fréquence variable aurait été facile à mettre en œuvre.
DLM est intégré à la console AWS. Je ne vais pas copier et coller la documentation car AWS garde les choses à jour et les liens se cassent rarement.
À partir de 2019, DLM vous permet de spécifier des intervalles plus courts jusqu'à deux heures, mais ne vous permet toujours pas de spécifier des intervalles de plus de 24 heures.
Mise à jour 2017
Depuis 2017, il existe un autre moyen de créer des instantanés réguliers - à l'aide des événements Cloudwatch .
Cela vous permet de planifier des instantanés, mais cela ne résout pas le problème du volume utilisé, ce n'est donc qu'une solution partielle. Il peut y avoir un moyen d'utiliser CloudWatch Events pour déclencher quelque chose qui met le volume au repos.
Ouvrez la console CloudWatch à https://console.aws.amazon.com/cloudwatch/ .
Dans le volet de navigation, choisissez Événements.
Choisissez Créer une règle.
Pour Event Source, procédez comme suit:
-> Choisissez Calendrier.
-> Choisissez Taux fixe de et spécifiez l'intervalle de programmation (par exemple, 5 minutes). Vous pouvez également choisir Expression Cron et spécifier une expression Cron (par exemple, toutes les 15 minutes du lundi au vendredi, à partir de l'heure actuelle).
Pour les cibles, choisissez Ajouter une cible, puis sélectionnez EC2 Create Snapshot API call.
Pour Volume ID, choisissez un volume EBS.
Choisissez Configurer les détails.
Pour Définition de règle, saisissez un nom et une description pour la règle.
Pour les autorisations AWS, choisissez l'option pour créer un nouveau rôle. Cela ouvre la console IAM dans un nouvel onglet. Le nouveau rôle accorde l'autorisation cible intégrée d'accéder aux ressources en votre nom. Choisissez Autoriser. L'onglet avec la fenêtre IAM se ferme.
Choisissez Créer une règle.
la source
Sauter sur une vieille réponse qui m'a lancé dans ma recherche. Félicitations à Ameer Deen ci-dessus pour les scripts, btw.
J'ai trouvé cet article qui plonge beaucoup plus profondément dans les scripts PowerShell pour automatiser entièrement la collecte de données et le processus d'instantané EBS:
http://messor.com/aws-disaster-recovery-automation-w-powershell/
Puis, bien sûr, j'ai découvert que ceux-ci étaient tous écrits pour la v1.0 maintenant dépréciée du SDK AWS, j'ai donc passé le dernier jour à corriger cela et à les faire fonctionner avec la v2.0:
https://github.com/noahlh/aws-automated-backup-powershell
Prendre plaisir!
la source
AutomatiCloud fait exactement ce dont vous avez besoin. C'est un outil Windows facile à utiliser où vous pouvez planifier des sauvegardes pour vos volumes EBS ou vos instances RDS: www.automaticoud.net
Vous pouvez
la source
Vous pouvez désormais utiliser AWS Lambda pour créer automatiquement des AMI . L'ensemble de la configuration doit être terminée en 10 minutes environ avec le programme que vous aimez. Regardez leur repo Github pour y contribuer également. Exécutez le script par vous-même et évitez de donner des autorisations à des tiers.
la source
Vous pouvez écrire un script qui parle à l'API EC2 pour planifier ces instantanés. Il peut être exécuté sur l'une de vos instances existantes ou vous pouvez configurer une petite instance Linux à cet effet sur un t1.micro dont la seule fonction est de lancer les instantanés pour les hôtes Windows. Le script peut être placé sur l'hôte linux en tant que tâche cron à exécuter quotidiennement au moment que vous choisissez.
Le premier lien est un exemple de scriptage à partir d'un hôte Windows et il pourrait facilement être automatisé avec des tâches planifiées dans Windows.
Je n'ai pas utilisé l'application que vous avez liée sur votre deuxième lien.
la source
Les capacités actuelles d'instantanés EBS pour les instances Windows sont expliquées ici: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-creating-snapshot.html
Pour obtenir un instantané cohérent, vous devez suspendre les écritures sur le volume suffisamment longtemps pour terminer l'instantané. En règle générale, cela signifie que vous devez démonter le volume. Le document AWS ne décrit pas comment procéder via la ligne de commande sous Windows, mais vous pouvez en savoir plus à ce sujet dans ce thread de superutilisateur: /superuser/704870/mount-and-dismount-hard-drive-through -un logiciel de script
Pour obtenir un instantané du volume de démarrage du système, vous devez arrêter votre instance.
J'espère que cela pourra aider.
la source
Je me rends compte que c'est une vieille question, mais je partagerai notre solution.
Nous utilisons un service appelé Ylastic . Leur plan Pro (50 $ / mois) comprend la planification des instantanés EBS, sans limiter le nombre de serveurs ou de disques. Il supprimera également les anciennes sauvegardes si vous le souhaitez. Vous pouvez créer plusieurs planifications (par exemple, quotidiennement, hebdomadairement, etc.) chacune avec ses propres politiques de rétention.
L'interface vous permet également de créer de nouvelles instances à partir de sauvegardes.
Cela a fonctionné de manière fiable pour nous pendant des années, avec une vingtaine d'instances et une quarantaine de volumes EBS. Il existe probablement des méthodes moins chères, mais le prix est juste assez bas pour que nous n'ayons pas pris la peine de construire et d'entretenir quelque chose nous-mêmes.
Voir http://blog.ylastic.com/post/148519929496/multi-region-ebs-instance-backup-management pour plus de détails sur cette fonctionnalité.
la source