Ich habe einige Windows-Server auf Amazon EC2 gehostet. Einige führen Windows Server 2003 und andere Windows Server 2008 aus. Hierbei handelt es sich um von EBS unterstützte Instanzen. Die meisten Instanzen haben auch einige zusätzliche EBS-Volumes angehängt.
Wir möchten einen täglichen Snapshot der Windows-Maschinen (und auch der angehängten EBS-Volumes) für S3 planen, damit wir tägliche Backups zur Verfügung haben.
Man könnte meinen, dass dies eine sehr häufige Anforderung ist und über die AWS Management Console verfügbar gemacht wird, aber leider nicht. Welche Ansätze gibt es? Wie plane ich tägliche Snapshots auf unseren Windows-Servern?
Für Linux stehen online mehrere Skriptbeispiele zur Verfügung, für Windows jedoch weniger. Ich habe mir http://sehmer.blogspot.com/2011/04/amazon-ec2-daily-snapshot-script-for.html sowie https://github.com/ronmichael/aws-snapshot- angesehen. Scheduler . Hat jemand einen dieser Ansätze verwendet und funktioniert es?
Ich habe auch einen Service wie Skeddly in Betracht gezogen, der auf den ersten Blick billig erscheint, aber wenn Sie ihn für mehrere Server verwenden, steigt der Preis bald zu einem Punkt, an dem es eine bessere Option zu sein scheint, eine eigene Lösung zu erstellen, auf die Sie ihn dann anwenden können neue Server in der Zukunft. Mit Skeddly bezahlen wir für jeden Server.
Wie planen wir tägliche Snapshots unserer Windows-Instanzen?
2018 Update Ab Ende 2018 gibt es zwei zusätzliche Möglichkeiten, EBS-Snapshots zu automatisieren. Ich verwende immer noch die ursprüngliche Methode von CloudWatch-Ereignissen, da sie seit Jahren einwandfrei funktioniert und ich keinen Grund sehe, sie zu ändern.
Ops Automator (OA)
Ops Automator ist ein sehr flexibler Satz von Lambda-Skripten, die von AWS bereitgestellt werden. Es wird mit einer CloudWatch-Vorlage bereitgestellt, die sich auf der obigen Seite befindet.
Es ist Setup-Schritte sind
Data Lifecycle Manager (DLM)
DLM-Dokumentation . Dies ist eine einfachere, aber weniger flexible Lösung, die alle 12 oder 24 Stunden Volumes sichern kann. Ich bin verwundert, warum AWS diese Einschränkung für DLM eingeführt hat - wöchentlich, monatlich oder eine variable Häufigkeit wäre einfach zu implementieren gewesen.
DLM ist in die AWS-Konsole integriert. Ich werde die Dokumentation nicht kopieren und einfügen, da AWS die Dinge stets auf dem neuesten Stand hält und Verknüpfungen nur selten unterbrochen werden.
Ab 2019 können Sie in DLM kürzere Intervalle von bis zu zwei Stunden festlegen , jedoch keine Intervalle von mehr als 24 Stunden.
Update 2017
Ab 2017 gibt es eine andere Möglichkeit, regelmäßige Snapshots zu erstellen - mithilfe von Cloudwatch-Ereignissen .
Auf diese Weise können Sie Snapshots planen, das Problem des verwendeten Volumes wird jedoch nicht behoben, sodass es sich nur um eine Teillösung handelt. Es kann eine Möglichkeit geben, CloudWatch-Ereignisse zu verwenden, um etwas auszulösen, das das Volume stilllegt.
Öffnen Sie die CloudWatch-Konsole unter https://console.aws.amazon.com/cloudwatch/ .
Wählen Sie im Navigationsbereich Ereignisse.
Wählen Sie Regel anlegen.
Führen Sie für die Ereignisquelle die folgenden Schritte aus:
-> Wählen Sie Schedule.
-> Wählen Sie Feste Rate von und geben Sie das Zeitintervall an (z. B. 5 Minuten). Alternativ können Sie Cron-Ausdruck auswählen und einen Cron-Ausdruck angeben (z. B. alle 15 Minuten von Montag bis Freitag ab der aktuellen Uhrzeit).
Wählen Sie unter Ziele die Option Ziel hinzufügen und dann den Aufruf EC2 Create Snapshot API aus.
Wählen Sie als Volume-ID ein EBS-Volume aus.
Wählen Sie Details konfigurieren.
Geben Sie unter Regeldefinition einen Namen und eine Beschreibung für die Regel ein.
Wählen Sie für AWS-Berechtigungen die Option zum Erstellen einer neuen Rolle. Dadurch wird die IAM-Konsole in einer neuen Registerkarte geöffnet. Die neue Rolle gewährt die integrierte Zielberechtigung, um in Ihrem Namen auf Ressourcen zuzugreifen. Wählen Sie Zulassen. Die Registerkarte mit dem IAM-Fenster wird geschlossen.
Wählen Sie Regel anlegen.
quelle
Springen Sie auf eine alte Antwort ein, die mich auf meine Suche gebracht hat. Ein großes Lob an Ameer Deen für die Drehbücher, übrigens.
Wir haben diesen Beitrag gefunden, der sich eingehender mit PowerShell-Skripten befasst, um die Datenerfassung und den EBS-Snapshot-Prozess vollständig zu automatisieren:
http://messor.com/aws-disaster-recovery-automation-w-powershell/
Dann stellte ich natürlich fest, dass alle für die jetzt abgeschriebene Version 1.0 des AWS SDK geschrieben wurden, und so habe ich den letzten Tag damit verbracht, dies zu beheben und sie alle mit Version 2.0 zum Laufen zu bringen:
https://github.com/noahlh/aws-automated-backup-powershell
Genießen!
quelle
AutomatiCloud macht genau das, was Sie brauchen. Es ist ein benutzerfreundliches Windows-Tool, mit dem Sie Backups für Ihre EBS-Volumes oder RDS-Instanzen planen können: www.automaticoud.net
Du kannst
quelle
Sie können jetzt AWS Lambda verwenden, um AMIs automatisch zu erstellen . Die gesamte Einrichtung sollte zusammen mit dem gewünschten Zeitplan in ca. 10 Minuten abgeschlossen sein. Schauen Sie sich ihr Github-Repo an, um auch einen Beitrag zu leisten. Führen Sie das Skript selbst aus und geben Sie keine Berechtigungen an Dritte weiter.
quelle
Sie können ein Skript schreiben, das mit der EC2-API kommuniziert, um diese Snapshots zu planen. Es kann auf einer Ihrer vorhandenen Instanzen ausgeführt werden, oder Sie können eine kleine Linux-Instanz für diesen Zweck auf einem t1.micro einrichten, dessen einzige Funktion darin besteht, die Snapshots für die Windows-Hosts zu starten. Das Skript kann auf dem Linux-Host als Cron-Job abgelegt werden, der täglich zu dem von Ihnen gewählten Zeitpunkt ausgeführt wird.
Der erste Link ist ein Beispiel für eine Skripterstellung, die von einem Windows-Host ausgeführt wird und mit geplanten Aufgaben in Windows problemlos automatisiert werden kann.
Ich habe die Anwendung, die Sie über Ihren zweiten Link verlinkt haben, nicht verwendet.
quelle
Die aktuellen Funktionen von EBS Snapshot für Windows-Instanzen werden hier erläutert: http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-creating-snapshot.html
Um einen konsistenten Snapshot zu erhalten, müssen Sie die Schreibvorgänge auf dem Volume so lange anhalten, bis der Snapshot abgeschlossen ist. In der Regel bedeutet dies, dass Sie die Bereitstellung des Volumes aufheben müssen. Das AWS-Dokument erläutert dies nicht über die Befehlszeile unter Windows. Weitere Informationen hierzu finden Sie in diesem Superuser-Thread: /superuser/704870/mount-and-dismount-hard-drive-through -a-script-software
Um eine Momentaufnahme des Systemstartvolumes zu erhalten, müssen Sie Ihre Instanz stoppen.
Ich hoffe, das hilft.
quelle
Mir ist klar, dass dies eine alte Frage ist, aber ich werde unsere Lösung teilen.
Wir nutzen einen Service namens Ylastic . Ihr Pro-Plan (50 USD / Monat) beinhaltet die Planung von EBS-Snapshots, ohne die Anzahl der Server oder Festplatten zu beschränken. Wenn Sie möchten, werden auch ältere Sicherungen entfernt. Sie können mehrere Zeitpläne (z. B. täglich, wöchentlich usw.) mit jeweils eigenen Aufbewahrungsrichtlinien erstellen.
Über die Schnittstelle können Sie auch neue Instanzen aus Sicherungen erstellen.
Mit etwa zwanzig Instanzen und vierzig EBS-Volumes hat es jahrelang zuverlässig funktioniert. Es gibt wahrscheinlich billigere Methoden, aber der Preis ist gerade so niedrig, dass wir uns nicht darum gekümmert haben, etwas selbst zu bauen und zu warten.
Weitere Informationen zu dieser Funktion finden Sie unter http://blog.ylastic.com/post/148519929496/multi-region-ebs-instance-backup-management .
quelle