Auf dieser Seite wird beschrieben, wie Sie regionenübergreifende Lesereplikate (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 (Disaster Recovery (DR)
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.
Weitere Informationen zur Notfallwiederherstellung finden Sie unter Notfallwiederherstellung in Cloud SQL.
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, dass das Replikat alle Transaktionen verarbeitet hat, die es von der primären Instanz 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 mit Hochverfügbarkeit (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.
Prüfen, ob der Maschinentyp korrekt ist
Prüfen Sie, ob der Maschinentyp der neu hochgestuften Instanz für seine Arbeitslast geeignet ist, indem Sie Messwerte der Instanz wie CPU- und Speichernutzung überwachen. Wenn die neu beförderte Instanz kleiner als die vorherige primäre Instanz ist, empfehlen wir, die Größe der beförderten Instanz so anzupassen, dass sie die gleiche Auslastung bewältigen kann.
Hochverfügbarkeit für die hochgestufte Instanz aktivieren
Für eine Konfiguration zur Notfallwiederherstellung empfehlen wir, das Replikat zu konfigurieren, das Sie als Hochverfügbarkeitsreplikat hochstufen möchten. Alternativ können Sie die neu hochgestufte Instanz als Hochverfügbarkeit konfigurieren. Wenn Sie das Lesereplikat nicht mit hoher Verfügbarkeit konfigurieren, können Sie die Instanz auch mit Hochverfügbarkeit konfigurieren, wenn Sie sie hochstufen.
Beim Hochstufen werden Lesereplikate automatisch mit Sicherungen konfiguriert. Die Konfiguration eines Lesereplikats für Hochverfügbarkeit erfolgt auf die gleiche Weise wie für eine primäre Instanz. Weitere Informationen finden Sie unter Instanz für Hochverfügbarkeit konfigurieren.
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)