Primäre Instanz auf Hochverfügbarkeit testen

AlloyDB for PostgreSQL bietet regionale und zonale Instanztypen. Um Hochverfügbarkeit zu gewährleisten, hat jede regionale primäre AlloyDB-Instanz einen aktiven Knoten und einen Standby-Knoten, die sich in zwei verschiedenen Zonen befinden. Wenn der aktive Knoten aus irgendeinem Grund nicht mehr verfügbar ist, wird der Standby-Knoten automatisch zum neuen aktiven Knoten hochgestuft.

Sie können diese automatische HA-Funktion testen, indem Sie Fehler einfügen, um den aktiven Knoten Ihrer primären Instanz abrupt offline zu zwingen. AlloyDB aktiviert dann das Notfallverfahren für hohe Verfügbarkeit, das den Systemstatus der primären Instanz prüft und den Standby-Knoten der Rolle des aktiven Knotens neu zuweist.

Durch die Fehlerinjektion wird auch ein Vorgang mit langer Ausführungszeit initiiert, der den zuvor aktiven Knoten nach einem kurzen Intervall wieder online bringt. Dieser Knoten wird zum neuen Standby-Knoten der primären Instanz.

Eine schnellere Methode zum Tauschen der aktiven und Standby-Rollen der Knoten Ihrer primären Instanz finden Sie unter Manuelles Failover einer primären Instanz.

Hinweise

  • Das von Ihnen verwendete Google Cloud -Projekt muss für den Zugriff auf AlloyDB aktiviert sein.
  • Sie benötigen eine der folgenden IAM-Rollen im Google Cloud Projekt, 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.

Ausfall mit Fehlerinjektion simulieren

Verwenden Sie den Befehl gcloud alloydb instances inject-fault, um die HA-Resilienz der primären Instanz zu testen, indem Sie den aktiven Knoten abrupt herunterfahren. Nach Abschluss eines lang andauernden Vorgangs stellt AlloyDB den Knoten wieder her.

gcloud alloydb instances inject-fault INSTANCE_ID \
    --fault-type=stop-vm \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID
  • 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.