01 Oct / 2019
Author: Mahir Kukic Tags: There is no tags Comments: 0

Bookmark and Share

Automatische EBS Snapshots mit AWS Data Lifecycle Manager erstellen

Eine IT-Infrastruktur ohne Backups oder Snapshots zu betreiben kann früher oder später dazu führen, dass Systeme komplett ausfallen und Daten verloren gehen, die nicht wiederherstellbar sind. Diese Folgen können einzelne Projekte weit nach hinten werfen und somit erhebliche Kosten verursachen. Snapshots sollten daher immer in Betracht gezogen werden um die Ausfallsicherheit und Wiederherstellung zu gewährleisten. Dieser Aspekt spiegelt sich außerdem im AWS Well-Architected-Framework wider. Im heutigen Blog möchte ich den Data Lifecycle Manager von AWS vorstellen und dabei auf die einzelnen Konfigurationsschritte eingehen.

Der Data Lifecycle Manager wurde am 12.07.2018 veröffentlicht und bietet eine einfache und automatisierte Möglichkeit EBS-Volumes plangemäß zu sichern. Dieses Verfahren basiert auf das Tagging-Prinzip, welches ich später genauer erläutern werde.

Hinweis:
Der Data Lifecycle Manager beschränkt sich auf die einzelnen EBS-Volumes innerhalb derselben Region und fungiert dabei nicht als ein zentrales Tool um regionsübergreifend EBS-Volumes zu sichern. Daher ist der Service eher für Infrastrukturen geeignet, die nicht sonderlich viele Regionen umfassen.

Übersicht der Instanzen und Volumes

In der Region eu-west-3 sind insgesamt vier EC2-Instanzen in zwei verschiedenen Availability-Zones vorhanden.


ebs_1


Instanz 1 ist die einzige Instanz der zwei EBS-Volumes zugeordnet sind.


ebs_2


Da der Data Lifecycle Manager auf Tags basiert, sind die Instanzen die ich sichern möchte mit dem Key:Value-Pair Backup:Yes versehen. Dies betrifft Instanz 1, 3 und 4. Der Instanz 2 habe ich den Tag Backups:No zur besseren Veranschaulichung zugewiesen.


ebs_3


ebs_4


ebs_5


ebs_6


Nun können wir mit der Einrichtung der Snapshot Lifecycle Policy fortfahren.

Setup:

1. Unter dem EC2 Service bei Elastic Block Store ist der Lifecycle Manager zu finden.


ebs_7


2. Im Data Lifecycle Manager erstellen wir eine Snapshot Lifecycle Policy.


ebs_8


3. An der Stelle vergeben wir der Policy einen Namen. Des Weiteren entscheiden wir ob die Policy auf Volumes oder Instanzen basieren soll. In dem Fall habe ich die Instanz als resource type gewählt, da ich die Instanzen mit Tags bzw. Key:Value-Pairs versehe und nicht die Volumes. Danach wählt man das Target-Tag aus, auf welches die Policy basieren soll. In den Fall ist es Backup:Yes.


ebs_9


4. Im nächsten Schritt wird der Zeitplan konfiguriert. Dieser legt fest in welchem Zyklus die Policy gestartet wird. Zusätzlich kann die maximale Anzahl an Snapshots definiert werden die aufbewahrt werden sollen. Desweitern wird die Startzeit definiert. Die Zeit ist hierzu in UTC (Universal Time Coordinated) angegeben. Auf folgender Webseite kann die aktuelle Uhrzeit für Deutschland mit der UTC verglichen werden:
https://24timezones.com/difference/utc/berlin


ebs_10


5. In diesem Bereich werden die Tagging Informationen festgelegt. Dabei können die Tags der Instanz auf das Snapshot mit übertragen werden. Ich habe noch zusätzlich das Key:Value-Pair Lifecycled:True hinzugefügt, um eine bessere Übersicht über die automatisch generierten Snapshots mittels der Lifecycle Policy und manuellen Snapshots zu haben.


ebs_11


6. Die root Volumes der Instanzen können hier ausgeschlossen werden.


ebs_12


7. Im nächsten Schritt wird die benötigte IAM Rolle festgelegt. Dabei kann eine selbst erstellte oder die Default Rolle ausgewählt werden, welche mit folgenden Berechtigungen automatisch erstellt wird.


ebs_13


8. Im letzten Schritt kann die Policy aktiviert oder deaktiviert werden. Zusätzlich wird eine kurze Übersicht über Konfigurationsschritt 4. ausgegeben.


ebs_14


Die erstellte Policy beinhaltet zusammenfassend folgende Daten:


ebs_15


ebs_16


Folgende Snapshots wurden von der Lifecycle Policy, basierend auf dem Key:Value-Pair Backup:Yes, automatisch erstellt.


bes_17


Die Tags des Snapshots sehen wie folgt aus:


ebs_18

Fazit:

Der AWS Data Lifecycle Manager bietet eine einfache und schnelle Möglichkeit EBS-Volumes zu sichern. Der Service ist leicht zu konfigurieren und kann in nur wenigen Schritten genutzt werden. Dieser Ansatz ist vor allem für Infrastrukturen ausgelegt, die sich auf wenige Regionen beschränken. Falls die Infrastruktur mehrere Regionen umfasst und eine Sicherung der EBS-Volumes in allen Regionen erfolgen soll, so ist es sinnvoller AWS CloudWatch und Lambda Funktionen im Zusammenspiel zu nutzen.

Weiterführende Links:

https://aws.amazon.com/de/architecture/well-architected/
https://aws.amazon.com/de/about-aws/whats-new/2018/07/introducing-amazon-data-lifecycle-manager-for-ebs-snapshots/
https://docs.aws.amazon.com/de_de/AWSEC2/latest/UserGuide/snapshot-lifecycle.html


Blog - Kommentar verfassen

Please notice, that all fields markes by * have to get filled out in order to be able to publish the comment.

Security check *