Comment les administrateurs gèrent-ils leurs EBS et instantanés EC2?

30

Mon entreprise transfère notre hébergement vers Amazon et je travaille sur tous les problèmes de migration. La transition d'un matériel physique à des machines virtuelles transitoires a été un véritable défi.

L'un des derniers défis consiste à déterminer comment gérer nos EBS et nos instantanés. Étant donné qu'il n'est actuellement pas possible de les nommer de manière descriptive ou d'ajouter du sens, je me demande comment les administrateurs gèrent leurs ressources. Ce n'est pas trop un problème avec un ou deux serveurs, mais comment ceux qui exécutent plusieurs serveurs gèrent-ils les choses. Est-ce que tout le monde utilise des outils tiers (comme RightScale / Scalr) quand il passe sur une poignée de serveurs? Ou maintenez-vous des wikis ou d'autres documents auxiliaires?

ahanson
la source
1
+1 Grande question. J'anticipe les réponses des communautés.
egorgry

Réponses:

3

J'utilise snapshot cohérent ec2 ( http://alestic.com/2009/09/ec2-consistent-snapshot ) pour prendre mes snapshots (sur Linux d'Amazon dérivé de RHEL / CentOS) - il est écrit en Perl et utilise directement l'API . Vous spécifiez les volumes que vous souhaitez créer un instantané et cela vous permet d'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 sauvegarde simple qui peut ne pas être nécessaire et qui n'est pas encore prise en charge par le module Perl utilisé ci-dessus (Net :: Amazon :: EC2)).

Le script ci-dessus ne supprime pas les instantanés (n'en créez que de nouveaux - de manière cohérente (c'est-à-dire qu'il peut geler le disque / la base de données avant l'instantané). Puisqu'il est assez couramment utilisé et que je n'ai pas trouvé de script Perl compatible pour supprimer les anciens instantanés que j'ai écrits 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 comme le script ci-dessus.

Bien sûr, les deux sont configurés pour fonctionner via Cron.

(En théorie, il devrait être assez facile de connecter des scripts similaires (il y a ceux é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 afin à condition d'enregistrer cela, toute autre organisation interne devrait être facilement possible. [Cependant, à des fins de sauvegarde, le volume-id et la date sont souvent suffisants])

N'utilisez pas les outils CLI - ils sont écrits en Java et sont ridiculement lents par rapport à toutes les implémentations d'API directes.

cyberx86
la source
2

Peu à peu, Amazon ajoute toutes les fonctionnalités requises pour effectuer une gestion efficace qui est nécessaire si Amazon veut faire appel au marché des entreprises. Des balises ont été ajoutées et des améliorations pour permettre à un utilisateur d'avoir uniquement accès à certaines fonctionnalités arrivent. À l'avenir, les scripts et le déploiement seront sûrement gérés. J'ajoute ces fonctionnalités à mon outil gratuit ElastDream.

EEAA
la source
1

À moins d'écrire votre propre outil pour indexer les ID EBS et les instantanés par rapport aux étiquettes de texte, j'ai constaté que l'utilisation d'un compte RightScale gratuit et l'attribution de surnoms est la meilleure façon de gérer nos volumes et instantanés EBS.

Personnellement, je pense que l'impossibilité d'attribuer une étiquette facile à retenir à une instance EC2, à une AMI ou à un volume est un gros trou dans l'offre actuelle d'Amazon - cela me semble évident.

gareth_bowles
la source
1

J'utilise ElasticFox pour gérer mes instantanés (et tous mes serveurs aussi). Il a un étiquetage, ce qui permet de savoir facilement lequel est lequel.

J'utilise également la bibliothèque boto lorsque je veux faire des choses par programmation. Cependant, si vous le faites, vous devrez créer votre propre magasin de données. SQS et Sqlite sont de bonnes options là-bas.

jedberg
la source
1

ElasticFox est certainement l'un des outils les plus pratiques pour gérer (manuellement) EC2. Mais l'essentiel est - d'imaginer régulièrement vos instances - de configurer une initialisation automatique une fois qu'une nouvelle instance est démarrée: - partitionner et monter les lecteurs éphémères - monter le volume EBS une fois qu'il est disponible - restaurer des fichiers et des bases de données depuis EBS, un stockage partagé ou S3. - démarrer les services (MySQL, Apache, Tomcat, vous l'appelez.)

Dirk Taggesell
la source
1

Nous utilisons chef pour gérer toutes nos ressources EC2.

ctennis
la source
Je ne suis pas actuellement un utilisateur de chef mais je cherche une solution pour résoudre ce problème. Pourriez-vous faire référence à la recette / livre de cuisine / ressource que vous utilisez pour effectuer des sauvegardes automatiques?
John Hinnegan
0

La console AWS est de niveau trop bas pour de nombreuses tâches quotidiennes, bien qu'elle s'améliore rapidement. Si vous avez besoin de cette fonctionnalité maintenant, vous devez soit mordre la balle et écrire vos propres scripts en utilisant les outils ec2 cli pour gérer les instantanés, soit utiliser un outil tiers. Pour la gestion des volumes EBS, ceux qui ont été mentionnés sont bons, une autre option est l'outil de gestion EBS afin que vous puissiez planifier des sauvegardes, les nommer, les restaurer, etc. de BitNami Cloud Hosting (il existe un niveau gratuit)

Daniel Lopez
la source