So sichern Sie Ihre AWS EC2-Instances auf S3 mit EBS-Snapshots

0
162

Es ist leicht zu glauben, dass Server in der Cloud ein magischer Service, der einfach funktioniert. In Wirklichkeit sind sie nur der Computer eines anderen, und alle Computer brechen irgendwann zusammen. Wenn Sie EBS-gestützte EC2-Instances verwenden, sollten Sie regelmäßige Backups auf AWS S3 durchführen.

Warum einen Server sichern, der sich bereits in der Cloud befindet?

Selbst Cloud-Server sind nicht vor Ausfall sicher. EBS-Volumes, auf denen alle AWS EC2-Instances ausgeführt werden, sind nicht vollständig redundant. Das bedeutet, dass Sie Ihre Daten verlieren könnten, wenn Ihr Server ausfällt.

Keine Panik, da EBS-Volumes eigentlich ziemlich sicher sind, alles in allem. Sie verwenden RAID und sind daher redundant und etwa 20-mal sicherer als normale Festplatten.

Sie können jedoch von Zeit zu Zeit ausfallen und tun es auch, daher sollten Sie sich auf diesen Fall vorbereiten und Backups aufbewahren. EBS hat eine Ausfallrate von 0,1 % — 0,4 % pro Jahr, verglichen mit einer normalen Festplattenrate von etwa 4 %. Wenn Sie viele davon ausführen, ist es wahrscheinlicher, dass ein Fehler auftritt.

EBS io2 Volumes sind die langlebigsten, aber alle anderen Typen haben nur 99,8 % – 99,9% Haltbarkeit, die im Vergleich zur 99,9999999999% Haltbarkeit des S3 verblasst (die im Grunde genommen so gut ist, wie es nur geht, bevor sie all ihre Bedeutung verliert). S3-Objekte werden über mehrere Rechenzentren hinweg gesichert. EBS wird in einer einzigen Availability Zone gespeichert.

Werbung

Selbst AWS hatte massive Rechenzentrumsprobleme. Im Jahr 2019 hatten sie einen Stromausfall, der die EBS-Server in einer ihrer Einrichtungen tötete. Da sie EBS nur lokal in derselben Availability Zone wie die EC2-Instance hosten, wurden durch diesen einen Fehler alle auf diesen Volumes gespeicherten Kundendaten vollständig zerstört.

Glücklicherweise lässt sich dies sehr einfach beheben, da AWS einen einfach zu konfigurierenden Service zur Automatisierung von Backups auf S3 bietet, der so sicher wie möglich ist.

Konfigurieren von EBS-Snapshots

Sie machen sich vielleicht Sorgen, ein großes Laufwerk zu sichern, aber EBS-Snapshots sind inkrementelle Backups. Das bedeutet, dass für jeden nachfolgenden Snapshot nur die Daten, die sich geändert haben, der Backup-Datei hinzugefügt werden.

Durch regelmäßige Backups wird Ihr S3-Bucket jedoch nicht voll. Für Anwendungsfälle, in denen ständig auf das Laufwerk geschrieben wird, können Ihre Backup-Dateien jedoch um einiges größer sein als das Laufwerk selbst. Glücklicherweise ist S3-Speicher im Vergleich zu EBS sehr günstig und Snapshot-Daten können mit der Zeit ablaufen.

Das Aktivieren von EBS-Snapshots ist ziemlich einfach. Gehen Sie zur EC2-Managementkonsole und klicken Sie auf “Lifecycle Manager” unter Elastic Block Store. Erstellen Sie eine neue Lebenszyklusrichtlinie.

Dann müssen Sie ein Tag angeben, auf das diese Richtlinie angewendet werden soll . Es kann entweder EC2-Instances oder EBS-Volumes direkt auswählen, wenn Tags angezeigt werden.

Werbung

Wenn Sie möchten, dass es auf alle Ihre Server angewendet wird, müssen Sie ein neues Tag erstellen, festlegen es hier und wenden Sie es auf alle Ihre Bände an. Wenn Sie es nur für ein Volume einschalten möchten, wählen Sie “Name” und finde den Namen des Volumes.

Dann müssen Sie den Zeitplan festlegen. Bei sich schnell ändernden Daten kann die Sicherung oft mehr Kosten verursachen. Die Standardeinstellung ist alle 12 Stunden täglich, was für die meisten Benutzer wahrscheinlich in Ordnung ist, aber für Server, die keine schreibintensiven Lasten aufweisen, kann eine häufigere Sicherung nicht schaden.

< img src="http://www.cloudsavvyit.com/pagespeed_static/1.JiBnMqyl6S.gif" />

Die andere Sache, die Sie konfigurieren müssen, ist die Snapshot-Aufbewahrung. Dadurch werden ältere Daten nach einer bestimmten Anzahl von Tagen oder Backups gelöscht. Sie sollten diesen Wert hoch genug einstellen, damit Sie nach einem Serverausfall keinen Datenverlust erleiden, wenn Sie nicht schnell genug wiederherstellen. Das Löschen von Daten, die älter als ein paar Tage oder eine Woche sind, ist in Ordnung.

Neustart eines Servers aus einem EBS-Snapshot

Die Wiederherstellung ist denkbar einfach. Die Liste der Snapshots finden Sie unter EBS in der Seitenleiste. Klicken Sie mit der rechten Maustaste auf einen von ihnen und klicken Sie auf “Volume erstellen.”

Ein neues EBS-Volume wird mit den Snapshot-Daten erstellt. Sie müssen es dann in Ihre EC2-Instance einbinden, indem Sie den Server ausschalten, das defekte Volume trennen, das neue von der Konsole anhängen und die Instance neu starten.

Wenn Sie’ Wenn Sie ein Nicht-Root-Volume verwenden, können Sie es ohne Ausfallzeiten mounten. Sie müssen das Laufwerk nur manuell im Betriebssystem mit umount unter Linux oder Datenträgerverwaltung unter Windows mounten.

Werbung

Die Wiederherstellung kann jedoch eine Weile dauern. AWS verfügt über eine zusätzliche Funktion namens Fast Snapshot Restore, die Redundanz bereithält, die diesen Prozess nahezu augenblicklich macht. Es kostet jedoch Geld, und wir empfehlen nicht wirklich, es für die meisten Workloads zu verwenden. EBS-Ausfälle sind selten genug, dass dies wahrscheinlich kein Problem darstellt, und selbst bei der schnellen Snapshot-Wiederherstellung werden Sie immer noch Ausfallzeiten haben.