Replikation mit Amazon Aurora My SQL - Amazon Aurora

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.

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:

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