Replikation mit Amazon Aurora PostgreSQL - 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 PostgreSQL

Im Folgenden finden Sie Informationen zur Replikation mit Amazon Aurora PostgreSQL und wie sie diese überwachen.

Verwendung von Aurora-Replicas

Eine Aurora Replica ist ein unabhängiger Endpunkt in einem Aurora-DB-Cluster, die die beste Methode für das Skalieren von Leseoperationen und Erhöhen der Verfügbarkeit darstellen. Ein Aurora-DB-Cluster kann bis zu 15 Aurora-Replikate enthalten, die sich in den Availability Zones der AWS Region des Aurora-DB-Clusters befinden.

Das DB-Cluster-Volume besteht aus mehreren Kopien der Daten für den DB-Cluster. Die Daten im Cluster-Volume werden jedoch als ein einzelnes logisches Volume der primären Writer-DB-Instance und der Aurora-Replicas im DB-Cluster dargestellt. Weitere Informationen über Aurora-Replicas finden Sie unter Aurora-Replikate.

Aurora Replicas eignen sich für das Skalieren von Lesevorgängen, da sie in Ihrem Cluster-Volume ausschließlich für Lesevorgänge bereitstehen. Schreibvorgänge werden von der Writer-DB-Instance verwaltet. Das Cluster-Volume wird von allen Instance in Ihrem Aurora PostgreSQL-DB-Cluster gemeinsam genutzt. Daher ist keine zusätzliche Arbeit erforderlich, um eine Kopie der Daten für jede Aurora Replica zu replizieren.

Mit Aurora PostgreSQL wird beim Löschen eines Aurora-Replica der Instance-Endpunkt sofort entfernt und das Aurora-Replica vom Leser-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.

DB-Cluster von Aurora PostgreSQL unterstützen Aurora Replicas in verschiedenen - AWS Regionen unter Verwendung der globalen Aurora-Datenbank. Weitere Informationen finden Sie unter Verwenden von Amazon Aurora Global Databases.

Anmerkung

Mit der verbesserten Leseverfügbarkeitsfunktion müssen Sie die Aurora Replicas im DB-Cluster ggf. manuell neu starten. Für die DB-Cluster, die vor Einführung dieser Funktion erstellt wurden, werden durch einen Neustart der Writer-DB-Instance automatisch die Aurora Replicas neu gestartet. Durch den automatischen Neustart wird der Einstiegspunkt wiederhergestellt, der die Lese-/Schreibkonsistenz innerhalb des DB-Clusters gewährleistet.

Verbesserung der Leseverfügbarkeit von Aurora Replicas

Aurora PostgreSQL verbessert die Leseverfügbarkeit im DB-Cluster, indem die Leseanforderungen kontinuierlich bearbeitet werden, wenn die Writer-DB-Instance neu gestartet wird oder wenn die Aurora Replica nicht mit dem Schreibverkehr Schritt halten kann.

Die Leseverfügbarkeitsfunktion ist standardmäßig in den folgenden Versionen von Aurora PostgreSQL verfügbar:

  • 15.2 und höhere 15-Versionen

  • 14.7 und höhere 14-Versionen

  • 13.10 und höhere 13-Versionen

  • 12.14 und höhere 12-Versionen

Um die Leseverfügbarkeitsfunktion für einen DB-Cluster zu verwenden, der vor der Einführung der Funktion in einer dieser Versionen erstellt wurde, starten Sie die Writer-Instance des DB-Clusters neu.

Wenn Sie statische Parameter Ihres DB-Clusters von Aurora PostgreSQL ändern, müssen Sie die Writer-Instance neu starten, damit die Parameteränderungen wirksam werden. Sie müssen beispielsweise die Writer-Instance neu starten, wenn Sie den Wert shared_buffers festlegen. Dank der verbesserten Verfügbarkeit von Aurora Replicas behält der DB-Cluster die Leseverfügbarkeit während dieser Neustarts bei, wodurch die Auswirkungen von Änderungen auf die Writer-Instance reduziert werden. Die Reader-Instances werden nicht neu gestartet und antworten weiterhin auf die Leseanfragen. Um statische Parameteränderungen anzuwenden, starten Sie jede einzelne Reader-Instance neu.

Eine Aurora Replica eines DB-Clusters von Aurora PostgreSQL kann nach Replikationsfehlern wie Writer-Neustarts, Failover, langsamer Replikation und Netzwerkproblemen wiederhergestellt werden, indem sie nach einer erneuten Verbindung mit dem Writer schnell den In-Memory-Datenbankstatus wiederherstellt. Dieser Ansatz ermöglicht es Aurora-Replica-Instances, die Konsistenz mit den neuesten Speicher-Updates zu erreichen, solange die Client-Datenbank noch verfügbar ist.

Bei laufenden Transaktionen, die mit der Replikationswiederherstellung kollidieren, wird möglicherweise ein Fehler angezeigt, aber der Client kann diese Transaktionen erneut versuchen, sobald die Reader wieder mit dem Writer mithalten.

Überwachen von Aurora Replicas

Sie können die Aurora Replicas bei der Wiederherstellung nach einer Writer-Unterbrechung überwachen. Verwenden Sie die folgenden Metriken, um nach den neuesten Informationen zur Reader-Instance zu suchen und um in Bearbeitung befindliche schreibgeschützte Transaktionen zu verfolgen.

  • Die aurora_replica_status Funktion wird aktualisiert, um die meisten up-to-date Informationen für die Reader-Instance zurückzugeben, wenn sie noch verbunden ist. Der Zeitstempel der letzten Aktualisierung in aurora_replica_status ist für die Zeile, die der DB-Instance entspricht, auf der die Abfrage ausgeführt wird, immer leer. Dies bedeutet, dass die Reader-Instance über die neuesten Daten verfügt.

  • Wenn das Aurora Replica die Verbindung zur Writer-Instance trennt und wieder eine Verbindung herstellt, wird das folgende Datenbankereignis ausgelöst:

    Read replica has been disconnected from the writer instance and reconnected.

  • Wenn eine schreibgeschützte Abfrage aufgrund eines Wiederherstellungskonflikts abgebrochen wird, wird möglicherweise die folgende Fehlermeldung im Datenbankfehlerprotokoll angezeigt:

    Canceling statement due to conflict with recovery.

Einschränkungen

Die folgenden Einschränkungen gelten für Aurora Replicas mit verbesserter Verfügbarkeit:

  • Globale DB-Aurora-Replikate in der sekundären AWS-Regionen werden nicht unterstützt.

  • Aurora Replicas unterstützen keine Online-Replikationswiederherstellung, wenn eine solche Wiederherstellung bereits läuft und neu gestartet wird.

  • Aurora Replicas werden neu gestartet, wenn sich Ihre DB-Instance dem Transaktions-ID-Wraparound nähert. Weitere Informationen zum Transaktions-ID-Wraparound finden Sie unter Verhindern von Transaktions-ID-Wraparound-Fehlern.

  • Aurora Replicas können unter bestimmten Umständen neu gestartet werden, wenn der Replikationsprozess blockiert ist.

Überwachung einer Aurora PostgreSQL-Replikation

Skalieren von Lesevorgängen und hohe Verfügbarkeit hängen von der minimalen Verzögerungszeit ab. Sie können überwachen, wie weit ein Aurora-Replikat hinter der Writer-DB-Instance Ihres Aurora-PostgreSQL-DB-Clusters zurückbleibt, indem Sie die Amazon CloudWatch ReplicaLag-Metrik überwachen. Da Aurora Replicas aus demselben Cluster-Volume wie die Writer-DB-Instance lesen, hat die ReplicaLag-Metrik für einen Aurora PostgreSQL-DB-Cluster eine andere Bedeutung. Die ReplicaLag-Metrik für eine Aurora Replica ermittelt die Verzögerung für den Seiten-Cache der Aurora Replica im Vergleich zu der der Writer-DB-Instance.

Weitere Informationen zur Überwachung von RDS-Instances und - CloudWatch Metriken finden Sie unter Überwachung von Metriken in einem Amazon-Aurora-Cluster.