Mein Unternehmen verlagert unser Hosting auf Amazon und ich arbeite derzeit an allen Migrationsproblemen. Der Übergang von physischer Hardware zu vorübergehenden virtuellen Maschinen war eine ziemliche Herausforderung.
Eine der letzten Herausforderungen besteht darin, herauszufinden, wie unsere EBS und Snapshots verwaltet werden können. Da es derzeit nicht möglich ist, sie beschreibend zu benennen oder Bedeutung hinzuzufügen, frage ich mich, wie Administratoren ihre Ressourcen verwalten. Es ist kein allzu großes Problem mit einem oder zwei Servern, aber wie gehen diese mit mehreren Servern um? Verwenden alle Tools von Drittanbietern (wie RightScale / Scalr), wenn sie über eine Handvoll Server verfügen? Oder unterhalten Sie Wikis oder andere Hilfsdokumente?
quelle
Antworten:
Ich verwende den ec2-konsistenten Snapshot ( http://alestic.com/2009/09/ec2-consistent-snapshot ), um meine Snapshots zu erstellen (auf dem von RHEL / CentOS abgeleiteten Amazon Linux). Er ist in Perl geschrieben und verwendet die API direkt . Sie geben die Volumes an, für die Sie einen Snapshot erstellen möchten, und können eine Beschreibung hinzufügen.
(In der AWS-Konsole können Sie Tags hinzufügen, wenn Sie eine genauere Steuerung benötigen, aber für eine einfache Sicherung, die möglicherweise nicht erforderlich ist und vom oben verwendeten Perl-Modul (Net :: Amazon :: EC2) noch nicht unterstützt wird.)
Das obige Skript löscht keine Snapshots (erstelle nur neue - konsistent (dh es kann die Festplatte / Datenbank vor dem Snapshot einfrieren). Da es ziemlich häufig verwendet wird und ich kein kompatibles Perl-Skript zum Löschen alter, von mir geschriebener Snapshots gefunden habe meine eigene ( http://www.thatsgeeky.com/2011/06/rotating-ebs-snapshots-ec2-prune-snapshots/ ). Sie erledigt den Job (Großvater-Vater-Sohn-Rotation) gut und verwendet die gleichen Abhängigkeiten und Parameter wie im obigen Skript.
Natürlich laufen beide über Cron.
(Theoretisch sollte es einfach genug sein, einige ähnliche Skripte (zum Beispiel solche, die in PHP und Ruby geschrieben wurden) an eine Datenbank anzuhängen und ein eigenes Protokoll der Volumes und Schnappschüsse zu führen. Jeder Schnappschuss hat also eine eindeutige ID Solange dies festgehalten wird, sollte eine weitere interne Organisation problemlos möglich sein. [Für Sicherungszwecke sind jedoch häufig die Volume-ID und das Datum ausreichend]
Verwenden Sie die CLI-Tools nicht - sie sind in Java geschrieben und im Vergleich zu direkten API-Implementierungen lächerlich langsam.
quelle
Allmählich fügt Amazon alle Funktionen hinzu, die für eine effektive Verwaltung erforderlich sind, damit Amazon den Unternehmensmarkt anspricht. Es wurden Tags hinzugefügt und Verbesserungen vorgenommen, die es einem Benutzer ermöglichen, nur auf bestimmte Funktionen zuzugreifen. In Zukunft wird sicher mit Scripting und Deployment gearbeitet. Ich füge diese Funktionen meinem kostenlosen Tool ElastDream hinzu.
quelle
Ich habe festgestellt, dass die Verwendung eines kostenlosen RightScale- Kontos und die Zuweisung von Kurznamen die beste Möglichkeit ist, um EBS-Volumes und -Snapshots zu verwalten , ohne dass Sie Ihr eigenes Tool schreiben müssen, um EBS- und Snapshot-IDs anhand von Textbezeichnungen zu indizieren .
Ich persönlich denke, dass die Unfähigkeit, einer EC2-Instanz, einem AMI oder einem Volume ein leicht zu merkendes Label zuzuweisen, eine große Lücke im aktuellen Amazon-Angebot darstellt - für mich ist das einfach ein Kinderspiel.
quelle
Ich verwalte meine Snapshots (und auch alle meine Server) mit ElasticFox . Es verfügt über ein Tagging, mit dem Sie leicht nachvollziehen können, welches davon welches ist.
Ich benutze die Boto- Bibliothek auch, wenn ich Dinge programmatisch machen möchte. In diesem Fall müssen Sie jedoch einen eigenen Datenspeicher erstellen. SQS und Sqlite sind dort gute Optionen.
quelle
ElasticFox ist sicherlich eines der bequemsten Tools zur (manuellen) Verwaltung von EC2. Das Wichtigste ist jedoch: - Erstellen Sie regelmäßig ein Image Ihrer Instanzen. - Richten Sie nach dem Start einer neuen Instanz eine automatische Initialisierung ein. - Partitionieren Sie die kurzlebigen Laufwerke und hängen Sie sie an. - Stellen Sie das EBS-Volume wieder her, sobald es verfügbar ist Shared Storage oder S3. - Starten Sie die Dienste (MySQL, Apache, Tomcat, Sie nennen es.)
quelle
Wir setzen Chefkoch für die Verwaltung aller unserer EC2-Ressourcen ein.
quelle
Die AWS-Konsole ist für viele alltägliche Aufgaben zu niedrig, verbessert sich jedoch rapide. Wenn Sie diese Funktionalität jetzt benötigen, müssen Sie entweder in die Kugel beißen und Ihre eigenen Skripte schreiben, indem Sie die ec2 cli-Tools verwenden, um die Snapshots zu verwalten, oder ein Tool eines Drittanbieters verwenden. Für die Verwaltung von EBS-Volumes sind die genannten gut. Eine weitere Option ist das EBS-Verwaltungstool, mit dem Sie Sicherungen planen, benennen, wiederherstellen usw. von BitNami Cloud Hosting (es gibt eine kostenlose Stufe).
quelle
Ich habe mein eigenes Skript zum Erstellen rotierender Backups (Großvater - Vater - Sohn) in meinem Blog http://three99.com/posts/python-grandfather-father-son-snapshots-backup-for-ec2/
quelle