Heim > Artikel > Backend-Entwicklung > Globale Notfallwiederherstellung für AWS Aurora
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). .
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
Nachteile
Umsetzung
Voraussetzungen
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!