Manuelles Failover einer primären oder sekundären Instanz

Wenn Sie die Ausfallsicherheit von Anwendungen testen, Zonen neu ausbalancieren oder Leistungsprobleme auf Knotenebene beheben möchten, können Sie manuell ein Failover einer primären oder sekundären AlloyDB for PostgreSQL-Instanz auf den Standby-Knoten in derselben Region durchführen.

Häufige Anwendungsfälle für das Auslösen eines manuellen Failovers:

  • Zonenneuverteilung: Die Knoten werden wieder in ihre bevorzugten Zonen verschoben, nachdem der aktive Knoten durch ein automatisches Failover in die Standby-Zone verschoben wurde.
  • Fehlerbehebung: Failover auf den Standby-Knoten, wenn der aktive Knoten Leistungsprobleme hat, die kein automatisches Failover auslösen.
  • Kontrollierte Wartung: Das Failover wird vor einem Wartungsfenster manuell initiiert, um zu steuern, wann die kurze Verbindungsunterbrechung auftritt.

Hochverfügbarkeit für primäre und sekundäre Instanzen

AlloyDB for PostgreSQL unterstützt Hochverfügbarkeit sowohl für primäre als auch für sekundäre Instanzen.

Hochverfügbarkeit für primäre Instanzen

Um Hochverfügbarkeit zu gewährleisten, hat jede primäre AlloyDB-Instanz sowohl einen aktiven Knoten als auch einen Standby-Knoten, die sich in verschiedenen Zonen befinden. Wenn der aktive Knoten nicht mehr verfügbar ist, führt AlloyDB automatisch ein Failover der primären Instanz auf den Stand-by-Knoten durch, sodass dieser zum neuen aktiven Knoten wird.

Sie können jederzeit manuell ein Failover Ihrer primären Instanz auf den Stand-by-Knoten ausführen, auch wenn der aktive Knoten wie erwartet funktioniert. Wenn Sie ein manuelles Failover initiieren, führt AlloyDB folgende Schritte aus:

  1. Nimmt den primären Knoten offline.

  2. Der Stand-by-Knoten wird zum neuen aktiven Knoten.

  3. Reaktiviert den zuvor aktiven Knoten als neuen Stand-by-Knoten.

Bei einem manuellen Failover werden die aktiven und Standby-Rollen der Knoten Ihrer primären Instanz getauscht. Sie können jederzeit ein manuelles Failover auslösen, wenn dieser Austausch erfolgen soll.

Angenommen, Sie haben eine primäre Instanz, deren aktive und Standby-Knoten sich in den Zonen us-central1-a bzw. us-central1-b befinden. Ein Ausfall in us-central1-a löst ein automatisches Failover aus, sodass die Zone us-central1-b den aktiven Knoten hostet. Wenn Sie den aktiven Knoten in der Zone us-central1-a belassen möchten, können Sie ein manuelles Failover initiieren, damit AlloyDB die Knoten der primären Instanz wieder an ihre Standorte vor dem Ausfall zurücksetzt.

Während Wartungsvorgängen kommt es bei einer primären HA-Instanz und einer einfachen Instanz in der Regel zu einer minimalen Wartungsausfallzeit von weniger als einer Sekunde. Da ein manuelles Failover ein absichtliches und kontrolliertes Verfahren ist, ist es nicht für die Simulation unerwarteter Hardware- oder Netzwerkfehler gedacht. Stattdessen können Sie die Hochverfügbarkeit für Ihre primäre Instanz mithilfe von Fehlerinjektion testen.

Hochverfügbarkeit für sekundäre Instanzen

AlloyDB bietet Hochverfügbarkeit für sekundäre Instanzen, um die Notfallwiederherstellung zu unterstützen und die Ausfallzeit zu reduzieren, wenn eine sekundäre Instanz nicht mehr verfügbar ist.

Standardmäßig ist die Hochverfügbarkeit auf einer sekundären Instanz konfiguriert.

Eine sekundäre AlloyDB-Instanz enthält die folgenden Knoten:

  • Ein aktiver sekundärer Knoten, der auf Anfragen reagiert
  • Ein sekundärer Stand-by-Knoten

Der aktive Knoten und der Standby-Knoten befinden sich in zwei verschiedenen Zonen in einer Region. Wenn AlloyDB feststellt, dass der aktive Knoten nicht verfügbar ist, führt der aktive Knoten ein Failover auf den Standby-Knoten durch, der dann als neuer aktiver Knoten fungiert. Ihre Daten werden dann an den neuen aktiven Knoten weitergeleitet. Dieser Vorgang wird als Failover bezeichnet.

Hinweis

  • Das Projekt von Google Cloud , das Sie verwenden, muss für den Zugriff auf AlloyDB aktiviert sein.
  • Sie benötigen eine der folgenden IAM-Rollen im Projekt von Google Cloud , das Sie verwenden:
    • roles/alloydb.admin (die vordefinierte IAM-Rolle „AlloyDB Admin“)
    • roles/owner (einfache IAM-Rolle „Inhaber“)
    • roles/editor (einfache IAM-Rolle „Bearbeiter“)

    Wenn Sie keine dieser Rollen haben, wenden Sie sich an den Organisationsadministrator, um Zugriff anzufordern.

Manuelles Failover auf einer primären Instanz ausführen

Console

  1. Zur Clusterseite.

Zu den Clustern

  1. Klicken Sie in der Spalte Ressourcenname auf einen Clusternamen.

  2. Öffnen Sie im Abschnitt Instanzen in Ihrem Cluster das Aktionsmenü für Instanzen  der primären Instanz.

  3. Klicken Sie auf Failover.

  4. Geben Sie im angezeigten Dialogfeld die ID der Instanz ein.

  5. Klicken Sie auf Failover auslösen.

gcloud

Führen Sie den Befehl gcloud alloydb instances failover aus:

gcloud alloydb instances failover INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID

Ersetzen Sie Folgendes:

  • INSTANCE_ID: Die ID der Instanz.
  • REGION_ID: Die Region, in der sich die Instanz befindet.
  • CLUSTER_ID: Die ID des Clusters, in dem sich die Instanz befindet.
  • PROJECT_ID: Die ID des Projekts, in dem sich der Cluster befindet.

So prüfen Sie, ob das Failover funktioniert hat:

  1. Notieren Sie sich vor dem Failover die Zonen der Knoten der primären Instanz.

  2. Notieren Sie sich nach dem Failover die neuen Zonen der beiden Knoten.

  3. Prüfen Sie, ob die Zonen der aktiven und Stand-by-Knoten die Plätze getauscht haben.

Manuelles Failover auf einer sekundären Instanz ausführen

Das manuelle Failover einer sekundären Instanz ähnelt den Schritten für das manuelle Failover der primären Instanz.

So führen Sie ein manuelles Failover für einen sekundären Cluster aus:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cluster auf.

    Zu den Clustern

  2. Klicken Sie in der Spalte Ressourcenname auf den Namen eines sekundären Clusters.

  3. Rufen Sie auf der Seite Übersicht den Abschnitt Instanzen in Ihrem Cluster auf, wählen Sie die sekundäre Instanz aus und klicken Sie auf Failover.

  4. Geben Sie im angezeigten Dialogfeld die ID der Instanz ein und klicken Sie auf Failover auslösen.

gcloud

Wenn Sie die gcloud CLI verwenden möchten, können Sie die Google Cloud CLI installieren und initialisieren oder Cloud Shell verwenden.

Verwenden Sie den Befehl gcloud alloydb instances failover, um ein Failover einer sekundären Instanz auf die Standby-Instanz zu erzwingen.

 gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID

Ersetzen Sie Folgendes:

  • SECONDARY_INSTANCE_ID: Die ID der sekundären Instanz, für die Sie ein Failover durchführen möchten.
  • SECONDARY_CLUSTER_ID: Die ID des sekundären Clusters, dem die sekundäre Instanz zugeordnet ist.
  • REGION_ID: Die ID der Region der sekundären Instanz, z. B. us-central1.
  • PROJECT_ID: Die ID des Projekts des sekundären Clusters.

Nächste Schritte