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.
Replikation mit Amazon Aurora My SQL
Die SQL Replikationsfunktionen von Aurora My sind entscheidend für die hohe Verfügbarkeit und Leistung Ihres Clusters. Ein Aurora erleichtert das Erstellen und Skalieren von Clustern mit bis zu 15 Aurora-Replikaten.
Alle Replicas arbeiten mit denselben zugrunde liegenden Daten. Wenn einige Datenbank-Instances offline gehen, bleiben andere verfügbar, um die Verarbeitung von Abfragen fortzusetzen oder bei Bedarf als Writer zu übernehmen. Aurora verteilt Ihre schreibgeschützten Verbindungen automatisch auf mehrere Datenbank-Instances und hilft einem Aurora-Cluster, abfrageintensive Workloads zu unterstützen.
In den folgenden Themen finden Sie Informationen darüber, wie Aurora My SQL Replication funktioniert und wie Sie die Replikationseinstellungen für optimale Verfügbarkeit und Leistung optimieren können.
Themen
- Verwendung von Aurora-Replicas
- Replikationsoptionen für Amazon Aurora My SQL
- Überlegungen zur Leistung von Amazon Aurora My SQL Replication
- Neustart ohne Ausfallzeiten (ZDR) für Amazon Aurora My SQL
- Konfiguration von Replikationsfiltern mit Aurora My SQL
- Überwachung der Amazon Aurora My SQL Replication
- Verwenden der lokalen Schreibweiterleitung in einem Amazon Aurora My SQL DB-Cluster
- Replizieren von Amazon Aurora My SQL DB-Clustern auf AWS-Regionen
- Replikation zwischen Aurora und My SQL oder zwischen Aurora und einem anderen Aurora-DB-Cluster (binäre Protokollreplikation)
- Verwenden der GTID basierten Replikation
Verwendung von Aurora-Replicas
Aurora-Replicas sind unabhängige Endpunkte in einem Aurora-DB-Cluster, die die beste Methode für das Skalieren von Leseoperationen und Erhöhen der Verfügbarkeit darstellen. Bis zu 15 Aurora Replicas können auf die Availability Zones verteilt werden, über die sich ein DB-Cluster innerhalb eines AWS-Region. Obwohl das DB-Cluster-Volume aus mehreren Kopien der Daten für den DB-Cluster besteht, werden die Daten im Cluster-Volume für die primäre Instance und für Aurora Replicas im DB-Cluster als ein einziges logisches Volume dargestellt. Weitere Informationen über Aurora-Replicas finden Sie unter Aurora-Replikate.
Aurora Replicas funktionieren für das Skalieren von Lesevorgängen, da sie in Ihrem Cluster-Volume vollständig für Lesevorgänge bereit stehen. Schreibvorgänge werden von der primären Instance verwaltet. Da das Cluster-Volume von allen Instances in Ihrem Aurora My SQL DB-Cluster gemeinsam genutzt wird, ist kein zusätzlicher Arbeitsaufwand erforderlich, um eine Kopie der Daten für jede Aurora Replica zu replizieren. Im Gegensatz dazu müssen My SQL Read Replicas alle Schreibvorgänge von der Quell-DB-Instance in ihren lokalen Datenspeicher in einem einzigen Thread wiedergeben. Diese Einschränkung kann die Fähigkeit von My SQL Read Replicas beeinträchtigen, große Mengen an Leseverkehr zu unterstützen.
Wenn mit Aurora My SQL ein Aurora-Replikat gelöscht wird, wird sein Instanzendpunkt sofort entfernt, und das Aurora-Replikat wird vom Reader-Endpunkt entfernt. Wenn Anweisungen vorhanden sind, die auf dem Aurora-Replica ausgeführt werden, das gerade gelöscht wird, besteht eine Übergangsfrist von drei Minuten. Vorhandene Anweisungen können während der Nachfrist geordnet beendet werden. Nach Ablauf der Nachfrist wird das Aurora-Replikat geschlossen und gelöscht.
Wichtig
Aurora Replicas for Aurora My verwendet SQL immer die REPEATABLE READ
standardmäßige Transaktionsisolationsstufe für Operationen mit InnoDB-Tabellen. Sie können den SET TRANSACTION ISOLATION LEVEL
Befehl verwenden, um die Transaktionsebene nur für die primäre Instance eines Aurora My SQL DB-Clusters zu ändern. Diese Beschränkung vermeidet Sperren auf Benutzerebene in Aurora-Replicas und ermöglicht eine Skalierung der Aurora-Replicas, um tausende aktive Benutzerverbindungen bei gleichzeitig minimaler Replica-Verzögerung zu ermöglichen.
Anmerkung
DDLAnweisungen, die auf der primären Instance ausgeführt werden, können Datenbankverbindungen auf den zugehörigen Aurora Replicas unterbrechen. Wenn eine Aurora Replica-Verbindung aktiv ein Datenbankobjekt verwendet, z. B. eine Tabelle, und dieses Objekt auf der primären Instance mithilfe einer DDL Anweisung geändert wird, wird die Aurora Replica-Verbindung unterbrochen.
Anmerkung
Die Region China (Ningxia) unterstützt keine regionsübergreifenden Lesereplikate.
Replikationsoptionen für Amazon Aurora My SQL
Sie können eine Replikation zwischen allen folgenden Optionen einrichten:
-
Zwei Aurora My SQL DB-Cluster in unterschiedlichen AWS-Regionen, indem Sie eine regionsübergreifende Lesereplik eines Aurora My SQL DB-Clusters erstellen.
Weitere Informationen finden Sie unter Replizieren von Amazon Aurora My SQL DB-Clustern auf AWS-Regionen.
-
Zwei Aurora My SQL DB-Cluster im selben AWS-Region, mithilfe der Replikation von My SQL Binary Log (Binlog).
Weitere Informationen finden Sie unter Replikation zwischen Aurora und My SQL oder zwischen Aurora und einem anderen Aurora-DB-Cluster (binäre Protokollreplikation).
-
Eine RDS for My SQL DB-Instance als Quelle und ein Aurora My SQL DB-Cluster, indem eine Aurora-Lesereplik einer RDS for My SQL DB-Instance erstellt wird.
Sie können diesen Ansatz verwenden, um bestehende und laufende Datenänderungen SQL während der Migration zu Aurora in Aurora My zu übernehmen. Weitere Informationen finden Sie unter Migrieren von Daten von einer RDS for My SQL DB-Instance zu einem Amazon Aurora My SQL DB-Cluster mithilfe einer Aurora-Read Replica.
Sie können diesen Ansatz auch verwenden, um die Skalierbarkeit von Leseabfragen für Ihre Daten zu erhöhen. Sie tun dies, indem Sie die Daten mithilfe einer oder mehrerer DB-Instances innerhalb eines schreibgeschützten Aurora My-Clusters abfragen. SQL Weitere Informationen finden Sie unter Skalierung von Lesevorgängen für Ihre My SQL Database mit Amazon Aurora.
-
Ein Aurora My SQL DB-Cluster in einem AWS-Region und bis zu fünf Aurora My SQL DB-Cluster mit Lesezugriff in verschiedenen Regionen, indem eine globale Aurora-Datenbank erstellt wird.
Sie können eine Aurora globale Datenbank verwenden, um Anwendungen mit einem weltweiten Fußabdruck zu unterstützen. Der primäre Aurora My SQL DB-Cluster hat eine Writer-Instance und bis zu 15 Aurora Replicas. Die schreibgeschützten sekundären Aurora My SQL DB-Cluster können jeweils aus bis zu 16 Aurora Replicas bestehen. Weitere Informationen finden Sie unter Verwenden von Amazon Aurora Global Databases.
Anmerkung
Durch einen Neustart der primären Instance eines Amazon Aurora-DB-Clusters werden auch automatisch die Aurora-Replicas für diesen DB-Cluster neu gestartet, um einen Einstiegspunkt wiederherzustellen, der die Lese-/Schreibkonsistenz innerhalb des DB-Clusters hinweg gewährleistet.
Überlegungen zur Leistung von Amazon Aurora My SQL Replication
Die folgenden Funktionen helfen Ihnen bei der Feinabstimmung der Leistung von Aurora My SQL Replication.
Die Funktion Replica-Protokollkompression reduziert automatisch die Netzwerkbandbreite für Replikationsbenachrichtigungen. Weil jede Benachrichtigung an alle Aurora-Replicas gesendet wird, sind die Vorteile bei umfangreicheren Clustern größer. Diese Funktion erfordert einen gewissen CPU Aufwand für den Writer-Knoten, der die Komprimierung durchführt. In Aurora My SQL Version 2 und Version 3 ist es immer aktiviert.
Die Funktion Binärprotokollfilterung reduziert automatisch die Netzwerkbandbreite für Replikationsbenachrichtigungen. Da Aurora-Replicas die in den Replikationsbenachrichtigungen enthaltene Binärprotokollinformation nicht verwenden, sind diese Daten in den an diese Knoten gesendeten Benachrichtigungen nicht enthalten.
In Aurora My SQL Version 2 können Sie diese Funktion steuern, indem Sie den aurora_enable_repl_bin_log_filtering
Parameter ändern. Dieser Parameter ist standardmäßig aktiviert. Da diese Optimierung transparent sein soll, können Sie diese Einstellung nur während der Diagnose oder Fehlersuche bei Problemen im Zusammenhang mit der Replikation deaktivieren. Sie können dies beispielsweise tun, um dem Verhalten eines älteren Aurora SQL My-Clusters zu entsprechen, in dem diese Funktion nicht verfügbar war.
Die Binlog-Filterung ist in Aurora My SQL Version 3 immer aktiviert.
Überwachung der Amazon Aurora My SQL Replication
Skalieren von Lesevorgängen und hohe Verfügbarkeit hängen von der minimalen Verzögerungszeit ab. Sie können überwachen, wie weit eine Aurora Replica der primären Instance Ihres Aurora My SQL DB-Clusters hinterherhinkt, indem Sie die CloudWatch AuroraReplicaLag
Amazon-Metrik überwachen. Die AuroraReplicaLag
-Metrik wird in jedem Aurora-Replikat aufgezeichnet.
Die primäre DB-Instance zeichnet auch die AuroraReplicaLagMaximum
und AuroraReplicaLagMinimum
CloudWatch Amazon-Metriken auf. Die AuroraReplicaLagMaximum
-Metrik zeichnet die maximale Verzögerung zwischen der primären DB-Instance und jedem Aurora-Replikat im DB-Cluster auf. Die AuroraReplicaLagMinimum
-Metrik zeichnet die minimale Verzögerung zwischen der primären DB-Instance und jedem Aurora-Replikat im DB-Cluster auf.
Wenn Sie den aktuellsten Wert für Aurora Replica-Lag benötigen, können Sie die AuroraReplicaLag
Metrik in Amazon CloudWatch überprüfen. Die Aurora Replica-Verzögerung wird auch auf jeder Aurora-Replica Ihres Aurora My SQL DB-Clusters in der information_schema.replica_host_status
Tabelle aufgezeichnet. Weitere Informationen zu dieser Tabelle finden Sie unter information_schema.replica_host_status.
Weitere Informationen zur Überwachung von RDS Instances und CloudWatch Metriken finden Sie unter. Überwachung von Metriken in einem Amazon-Aurora-Cluster