Replikate für die regionale Migration oder Notfallwiederherstellung hochstufen

Auf dieser Seite wird beschrieben, wie Sie regionenübergreifende Replikate (Replikate, die in einer anderen Region als die der primären Instanz erstellt wurden) verwenden und hochstufen, um eine regionale Migration oder Notfallwiederherstellung zu ermöglichen.

Übersicht

Es gibt zwei gängige Szenarien zum Hochstufen regionenübergreifender Replikate:

  • Regionale Migration: Sie führen eine geplante Migration einer Datenbank zu einer anderen Region aus.
  • Notfallwiederherstellung: Sie führen einen Failover einer Datenbank zu einer anderen Region durch, falls die Region der primären Instanz nicht mehr verfügbar ist.

Bei beiden Anwendungsfällen muss eine regionenübergreifende Replikation eingerichtet und dann das Replikat hochgestuft werden. Der Hauptunterschied zwischen den Szenarien besteht darin, ob das Hochstufen des Replikats geplant (im Falle einer regionalen Migration) oder ungeplant ist (ein Failover zur Region des Replikats ist für den weiteren Betrieb erforderlich, da die primäre Instanz nicht mehr verfügbar ist).

Regionale Migration

Sie können ein regionenübergreifendes Replikat verwenden, um Ihre Datenbank mit minimaler Ausfallzeit zu einer anderen Region zu migrieren. Im Allgemeinen sollten Sie ein Replikat in einer anderen Region erstellen, auf den Abschluss der Replikation warten, das Replikat hochstufen und dann Clients zur soeben hochgestuften Instanz leiten.

Die Schritte beim Hochstufen sind dieselben wie beim Hochstufen eines Replikats für eine einzige Region. Sie sollten der Anleitung unbedingt folgen, damit die neu hochgestufte Instanz alle Transaktionen enthält, die per Commit an die ursprüngliche primäre Instanz übergeben wurden. Nachdem Sie das Replikat hochgestuft und kontrolliert haben, dass die neu hochgestufte Instanz funktioniert, aktualisieren Sie alle Datenbankclients so, dass sie eine Verbindung zur neuen Instanz herstellen.

Notfallwiederherstellung

Regionenübergreifende Replikate können im Rahmen einer Notfallwiederherstellung verwendet werden. Sie können ein regionenübergreifendes Replikat hochstufen, sodass ein Failover auf eine andere Region ausgeführt wird, sollte die Region der primären Instanz über einen längeren Zeitraum nicht mehr verfügbar sein.

Failover-Kriterien prüfen

Da die Replikation asynchron ist, wenn ein regionaler Ausfall auftritt und ein Failover versucht wird, gehen möglicherweise einige kürzlich auf die primäre Instanz übertragene Transaktionen verloren (nicht auf das Replikat repliziert). Wenn eine primäre Instanz nicht mehr verfügbar ist, zeigen die folgenden Schritte, (1) wie die Datenmenge ermittelt wird, die möglicherweise beim regionübergreifenden Failover verloren gegangen ist, und (2) wie gewährleistet wird, dass das hochgestufte Replikat so viele aktuelle Schreibvorgänge wie möglich widerspiegelt.

Prüfen Sie zuerst die Lag Bytes-Werte im Monitoring-Dashboard. Bei einem regionalen Ausfall in der Region der primären Instanz wird Lag Bytes für die primäre Instanz gemeldet.

Stellen Sie dann eine Verbindung zur Replikatinstanz mit einem PostgreSQL-Client her. Folgen Sie dazu der Anleitung auf der Seite Replikationsstatus (siehe Tab psql-Client). Weitere Informationen finden Sie in der Anleitung zu den Messwerten pg_catalog.pg_last_wal_receive_lsn() und pg_catalog.pg_last_wal_replay_lsn(). Prüfen Sie, ob das Replikat alle Transaktionen verarbeitet hat, die es von der primären Datenbank erhalten hat. Dadurch wird gewährleistet, dass das Replikat beim Hochstufen alle Transaktionen widerspiegelt, die empfangen wurden, bevor die primäre Instanz nicht mehr verfügbar war.

Lesereplikat hochstufen

Sobald Sie festgestellt haben, dass die Failover-Kriterien erfüllt sind, können Sie eines der Replikate zu einer beschreibbaren, eigenständigen Instanz hochstufen. Stellen Sie sich folgendes Szenario vor:

  • Region A (us-central1) hat eine primäre Instanz mit Hochverfügbarkeit (db-a-0).
  • Region B (us-west1) hat ein regionenübergreifendes Replikat (db-b-1) von db-a-0.
  • Region C (us-east1) hat ein regionenübergreifendes Replikat (db-c-1) von db-a-0.

Dann könnten Sie db-b-1 in Region B zu einer eigenständigen, beschreibbaren Instanz hochstufen.

Eine ausführliche Anleitung finden Sie unter Replikat hochstufen.

Sicherungen und Hochverfügbarkeit für die hochgestufte Instanz aktivieren

Lesereplikate werden bei ihrer Hochstufung nicht automatisch mit Sicherungen oder als Hochverfügbarkeitsinstanzen konfiguriert. Diese Features können Sie nach dem Hochstufen des Replikats wie bei jeder Nicht-Replikatinstanz aktivieren.

Zusätzliche Replikate neu erstellen

Wenn Sie ein Replikat zur primären Instanz hochstufen, müssen Sie alle anderen Replikate der alten primären Instanz neu erstellen. Als Beispiel soll die zuvor genannte Konfiguration dienen, die hier wiederholt wird:

  • Region A (us-central1) hat eine primäre Instanz mit Hochverfügbarkeit (db-a-0).
  • Region B (us-west1) hat ein regionenübergreifendes Replikat (db-b-1) von db-a-0.
  • Region C (us-east1) hat ein regionenübergreifendes Replikat (db-c-1) von db-a-0.

Wenn die primäre Instanz (db-a-0) nicht mehr verfügbar ist, können Sie das Replikat in Region B zur primären Instanz hochstufen. Damit Sie wieder zusätzliche Replikate in den Regionen A und C haben, löschen Sie die alten Instanzen (die vorherige primäre Instanz in A und das Replikat in C) und erstellen neue Lesereplikate aus der neuen primären Instanz in B.

Die resultierende Konfiguration sieht so aus:

  • Region A (us-central1) hat jetzt ein regionenübergreifendes Replikat (db-a-1).
  • Region B (us-west1) hat jetzt die primäre Instanz (db-b-1).
  • Region C (us-east1) hat jetzt ein neues regionenübergreifendes Replikat (db-c-2)