Heim  >  Artikel  >  Backend-Entwicklung  >  Globale Notfallwiederherstellung für AWS Aurora

Globale Notfallwiederherstellung für AWS Aurora

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-20 15:45:14438Durchsuche

Im Falle einer globalen Notfallwiederherstellung ist es wichtig, dass die Datenbanksicherung in einem anderen AWS-Konto gespeichert wird. Aurora RDS kann DB-Backups in eine andere Region oder ein anderes Konto kopieren, jedoch nicht beides. Darüber hinaus wird das kontoübergreifende Kopieren nicht unterstützt, wenn der Aurora-DB-Cluster mit von AWS verwalteten Schlüsseln bereitgestellt wird. Das Ändern eines Clusterschlüssels erfordert eine erneute Clusterbereitstellung.

Für einen solchen Anwendungsfall besteht einer der Ansätze darin, AWS-Backup zu verwenden

Für einen solchen Anwendungsfall einer der im AWS-Dokument beschriebenen Ansätze: Schutz verschlüsselter Amazon RDS-Instanzen durch konto- und regionsübergreifende Sicherungen.

Die AWS-Dokumentation basiert jedoch auf der AWS Cloudformation-Vorlage. Ich habe dies mit Terraform neu erstellt.

Dieser Ansatz bietet die Flexibilität, AWS Aurora-Backups sowohl konto- als auch regionsübergreifend in Vault zu kopieren. Wir benötigen nicht, dass der Aurora-Cluster mit einem benutzerdefinierten KMS-Schlüssel bereitgestellt wird.

Die Lösung verwendet einen AWS Backup-Plan, um geplante Sicherungen der Amazon RDS-Datenbank in einem Quelltresor (Prod-Region, Prod-Konto) zu erstellen.
Derselbe Backup-Plan definiert eine Kopierregel, die das Backup in einen Zwischentresor im selben Konto, aber in einer DR-Region (Produktkonto, DR-Speicherregion) kopiert.

Die Lösung verwendet dann EventBridge, um den erfolgreichen Abschluss des AWS Backup-Kopierauftrags zu erfassen und verwendet diese Ereignisse, um eine AWS Lambda-Funktion auszulösen. Die AWS Lambda-Funktion verwendet dann AWS Backup, um einen weiteren Sicherungskopierauftrag auszuführen, um die Sicherung aus dem Zwischentresor im Produktkonto in den Zieltresor zu kopieren, der sich in einem DR-Konto befindet (DR-Konto, DR-Speicherregion). .

Global Disaster recovery for AWS Aurora

Quelle:https://aws.amazon.com/blogs/storage/protecting-encrypted-amazon-rds-instances-with-cross-account-and-cross-region-backups/

Die RDS-DB-Instance, die mit dem von AWS verwalteten Standard-RDS-KMS-Schlüssel im Produktionskonto verschlüsselt ist, wird von AWS Backup in einem SourceVault gesichert (konfiguriert für die Verwendung der cmk-source-vault-account-a-region-a-Verschlüsselung). ) und das Backup wird dann in den IntermediateVault kopiert (konfiguriert für die Verwendung). cmk-intermediate-vault-account-a-region-b Verschlüsselung). Obwohl der SourceVault für die Verwendung der „cmk-source-vault-account-a-region-a“-Verschlüsselung konfiguriert ist, wird der im SourceVault gespeicherte Amazon RDS-Snapshot weiterhin mit dem von AWS verwalteten Standard-RDS-KMS verschlüsselt Schlüssel (aws/rds). Durch den Schritt des Kopierens des Snapshots von SourceVault nach IntermediateVault wird der Snapshot entschlüsselt und mit „cmk-intermediate-vault-account-a-region-b“ im IntermediateVault erneut verschlüsselt. Der vom Kunden verwaltete Schlüssel „cmk-intermediate-vault-account-a-region-b“ kann dann für das DR-Sicherungskonto freigegeben werden, um für die kontoübergreifende Kopie verwendet zu werden. Beim kontoübergreifenden Kopieren wird der Snapshot erneut mit dem Ziel-Vault-Schlüssel „cmk-destination-vault-account-b-region-b“ neu verschlüsselt.

Nachdem der Kopiervorgang in den IntermediateVault abgeschlossen ist, identifiziert eine EvenBridge-Regel im Produktionskonto (Konto A, Region A) das Ereignis „Kopierauftrag abgeschlossen“ und leitet das Ereignis an die EventBridge in Konto A, Region B weiter wiederum löst eine Lambda-Funktion aus. Die Lambda-Funktion prüft, ob die entsprechenden Tags auf den Wiederherstellungspunkten vorhanden sind, und fordert AWS Backup auf, die Sicherung vom Produktionskonto (Konto A, Region B, IntermediateVault) in das DR-Sicherungskonto (Konto B, Region B, DestinationVault) zu kopieren. um eine konten- und regionsübergreifende Sicherungskopie zu erstellen.

Vorteile

  • Aurora-Cluster müssen nicht erneut bereitgestellt werden
  • DR-Sicherungskopie in einer anderen Region.

Nachteile

  • Komplizierte Lösung.

Umsetzung

Voraussetzungen

  • Eine vorhandene Organisationsstruktur, die in AWS Organizations konfiguriert ist
  • Kontenübergreifende Funktion von AWS Backup in der Organisation aktiviert
  • Aktivieren Sie die Sicherung von Amazon RDS in jeder Region

Backup-Ablauf
RDS/S3/EFS-Instanz → AWS-Backup in den Vault Ihres Kontos → Kontoübergreifendes Kopierbackup von Ihrem Vault in den GDR-Vault

Sie können den Terraform-Code von Github Repo erhalten

Das obige ist der detaillierte Inhalt vonGlobale Notfallwiederherstellung für AWS Aurora. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn