Erweitern Sie Ihr AWS-Backup

Was ist möglich?

AWS Backup ist ein sehr praktischer Service, der es Kunden ermöglicht, Backups für RDS-Snapshots, EBS- und EFS-Volumes sowie DynamoDB-Tabellen in einem einheitlichen Tool zu verwalten. Es ist nicht einmal eine Einrichtung erforderlich, abgesehen von der Definition Ihrer beabsichtigten Sicherungspläne.

 

Der Artikel zeigt auf, wie man AWS Backup für schwere Aufgaben nutzen und auf Offsite-Funktionen erweitern kann.

 

Die Basis ist ein Backup, das verschiedenen Anforderungen und Zwecken in Bezug auf Backups gerecht werden muss, z.B.:

 

1. Ad-hoc-Backups vor potenziell gefährlichen Operationen (z. B. größeren Upgrades) - einfach mit einem On-Demand-Backup zu realisieren

 

2. Häufige und kurzzeitige Backups zur Minimierung von Verlusten im täglichen Betrieb

 

3. Langlebige Backups (oft sogar gesetzlich vorgeschrieben, je nach Branche mit festgelegten Aufbewahrungszeiten)

 

4. Offsite-Backups, um Risiken zwischen Quellsystemen und Backups zu entkoppeln

 

Die meisten dieser Ziele können direkt mit AWS Backup erreicht werden, aber einige Anforderungen benötigen möglicherweise zusätzliche Unterstützung.

Die Grundlage für die externe Datensicherung schaffen

 

Um loszulegen, müssen Sie lediglich einen Sicherungsplan erstellen und diesem Ressourcen zuweisen. Der Sicherungsplan legt fest, wie eine Sicherung durchgeführt werden soll, wie oft und in welchem Zeitfenster. Darüber hinaus kann auch festgelegt werden, wann die Backups ablaufen sollen. Mit diesem Lebenszyklusmanagement können Sie die zweite und dritte oben genannte Anforderung direkt angehen. Ein Plan kann verwendet werden, um tägliche Backups auszulösen und diese recht schnell ablaufen zu lassen. Ein zweiter Plan kann dazu verwendet werden, eine monatliche Sicherung zu erstellen, die mehrere Jahre aufbewahrt werden kann. Beide Pläne können und sollten gemeinsam verwendet werden.

 

Beispiel für einen 5-Jahres-Aufbewahrungsplan

 

Welche Pläne ausgeführt werden, wird durch Zuweisungen ausgedrückt. Zu Test- und PoC-Zwecken können Sie eine Ressource manuell zu einem Plan hinzufügen. In allen anderen Umgebungen wird dies nicht ausreichen. Stattdessen kann AWS Backup den Plänen mithilfe von Tags Ressourcen zuweisen, was in großem Maßstab viel einfacher und sicherer zu implementieren ist. Wenn Ihre Backup-Anforderungen beispielsweise vorschreiben, dass Produktionsdatenbank-Backups mindestens fünf Jahre lang aufbewahrt werden müssen, würden Sie einen Plan erstellen, der DB-Backups nach fünf Jahren ablaufen lässt, und eine Zuweisung erstellen, die alle RDS- und EC2-Instances diesem Plan zuordnet, die mit "Schlüssel: Umgebung, Wert: Produktion" gekennzeichnet sind. Diese Zuweisung muss nicht exklusiv für einen Plan sein. Sie können diese Zuweisung auf einen anderen Backup-Plan kopieren, der die häufigen und kurzlebigen Backups parallel durchführen könnte.

 

Deklarative Ressourcenzuweisung

 

Die Handhabung von externen Sicherungen ist schwieriger und kann einige sehr spezifische Anforderungen stellen. Seit Januar 2020 bietet AWS Backup die Möglichkeit, Sicherungen in verschiedene Regionen zu kopieren. Um dies zu aktivieren, wählen Sie einfach eine Zielregion in Ihren Sicherungsplänen aus. Diese Funktion wurde lange Zeit vermisst und ist außerordentlich nützlich, um ein Off-Site-Backup zu erstellen. Alle relevanten Daten in einer anderen Region zu haben, ermöglicht eine viel schnellere Wiederherstellung im Falle eines Totalausfalls Ihrer Hauptregion. Stellen Sie einfach Ihre Datenbank in Ihrer Standby-Region wieder her und leiten Sie Ihren Datenverkehr um. Die Angabe, dass es sich um eine standortferne Sicherung handelt, entspricht jedoch nicht der ganzen Wahrheit. Es schafft zwar Unabhängigkeit in Bezug auf den Standort, entkoppelt aber die Sicherung nicht vom Quellkonto. Backups können mit Tresorrichtlinien geschützt werden - sollte jedoch das (Root-)Konto kompromittiert werden, könnte auch ein Backup an einem anderen Ort in Gefahr sein.

 

Speichern von Backups an zusätzlichen Speicherorten

 

Leider gibt es noch keine Möglichkeit, ein Backup für ein anderes Konto freizugeben. Aber das wird uns nicht davon abhalten, es trotzdem zu tun.

Über Backup-Funktionen hinausgehen

 

(Zum Verständnis des folgenden Abschnitts: Unter einem getrennten Konto ist ein Konto zu verstehen, das zwar auf Ihre relevanten Konten zugreifen kann, mit dem aber in der anderen Richtung nicht interagiert werden kann. Denken Sie an Ihre IT-Sicherheitsabteilung oder ein beauftragtes Wirtschaftsprüfungsunternehmen. Ein Admin-Benutzer eines Quellkontos sollte niemals in der Lage sein, mit dem getrennten Konto zu interagieren, um diese Trennung herzustellen.)

 

Am Beispiel von RDS werden wir die Schritte erläutern, die erforderlich sind, um Ihr Backup um die Möglichkeit zu erweitern, Snapshots in ein separates Konto zu exportieren. Normalerweise können Sie mit Snapshots in AWS Backup nicht direkt interagieren. Sie können nur in einer Datenbankinstanz wiederhergestellt werden, wo Sie dann manuell einen Export- oder Dump-Auftrag ausführen können. Sie sind jedoch in der RDS-Konsole für einige Zeit nach der Erstellung als reguläre Snapshots sichtbar. Wenn wir an dieser Stelle mit einem regulären Snapshot arbeiten, können wir alle Funktionen und Integrationen von RDS direkt nutzen.

 

Zunächst müssen wir einen Trigger einrichten, der auf RDS-Snapshot-Ereignisse reagiert, indem er eine Lambda-Funktion aufruft. Dies kann entweder mit RDS Event Notifications oder Cloudwatch Event Rules geschehen. Wir haben festgestellt, dass letztere bei der Automatisierung einfacher zu handhaben sind, erstere jedoch menschenfreundlicher sind.

Um diese Snapshots exportieren zu können, müssen wir einige Vorbereitungen treffen.

 

Zunächst müssen wir zwei KMS-Verschlüsselungsschlüssel einrichten, einen für den Export und einen für den Import. Dies hat mehrere Gründe:

 

   1. Sie können einen verschlüsselten Snapshot, der den RDS-Standardschlüssel verwendet, nicht freigeben.

   2. Die Verwendung eines eigenen Schlüssels für den Export ermöglicht es, die benötigten Berechtigungen viel enger zu fassen (besonders wichtig, wenn man anderen Konten Zugriff gewährt)

   3. Das getrennte Konto sollte einen Importschlüssel angeben, um den Zugriff unabhängig vom Quellschlüssel zu ermöglichen und zu sichern, nachdem der Snapshot importiert wurde.

 

Zweitens benötigen wir geeignete Zugriffsrechte. Eine Funktion ermöglicht eine schlanke Definition von Berechtigungen für RDS-Snapshots sowie für den KMS-Schlüssel. Wir verwenden die Recovery-Point-Tagging-Funktion, um alle Backup-Snapshots mit einem bestimmten Tag zu versehen.

Kennzeichnen Sie alle Backups mit einer bestimmten Verschlüsselungsschlüssel-ID.

 

Da alle Sicherungs-Snapshots automatisch mit diesem Schlüssel-Wert-Paar gekennzeichnet sind, können wir die Berechtigungen zum Ändern, Freigeben, Kopieren und Bereinigen von Snapshots auf diejenigen mit genau diesen Tags beschränken. Ein Beispiel für eine IAM-Berechtigungsanweisung könnte wie folgt aussehen:

Weitere Blogbeiträge zu diesem Thema

Du hast Fragen? Schreib uns!
Hiermit akzeptiere ich die Datenschutzbestimmungen der Alice&Bob.Company GmbH.
Du hast Fragen? Schreib uns!
Sebastian Schäffer
Head of Business Operations & Growth
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.