REL09-BP04 Verifizieren der Sicherungsintegrität und -verfahren durch regelmäßiges Wiederherstellen der Daten - AWS Well-Architected Framework

REL09-BP04 Verifizieren der Sicherungsintegrität und -verfahren durch regelmäßiges Wiederherstellen der Daten

Überprüfen Sie mit einem Wiederherstellungstest, ob sich mit Ihren Sicherungsverfahren das Recovery Time Objective (RTO) und das Recovery Point Objective (RPO) einhalten lassen.

Gewünschtes Ergebnis: Daten aus Backups werden regelmäßig mithilfe klar definierter Mechanismen wiederhergestellt, um zu überprüfen, ob die Wiederherstellung innerhalb des festgelegten Recovery Time Objective (RTO) für die Workload möglich ist. Überprüfen Sie, dass die Wiederherstellung aus einem Backup in eine Ressource erfolgt, die die Originaldaten enthält und dass keine dieser Daten korrupt oder nicht zugänglich sind, sowie dass sich der Datenverlust im Rahmen des Recovery Point Objective (RPO) bewegt.

Typische Anti-Muster:

  • Wiederherstellung eines Backups ohne Abfrage oder Abruf von Daten, um zu überprüfen, ob die Wiederherstellung funktionsfähig ist.

  • Es wird angenommen, dass ein Backup existiert.

  • Es wird angenommen, dass das Backup eines System voll funktionsfähig ist und Daten daraus wiederhergestellt werden können.

  • Es wird angenommen, dass die Zeit für das Wiederherstellen von Daten aus einem Backup innerhalb des RTO für die Workload liegt.

  • Es wird angenommen, dass die im Backup enthaltenen Daten in das RPO für die Workload fallen.

  • Wiederherstellung bei Bedarf, ohne ein Runbook zu verwenden oder außerhalb eines etablierten automatisierten Verfahrens.

Vorteile der Nutzung dieser bewährten Methode: Durch das Testen der Wiederherstellung der Backups wird überprüft, ob Daten bei Bedarf wiederhergestellt werden können, ohne befürchten zu müssen, dass Daten fehlen oder beschädigt sein könnten, ob die Wiederherstellung innerhalb des RTO für die Workload möglich ist und ob Datenverluste innerhalb des RPO für die Workload fallen.

Risikostufe, wenn diese bewährte Methode nicht eingeführt wird: Mittel

Implementierungsleitfaden

Das Testen der Sicherungs- und Wiederherstellungsfunktionen stärkt das Vertrauen in die Fähigkeit zur Durchführung dieser Aktionen während eines Ausfalls. Stellen Sie regelmäßig Backups an einem neuen Speicherort wieder her und führen Sie Tests aus, um die Datenintegrität zu überprüfen. Einige übliche Tests sind die Überprüfung, ob alle Daten verfügbar, nicht beschädigt und zugreifbar sind und ob ein Datenverlust innerhalb des RPO für die Workload liegt. Solche Tests können dabei helfen, zu ermitteln, ob die Wiederherstellungsmechanismen schnell genug sind, um dem RTO der Workload gerecht zu werden.

Mit AWS können Sie eine Testumgebung einrichten und Ihre Sicherungen wiederherstellen, um RTO- und RPO-Funktionen zu bewerten und Tests für Dateninhalte und Integrität durchzuführen.

Darüber hinaus ermöglichen Amazon RDS und Amazon DynamoDB eine zeitpunktbezogene Wiederherstellung (PITR). Durch die kontinuierliche Sicherung können Sie Ihren Datensatz in den Zustand zurücksetzen, in dem er sich an einem bestimmten Datum und zu einer bestimmten Uhrzeit befand.

Testen Sie, ob alle Daten verfügbar, nicht beschädigt und zugreifbar sind und ob ein Datenverlust innerhalb des RPO für die Workload liegt. Solche Tests können dabei helfen, zu ermitteln, ob die Wiederherstellungsmechanismen schnell genug sind, um dem RTO der Workload gerecht zu werden.

AWS Elastic Disaster Recovery bietet eine kontinuierliche, zeitpunktbezogene Wiederherstellung von Snapshots von Amazon EBS-Volumes. Bei der Replikation von Quellservern werden die Point-in-Time-Zustände auf der Grundlage der konfigurierten Richtlinie im Laufe der Zeit aufgezeichnet. Elastic Disaster Recovery hilft Ihnen, die Integrität dieser Snapshots zu überprüfen, indem Sie Instances zu Test- und Übungszwecken starten, ohne den Datenverkehr weiterzuleiten.

Implementierungsschritte

  1. Identifizieren Sie Datenquellen, die derzeit gesichert werden, und den Speicherort dieser Backups. Eine Anleitung zur Implementierung finden Sie unter REL09-BP01 Ermitteln und Sichern aller zu sichernden Daten oder Reproduzieren der Daten aus Quellen.

  2. Legen Sie für jede Datenquelle Kriterien für die Datenvalidierung fest. Verschieden Datentypen können unterschiedliche Eigenschaften aufweisen und somit auch unterschiedliche Validierungsmechanismen erfordern. Überlegen Sie, wie diese Daten validiert werden können, bevor Sie sie in der Produktion einsetzen. Häufig werden für die Datenvalidierung Daten- und Sicherungseigenschaften wie Datentyp, Format, Prüfsumme, Größe oder eine Kombination dieser Eigenschaften mit einer benutzerdefinierten Validierungslogik verwendet. Ein Beispiel hierfür wäre der Vergleich der Prüfsummenwerte zwischen der wiederhergestellten Ressource und der Datenquelle zum Zeitpunkt der Erstellung des Backups.

  3. Bestimmen Sie das RTO und RPO für die Wiederherstellung der Daten auf der Grundlage der Kritikalität der Daten. Eine Anleitung zur Implementierung finden Sie unter REL13-BP01 Definieren von Wiederherstellungszielen bei Ausfällen und Datenverlusten.

  4. Bewerten Sie Ihre Wiederherstellungsfunktion. Prüfen Sie Ihre Sicherungs- und Wiederherstellungsstrategie, um festzustellen, ob sie Ihr RTO und RPO erfüllen kann, und passen Sie die Strategie bei Bedarf an. Mithilfe von AWSResilience Hub können Sie eine Bewertung Ihrer Workload durchführen. Dabei wird Ihre Anwendungskonfiguration im Hinblick auf die Ausfallsicherheitsrichtlinien bewertet und Sie erfahren, ob Ihre RTO- und RPO-Ziele erfüllt werden können.

  5. Führen Sie eine Testwiederherstellung mit derzeit etablierten Prozessen durch, die in der Produktion für die Datenwiederherstellung verwendet werden. Diese Prozesse hängen davon ab, wie die ursprüngliche Datenquelle gesichert wurde sowie vom Format und der Speicherung des Backups selbst oder davon, ob die Daten aus anderen Quellen reproduziert werden. Wenn Sie beispielsweise einen verwalteten Service wie AWS Backup verwenden, kann es sich einfach um das Wiederherstellen des Backups auf einer neuen Ressource handeln. Wenn Sie AWS Elastic Disaster Recovery verwendet haben, können Sie eine Wiederherstellungsübung starten.

  6. Überprüfen Sie die Datenwiederherstellung von der wiederhergestellten Ressource anhand von Kriterien, die Sie zuvor für die Datenvalidierung festgelegt haben. Enthalten die wiederhergestellten Daten den neuesten Datensatz bzw. das neueste Element zum Zeitpunkt des Backups? Fallen diese Daten in das RPO für die Workload?

  7. Messen Sie den Zeitaufwand für die Wiederherstellung und vergleichen Sie ihn mit Ihrem festgelegten RTO. Ist dieser Prozess Teil des RTO für die Workload? Vergleichen Sie beispielsweise den Zeitstempel des Starts des Wiederherstellungsprozesses und des Abschlusses der Wiederherstellungsbewertung, um zu ermitteln, wie lange dieser Prozess dauert. Alle AWS API-Aufrufe sind mit einem Zeitstempel versehen und diese Informationen sind in AWS CloudTrail verfügbar. Während diese Informationen Details dazu liefern können, wann der Wiederherstellungsprozess gestartet wurde, sollte der End-Zeitstempel für den Abschluss der Validierung von der Validierungslogik aufgezeichnet werden. Wenn Sie einen automatisierten Prozess verwenden, können Services wie Amazon DynamoDB verwendet werden, um diese Informationen zu speichern. Darüber hinaus können viele AWS-Services ein Ereignisprotokoll bereitstellen, das mit einem Zeitstempel versehene Informationen dazu enthält, wann bestimmte Aktionen aufgetreten sind. In AWS Backup werden Sicherungs- und Wiederherstellungsaktionen als Aufträge bezeichnet. Diese Aufträge enthalten Zeitstempelinformationen als Teil der Metadaten, anhand derer die für die Wiederherstellung benötigte Zeit gemessen werden kann.

  8. Informieren Sie die Stakeholder, wenn die Datenvalidierung fehlschlägt oder wenn die für die Wiederherstellung benötigte Zeit das für die Workload festgelegte RTO überschreitet. Bei der Implementierung von Automatisierung zu diesem Zweck (wie in dieser Übung) können Services wie Amazon Simple Notification Service (Amazon SNS) verwendet werden, um Push-Benachrichtigungen wie E-Mail- oder SMS-Nachrichten an Stakeholder zu senden. Diese Nachrichten können auch in Messaging-Anwendungen wie Amazon Chime, Slack oder Microsoft Teams veröffentlicht werden oder zum Erstellen von Aufgaben als OpsItems mit AWS Systems Manager OpsCenter verwendet werden.

  9. Automatisieren Sie diesen Prozess so, dass er regelmäßig ausgeführt wird. Sie können beispielsweise Services wie AWS Lambda oder einen Zustandsautomaten in AWS Step Functions nutzen, um die Wiederherstellungsprozesse zu automatisieren. Außerdem können Sie Amazon EventBridge verwenden, um diesen automatisierten Workflow regelmäßig aufzurufen, wie im folgenden Architekturdiagramm abgebildet. Erfahren Sie, wie Sie die Validierung der Datenwiederherstellung mit AWS Backup automatisieren. Darüber hinaus bietet dieses Well-Architected-Lab praktische Erfahrungen mit einer Möglichkeit, mehrere der hier beschriebenen Schritte zu automatisieren.

Diagramm: automatisierter Sicherungs- und Wiederherstellungsprozess

Abbildung 9. Ein automatisierter Sicherungs- und Wiederherstellungsprozess

Aufwand für den Implementierungsplan: Mittel bis hoch, abhängig von der Komplexität der Validierungskriterien.

Ressourcen

Zugehörige Dokumente:

Zugehörige Beispiele: