Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Automatisieren Sie regionsübergreifendes Failover und Failback mithilfe des DR Orchestrator Framework
Erstellt von Jitendra Kumar (AWS), Oliver Francis (AWS) und Pavithra Balasubramanian (AWS)
Übersicht
Dieses Muster beschreibt, wie DR Orchestrator Framework verwendet wird, um die manuellen, fehleranfälligen Schritte zur Durchführung der Notfallwiederherstellung in allen Amazon Web Services () -Regionen zu orchestrieren und zu automatisieren.AWS Das Muster deckt die folgenden Datenbanken ab:
Amazon Relational Database Service (Amazon RDS) für MySQL, Amazon RDS for PostgreSQL oder Amazon RDS for MariaDB
Amazon Aurora MySQL-Compatible Edition oder Amazon Aurora PostgreSQL-Compatible Edition (mit einer zentralisierten Datei)
Amazon ElastiCache (Redis OSS)
Um die Funktionalität von DR Orchestrator Framework zu demonstrieren, erstellen Sie zwei DB-Instances oder Cluster. Die primäre befindet sich in der und AWS-Region us-east-1
die sekundäre befindet sich inus-west-2
. Um diese Ressourcen zu erstellen, verwenden Sie die AWS CloudFormation Vorlagen im App-Stack
Ordner des GitHub Repositorys aws-cross-region-dr-databases
Voraussetzungen und Einschränkungen
Allgemeine Voraussetzungen
DR Orchestrator Framework wird sowohl primär als auch sekundär bereitgestellt AWS-Regionen
Eine virtuelle private Cloud (VPC)
mit zwei Subnetzen und einer AWS Sicherheitsgruppe
Engine-spezifische Voraussetzungen
Amazon Aurora — Mindestens eine globale Aurora-Datenbank muss in zwei verfügbar sein AWS-Regionen. Sie können
us-east-1
es als primäre Region undus-west-2
als sekundäre Region verwenden.Amazon ElastiCache (Redis OSS) — Ein ElastiCache globaler Datenspeicher muss in zwei Einheiten verfügbar sein. AWS-Regionen Sie können
use us-east-1
es als primäre Region undus-west-2
als sekundäre Region verwenden.
Einschränkungen von Amazon RDS
DR Orchestrator Framework überprüft die Verzögerung bei der Replikation nicht, bevor ein Failover oder Failback durchgeführt wird. Die Replikationsverzögerung muss manuell überprüft werden.
Diese Lösung wurde mit einer primären Datenbankinstanz mit einer Read Replica getestet. Wenn Sie mehr als eine Read Replica verwenden möchten, testen Sie die Lösung gründlich, bevor Sie sie in einer Produktionsumgebung implementieren.
Einschränkungen von Aurora
Die Verfügbarkeit und der Support von Funktionen variieren je nach Version der einzelnen Datenbank-Engines und zwischen den einzelnen Versionen AWS-Regionen. Weitere Informationen zur Verfügbarkeit von Funktionen und Regionen für die regionsübergreifende Replikation finden Sie unter Regionsübergreifende Read Replicas.
Für globale Aurora-Datenbanken gelten spezifische Konfigurationsanforderungen für unterstützte Aurora-DB-Instance-Klassen und die maximale Anzahl von AWS-Regionen. Weitere Informationen finden Sie unter Konfigurationsanforderungen für eine globale Amazon Aurora Aurora-Datenbank.
Diese Lösung wurde mit einer primären Datenbank-Instance mit einer Read Replica getestet. Wenn Sie mehr als eine Read Replica verwenden möchten, testen Sie die Lösung gründlich, bevor Sie sie in einer Produktionsumgebung implementieren.
ElastiCache Einschränkungen
Informationen zur regionalen Verfügbarkeit für Global Datastore und zu den ElastiCache Konfigurationsanforderungen finden Sie in der ElastiCache Dokumentation unter Voraussetzungen und Einschränkungen.
Amazon RDS-Produktversionen
Amazon RDS unterstützt die folgenden Engine-Versionen:
MySQL — Amazon RDS unterstützt DB-Instances, auf denen die folgenden Versionen von MySQL ausgeführt werden: MySQL 8.0 und MySQL 5.7
PostgreSQL — Informationen zu unterstützten Versionen von Amazon RDS for PostgreSQL finden Sie unter Verfügbare PostgreSQL-Datenbankversionen.
MariaDB 10.11
MariaDB 10.6
MariaDB 10.5
Aurora-Produktversionen
Für den globalen Datenbank-Switchover von Amazon Aurora ist Aurora MySQL-kompatibel mit MySQL 5.7-Kompatibilität, Version 2.09.1 und höher erforderlich
Weitere Informationen finden Sie unter Einschränkungen der globalen Amazon Aurora Aurora-Datenbanken.
ElastiCache (Redis OSS) -Produktversionen
Amazon ElastiCache (Redis OSS) unterstützt die folgenden Redis-Versionen:
Redis 7.1 (erweitert)
Redis 7.0 (erweitert)
Redis 6.2 (erweitert)
Redis 6.0 (erweitert)
Redis 5.0.6 (erweitert)
Weitere Informationen finden Sie unter Unterstützte Versionen ElastiCache (Redis OSS).
Architektur
Amazon RDS-Architektur
Die Amazon RDS-Architektur umfasst die folgenden Ressourcen:
Die in der primären Region (
us-east-1
) erstellte primäre Amazon RDS-DB-Instance mit Lese-/Schreibzugriff für KundenEine Amazon RDS-Lesereplik, die in der sekundären Region (
us-west-2
) mit schreibgeschütztem Zugriff für Kunden erstellt wurdeDas DR Orchestrator Framework wird sowohl in der primären als auch in der sekundären Region eingesetzt

Das Diagramm zeigt Folgendes:
Asynchrone Replikation zwischen der primären Instance und der sekundären Instance
Lese-/Schreibzugriff für Clients in der primären Region
Nur-Lese-Zugriff für Clients in der sekundären Region
Aurora-Architektur
Die Amazon Aurora Aurora-Architektur umfasst die folgenden Ressourcen:
Der primäre Aurora-DB-Cluster, der in der primären Region (
us-east-1
) mit einem Active-Writer-Endpunkt erstellt wurdeEin Aurora-DB-Cluster, der in der sekundären Region (
us-west-2
) mit einem inaktiven Writer-Endpunkt erstellt wurdeDas DR Orchestrator Framework wird sowohl in der primären als auch in der sekundären Region eingesetzt

Das Diagramm zeigt Folgendes:
Asynchrone Replikation zwischen dem primären Cluster und dem sekundären Cluster
Der primäre DB-Cluster mit einem Active-Writer-Endpunkt
Der sekundäre DB-Cluster mit einem inaktiven Writer-Endpunkt
ElastiCache (Redis OSS) -Architektur
Die Amazon-Architektur ElastiCache (Redis OSS) umfasst die folgenden Ressourcen:
Ein globaler Datenspeicher ElastiCache (Redis OSS), der mit zwei Clustern erstellt wurde:
Der primäre Cluster in der primären Region ()
us-east-1
Der sekundäre Cluster in der sekundären Region (
us-west-2
)
Ein regionsübergreifender Amazon-Link mit TLS 1.2-Verschlüsselung zwischen den beiden Clustern
DR Orchestrator Framework wird sowohl in primären als auch in sekundären Regionen eingesetzt

Automatisierung und Skalierung
DR Orchestrator Framework ist skalierbar und unterstützt den Failover oder Failback von mehr als einer AWS Datenbank parallel.
Sie können den folgenden Payload-Code verwenden, um ein Failover für mehrere AWS Datenbanken in Ihrem Konto durchzuführen. In diesem Beispiel führen drei AWS Datenbanken (zwei globale Datenbanken wie Aurora MySQL-kompatibel oder Aurora PostgreSQL-kompatibel und eine Amazon RDS for MySQL MySQL-Instance) ein Failover zur DR-Region durch:
{ "StatePayload": [ { "layer": 1, "resources": [ { "resourceType": "PlannedFailoverAurora", "resourceName": "Switchover (planned failover) of Amazon Aurora global databases (MySQL)", "parameters": { "GlobalClusterIdentifier": "!Import dr-globaldb-cluster-mysql-global-identifier", "DBClusterIdentifier": "!Import dr-globaldb-cluster-mysql-cluster-identifier" } }, { "resourceType": "PlannedFailoverAurora", "resourceName": "Switchover (planned failover) of Amazon Aurora global databases (PostgreSQL)", "parameters": { "GlobalClusterIdentifier": "!Import dr-globaldb-cluster-postgres-global-identifier", "DBClusterIdentifier": "!Import dr-globaldb-cluster-postgres-cluster-identifier" } }, { "resourceType": "PromoteRDSReadReplica", "resourceName": "Promote RDS for MySQL Read Replica", "parameters": { "RDSInstanceIdentifier": "!Import rds-mysql-instance-identifier", "TargetClusterIdentifier": "!Import rds-mysql-instance-global-arn" } } ] } ] }
Tools
AWS Dienste
Amazon Aurora ist eine vollständig verwaltete relationale Datenbank-Engine, die für die Cloud entwickelt wurde und mit MySQL und PostgreSQL kompatibel ist.
Amazon ElastiCache unterstützt Sie bei der Einrichtung, Verwaltung und Skalierung verteilter In-Memory-Cache-Umgebungen in der AWS Cloud. Dieses Muster verwendet Amazon ElastiCache (Redis OSS).
AWS Lambda
ist ein Datenverarbeitungsservice, mit dem Sie Code ausführen können, ohne dass Sie Server bereitstellen oder verwalten müssen. Es führt Ihren Code nur bei Bedarf aus und skaliert automatisch, sodass Sie nur für die tatsächlich genutzte Rechenzeit zahlen. In diesem Muster werden Lambda-Funktionen verwendet AWS Step Functions , um die Schritte auszuführen. Amazon Relational Database Service (Amazon RDS) unterstützt Sie bei der Einrichtung, dem Betrieb und der Skalierung einer relationalen Datenbank in der. AWS Cloud Dieses Muster unterstützt Amazon RDS for MySQL, Amazon RDS for PostgreSQL und Amazon RDS for MariaDB.
AWS SDK für Python (Boto3)
hilft Ihnen bei der Integration Ihrer Python-Anwendung, -Bibliothek oder Ihres Skripts mit AWS-Services. In diesem Muster APIs werden Boto3 verwendet, um mit den Datenbankinstanzen oder globalen Datenbanken zu kommunizieren. AWS Step Functions
ist ein serverloser Orchestrierungsdienst, mit dem Sie AWS Lambda Funktionen und andere Funktionen kombinieren können, um geschäftskritische Anwendungen AWS-Services zu erstellen. In diesem Muster werden Step Functions Functions-Zustandsmaschinen verwendet, um den regionsübergreifenden Failover und das Failback der Datenbankinstanzen oder globalen Datenbanken zu orchestrieren und auszuführen.
Code-Repository
Der Code für dieses Muster ist im Repository aws-cross-region-dr-databases
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Klonen Sie das GitHub Repository. | Führen Sie den folgenden Befehl aus, um das Repository zu klonen:
| AWS DevOps, AWS-Administrator |
Paketieren Sie den Code der Lambda-Funktionen in einem ZIP-Dateiarchiv. | Erstellen Sie die Archivdateien für Lambda-Funktionen, um die DR Orchestrator Framework-Abhängigkeiten einzubeziehen:
| AWS-Administrator |
Erstellen Sie S3-Buckets. | S3-Buckets werden benötigt, um DR Orchestrator Framework zusammen mit Ihrer neuesten Konfiguration zu speichern. Erstellen Sie zwei S3-Buckets, einen in der primären Region (
| AWS-Administrator |
Erstellen Sie Subnetze und Sicherheitsgruppen. | Erstellen Sie sowohl in der primären Region (
| AWS-Administrator |
Aktualisieren Sie die DR Orchestrator-Parameterdateien. | Aktualisieren Sie in dem
Verwenden Sie die folgenden Parameterwerte
| AWS-Administrator |
Laden Sie den DR Orchestrator Framework-Code in den S3-Bucket hoch. | Der Code ist in einem S3-Bucket sicherer als im lokalen Verzeichnis. Laden Sie das Gehen Sie wie folgt vor, um den Code hochzuladen:
| AWS-Administrator |
Stellen Sie das DR Orchestrator Framework in der primären Region bereit. | Führen Sie die folgenden Befehle aus, um DR Orchestrator Framework in der primären Region (
| AWS-Administrator |
Stellen Sie das DR Orchestrator Framework in der sekundären Region bereit. | Führen Sie in der sekundären Region (
| AWS-Administrator |
Überprüfen Sie die Bereitstellung. | Wenn der AWS CloudFormation Befehl erfolgreich ausgeführt wird, gibt er die folgende Ausgabe zurück:
Alternativ können Sie zur AWS CloudFormation Konsole navigieren und den Status des | AWS-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die Datenbank-Subnetze und Sicherheitsgruppen. | Erstellen Sie in Ihrer VPC zwei Subnetze und eine Sicherheitsgruppe für die DB-Instance oder globale Datenbank sowohl in der primären (
| AWS-Administrator |
Aktualisieren Sie die Parameterdatei für die primäre DB-Instance oder den Cluster. | Aktualisieren Amazon RDS Aktualisieren Sie in der
Amazon Aurora Aktualisieren Sie in der
Amazon ElastiCache (Redis OSS) Geben Sie in der
| AWS-Administrator |
Stellen Sie Ihre DB-Instance oder Ihren Cluster in der primären Region bereit. | Um Ihre Instance oder Ihren Cluster in der primären Region ( Amazon RDS
Amazon Aurora
Amazon ElastiCache (Redis OSS)
Stellen Sie sicher, dass die AWS CloudFormation Ressourcen erfolgreich bereitgestellt wurden. | AWS-Administrator |
Aktualisieren Sie die Parameterdatei für die sekundäre DB-Instance oder den Cluster. | Aktualisieren Amazon RDS Aktualisieren Sie die
Amazon Aurora Aktualisieren Sie in der
Amazon ElastiCache (Redis OSS) Geben Sie in der
| AWS-Administrator |
Stellen Sie Ihre DB-Instance oder Ihren Cluster in der sekundären Region bereit. | Führen Sie die folgenden Befehle basierend auf Ihrer Datenbank-Engine aus. Amazon RDS
Amazon Aurora
Amazon ElastiCache (Redis OSS)
Stellen Sie sicher, dass die AWS CloudFormation Ressourcen erfolgreich bereitgestellt wurden. | AWS-Administrator |
Zugehörige Ressourcen
Strategie zur Notfallwiederherstellung für Datenbanken auf AWS (AWS Prescriptive Guidance-Strategie)
Automatisieren Sie Ihre DR-Lösung für relationale Datenbanken auf AWS (AWS Prescriptive Guidance Guide Guide)
Automatisieren Sie Ihre DR-Lösung für relationale Datenbanken auf AWS (AWS Prescriptive Guidance Guide)