Wechsel für Blau/Grün-Bereitstellung durchführen

Nachdem Sie Ihre grüne Umgebung getestet und validiert haben, starten Sie eine Umstellung, um die grüne Umgebung in Ihre neue Produktionsumgebung für Lese- und Schreibvorgänge zu konvertieren.

Hinweis

Bevor Sie eine Umstellung starten, müssen Sie sicherstellen, dass Sie die erforderlichen Berechtigungen haben und Ihre Bereitstellung für die Umstellung bereit ist.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die folgende IAM-Rolle für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen einer Umstellung benötigen:

  • Cloud SQL-Administrator (roles/cloudsql.admin)

Wenn Sie benutzerdefinierte Rollen verwenden, müssen Sie die folgenden Berechtigungen haben:

  • cloudsql.blueGreenDeployments.switchover
  • cloudsql.blueGreenDeployments.get
  • cloudsql.instances.switchover
  • cloudsql.operations.get

Weitere Informationen zu IAM-Rollen und Berechtigungen in Cloud SQL finden Sie unter Rollen und Berechtigungen.

Überprüfung vor der Umstellung

Prüfen Sie vor dem Initiieren eines Switchovers die folgenden Bedingungen:

  1. Bereitstellungsstatus:Die Bereitstellung muss den Status SWITCHOVER_READY haben.
  2. Arbeitslastvalidierung:Führen Sie alle Tests und Validierungen in der grünen Staging-Instanz durch.
  3. Geringe Replikationsverzögerung:Die Replikationsverzögerung zwischen Blau und Grün sollte minimal sein, um die Umstellungszeit zu verkürzen.

So funktioniert die Umstellung

Wenn Sie eine Übernahme starten, führt Cloud SQL die folgende automatisierte Sequenz aus:

  1. Validierung vor dem Switchover:Vor dem Switchover-Vorgang prüft Cloud SQL, ob die Replikation funktioniert, und führt eine Reihe von Konfigurationsprüfungen durch, um sicherzustellen, dass die Bereitstellung bereit ist.
  2. Ausführung des Switchover-Workflows:Während der Ausführung des Workflows bereitet Cloud SQL die Instanzen für die Umstellung vor. Wenn die Replikationsverzögerung zu hoch ist oder eine aktive Transaktion den Cutover blockiert, schlägt der Switchover-Vorgang fehl und Ihre blaue Produktionsumgebung bleibt online.
  3. Traffic-Umleitung:Cloud SQL tauscht die Verbindungsendpunkte zwischen den blauen und grünen Instanzen aus.
  4. Rollenkonvertierung:Die grüne Instanz wird zur aktiven Produktionsinstanz mit Lese- und Schreibzugriff und die blaue Instanz wird zu einer eigenständigen Instanz mit Lese- und Schreibzugriff.

Während der Umstellung kommt es bei Anwendungsverbindungen zu einer kurzen Unterbrechung (in der Regel nur wenige Sekunden), bevor die Verbindung automatisch zur aktualisierten Produktionsinstanz wiederhergestellt wird. Die Ausfallzeit für die Umstellung variiert je nach Cloud SQL-Version:

  • Cloud SQL Enterprise Plus-Version:Die Ausfallzeit bei der Übernahme beträgt in der Regel weniger als eine Sekunde.
  • Cloud SQL Enterprise Edition:Die Ausfallzeit für die Übernahme beträgt in der Regel weniger als 60 Sekunden, je nach Arbeitslast und Replikationsverzögerung. Es sind keine Änderungen an der Anwendungskonfiguration oder dem Verbindungsstring erforderlich.

Lebenszyklusstatus für die Umstellung

Vor, während und nach einem Switchover durchläuft die Bereitstellung die folgenden Status im Antwortfeld state:

  • SWITCHOVER_READY:Die logische Replikation von Blau zu Grün ist fehlerfrei und die Bereitstellung kann umgestellt werden. Der Status SWITCHOVER_READY hängt nur davon ab, ob die Replikation fehlerfrei ist. Cloud SQL berücksichtigt die Replikationsverzögerung nicht, wenn dieser Status festgelegt wird.
  • SWITCHOVER_NOT_READY:Die Bereitstellung wurde bereitgestellt, aber der Wechsel kann nicht initiiert werden. Dies tritt auf, wenn die logische Replikation unterbrochen, pausiert oder beendet wurde oder wenn ein zugrunde liegender Knotenfehler aufgetreten ist. Cloud SQL berücksichtigt die Replikationsverzögerung nicht, wenn dieser Status festgelegt wird. Prüfen Sie errorDetail und beheben Sie den Fehler, bevor Sie versuchen, die Umstellung vorzunehmen.
  • SWITCHOVER_IN_PROGRESS:Der Switchover-Befehl wird gerade ausgeführt. Cloud SQL tauscht Verbindungsendpunkte und konvertiert die grüne Instanz in die Produktionsinstanz mit Lese- und Schreibzugriff.
  • SWITCHOVER_COMPLETED:Die Umstellung wurde erfolgreich abgeschlossen. Die grüne Instanz ist jetzt Ihre aktive Produktionsdatenbankinstanz, die Lese- und Schreibvorgänge verarbeitet. Die blaue Instanz wird als eigenständige Lese- und Schreibinstanz beibehalten, bis Sie die Bereitstellung löschen.

Best Practices vor der Umstellung

  • Zeitplan für Zeiträume mit geringem Traffic:Die Ausfallzeit ist zwar minimal (in der Regel in Sekunden), aber beginnen Sie die Umstellung in Zeiträumen mit geringer Schreibaktivität, z. B. außerhalb der Zeiten hoher Nachfrage oder in Wartungsfenstern, in denen die Abfragen pro Sekunde am niedrigsten sind. So wird die Replikationsverzögerung minimiert und das Risiko abgebrochener Transaktionen verringert.
  • Replikationsverzögerung prüfen:Achten Sie darauf, dass die Replikationsverzögerung vor dem Start der Umstellung minimal ist. Bei der Beschreibung einer Blau/Grün-Bereitstellung wird keine Replikationsverzögerung angezeigt und Cloud SQL prüft die Replikationsverzögerung nicht vor dem Switchover-Vorgang. Während der Workflowausführung schlägt die Umstellung jedoch fehl, wenn die Replikationsverzögerung zu hoch ist. Um die Replikationsverzögerung zu überwachen, können Sie Cloud Monitoring-Messwerte (z. B. replica_lag) prüfen oder den Replikationsstatus direkt auf der grünen Instanz ansehen. Weitere Informationen finden Sie unter Replikationsverzögerung.
  • Aktive Transaktionen prüfen:Achten Sie darauf, dass lang andauernde DDL-Vorgänge oder Batch-Schreibvorgänge abgeschlossen sind, bevor Sie den Switchover starten.

Wechsel starten

Starten Sie den Switchover-Vorgang über die Google Cloud Console, die gcloud CLI oder die Cloud SQL Admin API:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud SQL-Instanzen auf.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie auf der Karte Status der Blau/Grün-Bereitstellung auf Details, um die Seite Bereitstellungsübersicht zu öffnen.
  4. Klicken Sie auf Deployment für die Umstellung.
  5. Sehen Sie sich im Dialogfeld Instance Setting Differences (Unterschiede bei Instanzeinstellungen) die Einstellungsunterschiede zwischen der Source- und der Target-Instanz an und klicken Sie dann auf Continue (Weiter), um den Wechsel zu starten.

gcloud

Führen Sie den Befehl blue-green-deployments switchover aus:

gcloud beta sql blue-green-deployments switchover DEPLOYMENT_NAME \
  --region=REGION \
  --async

Die Umstellung kann mehrere Minuten dauern. Möglicherweise wird eine Meldung angezeigt, die angibt, dass der Vorgang länger als erwartet dauert. Sie können diese Nachricht entweder ignorieren oder den Befehl gcloud sql operations wait ausführen, um sie zu verwerfen und zu warten, bis der Vorgang abgeschlossen ist:

gcloud sql operations wait OPERATION_ID

Führen Sie den Befehl gcloud sql operations describe aus, um den Status des Switchover-Vorgangs zu prüfen:

gcloud sql operations describe OPERATION_ID

Ersetzen Sie Folgendes:

  • DEPLOYMENT_NAME: Der Name Ihrer Blue-Green-Bereitstellung.
  • REGION: die Google Cloud Region, in der die Bereitstellung erstellt wurde.
  • OPERATION_ID: die ID des Switchover-Vorgangs.

REST Version 1

Senden Sie eine POST-Anfrage an die blueGreenDeployments.switchover-Methode:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME:switchover

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • REGION: die Google Cloud Region, in der die Bereitstellung erstellt wurde.
  • DEPLOYMENT_NAME: Der Name Ihrer Blue-Green-Bereitstellung.

REST v1beta4

Senden Sie eine POST-Anfrage an die blueGreenDeployments.switchover-Methode:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME:switchover

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • REGION: die Google Cloud Region, in der die Bereitstellung erstellt wurde.
  • DEPLOYMENT_NAME: Der Name Ihrer Blue-Green-Bereitstellung.

Monitoring nach dem Wechsel

Nach Abschluss des Wechsels:

  1. Prüfen Sie, ob Ihre Anwendung eine Verbindung wiederherstellt und die Vorgänge in der Produktionsdatenbank fortgesetzt werden.
  2. Überwachen Sie den Abfragedurchsatz, die Fehlerprotokolle und den Replikationsstatus in der neuen Produktionsinstanz.
  3. Lassen Sie die blaue Standalone-Instanz während des ersten Zeitraums nach dem Upgrade unverändert. Nachdem Sie die Stabilität bestätigt haben, löschen Sie die Bereitstellung. Weitere Informationen finden Sie unter Blau/Grün-Bereitstellung löschen.

Nächste Schritte