Ein wichtiges Thema insbesondere, wenn man mit Daten arbeitet, sind Backups. Es ist sinnvoll mindestens eine Sicherheitskopie von den Daten zu haben, die wichtig sind, da Systeme nicht 100% verlässlich sind. Beispielsweise, wenn das eigene Handy kaputt geht und du nicht mehr darauf zugreifen kannst, sind alle deine Bilder und Chats weg. Durch ein Backup ist es möglich die Daten wiederherzustellen (Restore). Dabei wird der Stand im Backup wieder zur Verfügung gestellt. Natürlich kann es sein, dass dazwischen schon einige Tage oder Wochen vergangen sind, aber zumindest ist noch ein Teil der Daten erhalten. Dieser Zeitraum zwischen zwei Backups nennt sich auch Recovery Point Objective (RPO). Zusätzlich gibt es auch noch die Recovery Time Objective (RTO), die beschreibt wie lange ein System ausfallen darf. Zum Beispiel wie lange kommst du ohne dein Handy zu Recht, wenn es kaputt ist?
AWS bietet je nach eingesetztem Dienst unterschiedliche Möglichkeiten zur Datensicherung. Bei Amazon RDS können zum Beispiel Snapshots der Datenbank erstellt werden. Die Amazon RDS Snapshots sind inkrementell. Dadurch werden nur die Daten des Volumens gespeichert, die sich seit dem letzten Snapshot geändert haben, wie es auch in der Abbildung zu sehen ist. Die gleichbleibenden Daten werden referenziert und müssen somit nicht doppelt gespeichert werden, wodurch die Speicherkosten reduziert werden. Direkt im Amazon RDS Service lässt sich die Datensicherung automatisiert konfigurieren und verwalten. Dies erleichtert Anwendern die Sicherung und Wiederherstellung direkt aus der Amazon RDS Service Konsole. Andere Services wie z.B. Amazon EC2 (virtuelle Maschinen), Amazon Windows FSx for Windows File Server (SMB Shares), Amazon EFS (NFS Shares) bieten ebenfalls die Funktion für Backup & Recovery. Um die Verwaltung über mehrere Services hinweg zu vereinfach und zu zentralisieren kann AWS Backup genutzt werden. Dies ermöglicht auf in grossen und komplexen Umgebungen eine zentrales, konsistentes Management aller Backups.
In diesem Abschnitt wird am Beispiel von Amazon RDS die Funktionsweise von AWS Backup vorgestellt.
workshop-db
auswählen und auf Modify klicken.Mit diesem Schritt wird nun täglich zur definierten Uhrzeit eine Datensicherung der Datenbank durchgeführt und jeweils für 1 Tag aufbewahrt. Da es je nach Zeitfenster etwas dauern kann, bevor das nächste automatische Backup erstellt wird, wird im nächsten Schritt ein manuelles Backup erstellt, welches dann für die Wiederherstellung verwendet wird.
workshop-db
auswählen und über Actions auf Take snapshot klicken.ondemandbackup
eingeben.workshop-db
klicken.ondemandbackup
auswählen und auf Restore klicken.Multi-AZ DB instance
auswählen.workshop-db-restore
eingeben.Workshop-RDS-SG
. Wähle die default
Security group ab.db.t3.micro
auswählen.Die Wiederherstellung der Datenbank von einem Snapshot hat immer zu Folge, dass eine neue DB Instanz erstellt wird. Aus Sicherheitsgründen ist es nicht möglich, eine bestehende Instanz zu überschreiben. Nach dem Restore gibt es verschiedene Möglichkeiten: Entweder wird die wiederhergestellte Datenbank als produktive Instanz weiter verwendet und die Umgebungsvariablen in der Task Definition der Backend Container werden angepasst. Oder die Daten werden über die DB Engine extrahiert und auf die originale Instanz kopiert (DB Dump & Restore).
Um zu testen, ob das Wiederherstellen geklappt hat durch den Snapshot, muss nun die neue Datenbank ondemandbackup genutzt werden.
workshop-backend
aus.workshop-cluster
aus.In diesem Kapitel wurde AWS Backup eingeführt, um die Handhabung und das Erstellen von Backups für Datenbanken wie Amazon RDS zu vereinfachen. Danach wurde das Erstellen von einem Snapshot und die Wiederherstellung der Datenbank an einem Praxisbeispiel durchgeführt. Backups helfen die Anwendungen in der Cloud zuverlässiger zu machen und alte Zwischenstände bei Bedarf wieder herzustellen.
Herzlichen Glückwunsch! Du hast erfolgreich die Todo-App implementiert und deine erste Backup-Strategie angewendet. Im nächsten Kapitel folgt noch die Zusammenfassung des ganzen Moduls.