Blau/Grün-Bereitstellung erstellen und bereitstellen

In diesem Dokument wird beschrieben, wie Sie eine Blue-Green-Bereitstellung für Cloud SQL erstellen und bereitstellen, um Hauptversionsupgrades oder Konfigurationsänderungen durchzuführen.

Hinweis

Bevor Sie eine Blau/Grün-Bereitstellung erstellen und bereitstellen, müssen Sie prüfen, ob Sie die erforderlichen Rollen haben und ob Ihre Quellinstanz die Voraussetzungen für die Bereitstellung erfüllt.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Bereitstellen einer Blue-Green-Bereitstellung benötigen:

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

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

  • cloudsql.blueGreenDeployments.create
  • cloudsql.blueGreenDeployments.get
  • cloudsql.instances.get
  • cloudsql.instances.create
  • cloudsql.operations.get

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

Voraussetzungen für Instanzen

Prüfen Sie vor dem Erstellen einer Blue/Green-Bereitstellung, ob Ihre Produktionsinstanz (blau) die folgenden Anforderungen erfüllt:

  1. Datenbank-Engine und -Version:Auf Ihrer Instanz muss Cloud SQL for MySQL Version 5.7, 8.0 oder 8.4 ausgeführt werden. Version 8.0.18 wird nicht unterstützt. Bei Upgrades von Hauptversionen können Sie ein Upgrade von Version 8.0 auf 8.4 durchführen.
  2. Binäres Logging und automatische Sicherungen:Sie müssen das binäre Logging und automatische Sicherungen für die blaue Instanz aktivieren, um eine kontinuierliche logische Replikation in die grüne Umgebung einzurichten.
  3. Instanzstatus:Die blaue Instanz muss sich im Status RUNNING befinden und es dürfen keine laufenden Vorgänge oder in Konflikt stehenden Wartungsfenster vorhanden sein.
  4. Nicht unterstützte Funktionen:Prüfen Sie, ob in Ihrer Instanz Funktionen verwendet werden, die bei Blau/Grün-Bereitstellungen nicht unterstützt werden. Dazu gehören:

  5. Neueste Wartungsversion:Auf Ihrer Instanz muss die neueste Wartungsversion ausgeführt werden, bevor Sie ein Blau/Grün-Deployment erstellen. Weitere Informationen finden Sie unter Wartung im Self-Service.

  6. Netzwerkarchitektur:Ihre Instanz muss die neue Netzwerkarchitektur verwenden. Instanzen, die die alte Netzwerkarchitektur verwenden, werden nicht unterstützt.

Wenn Sie die Erstellung der Bereitstellung auslösen, führt Cloud SQL automatisch eine Reihe von automatischen Vorabprüfungen durch, um die Replikationskompatibilität und Flags zu validieren. Bei Upgrades von Hauptversionen führt Cloud SQL auch die API für die Vorabprüfung des Upgrades der Hauptversion für die Quellinstanz aus, um die Upgradebereitschaft zu validieren, bevor mit dem Workflow fortgefahren wird. Wenn Vorabprüfungen fehlschlagen, wird die Bereitstellungserstellung beendet und im Vorgangsstatus wird ein Fehler zurückgegeben.

Blau/Grün-Bereitstellung erstellen

Sie können eine Blau/Grün-Bereitstellung mit Intention erstellen, um ein Upgrade auf eine Hauptversion durchzuführen, oder ohne Intention, um Hardware- oder Flag-Updates zu stagen.

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 im Bereich Konfiguration auf Blau/Grün-Bereitstellung erstellen.
  4. Geben Sie auf der Seite Blue-Green-Bereitstellung erstellen im Bereich Bereitstellungsinformationen im Feld Bereitstellungsname einen eindeutigen Namen für die Bereitstellung ein.
  5. Wählen Sie in der Liste Deployment-Anwendungsfall eine der folgenden Optionen aus:
    • Option A (Upgrade der Hauptversion): Wenn Sie ein Upgrade der Hauptversion auf der grünen Instanz vor der Umstellung inszenieren und testen möchten, wählen Sie Upgrade der Hauptversion aus. Wählen Sie in der Liste Zieldatenbankversion die Zieldatenbankversion aus, z. B. MySQL 8.4.

      Wenn Sie eine Bereitstellung mit Intention erstellen, führt Cloud SQL automatisch die Vorabprüfung des Upgrades der Hauptversion als Teil des Vorgangs aus, bevor die grüne Instanz erstellt wird. Alternativ empfehlen wir, vor dem Erstellen der Bereitstellung die Vorabprüfung des Upgrades der Hauptversion auszuführen, um Upgrade-Blocker zu identifizieren.

    • Option B (Standard): Wenn Sie eine grüne Staging-Umgebung mit derselben Datenbankversion wie die Quellinstanz erstellen möchten, um Konfigurations- oder Hardwareänderungen zu testen, wählen Sie Standard aus.
  6. Klicken Sie auf Erstellen.

gcloud

Führen Sie den Befehl blue-green-deployments create aus, um eine Blau/Grün-Bereitstellung mit gcloud zu erstellen.

Option A: Mit Intention erstellen (Upgrade der Hauptversion)

Wenn Sie eine Bereitstellung mit Intention erstellen, führt Cloud SQL automatisch die Vorabprüfung des Upgrades der Hauptversion als Teil des Vorgangs aus, bevor die grüne Instanz erstellt wird. Alternativ können Sie die Vorabprüfung des Upgrades der Hauptversion für Ihre blaue Instanz ausführen, bevor Sie die Bereitstellung erstellen, um Upgrade-Blocker zu identifizieren.

gcloud beta sql blue-green-deployments create DEPLOYMENT_NAME \
  --source-instance=SOURCE_INSTANCE_ID \
  --target-database-version=TARGET_DATABASE_VERSION \
  --region=REGION \
  --async

Ersetzen Sie Folgendes:

  • DEPLOYMENT_NAME: Ein eindeutiger Name für die Bereitstellung.
  • SOURCE_INSTANCE_ID: der Name Ihrer blauen Quellinstanz.
  • TARGET_DATABASE_VERSION: die Zielversion (z. B. MYSQL_8_4).
  • REGION: die Google Cloud Region Ihrer blauen Instanz.

Option B: Ohne Intention erstellen (Hardware oder Konfiguration)

Lassen Sie das Flag --target-database-version weg, um eine grüne Umgebung mit derselben Datenbankversion wie die blaue Instanz bereitzustellen:

gcloud beta sql blue-green-deployments create DEPLOYMENT_NAME \
  --source-instance=SOURCE_INSTANCE_ID \
  --region=REGION \
  --async

Das Erstellen einer Blau/Grün-Bereitstellung dauert einige Minuten, insbesondere bei einem Upgrade der Hauptversion. 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

Ersetzen Sie OPERATION_ID durch die Vorgangs-ID, die vom Befehl zurückgegeben oder in der Meldung angezeigt wird.

REST Version 1

Wenn Sie eine Blue-Green-Bereitstellung mit der Cloud SQL Admin API erstellen möchten, senden Sie eine POST-Anfrage an die Methode blueGreenDeployments.create.

Option A: Mit Intention erstellen (Upgrade der Hauptversion)

Wenn Sie eine Bereitstellung mit Intention erstellen, führt Cloud SQL automatisch die Vorabprüfung des Upgrades der Hauptversion als Teil des Vorgangs aus, bevor die grüne Instanz erstellt wird. Alternativ können Sie die Vorabprüfung des Upgrades der Hauptversion für Ihre blaue Instanz ausführen, bevor Sie die Bereitstellung erstellen, um Upgrade-Blocker zu identifizieren.

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments?blueGreenDeploymentId=DEPLOYMENT_NAME
{
  "sourceInstance": "SOURCE_INSTANCE_ID",
  "requestedConfig": {
    "databaseVersion": "TARGET_DATABASE_VERSION"
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • REGION: die Google Cloud Region Ihrer blauen Instanz.
  • DEPLOYMENT_NAME: Ein eindeutiger Name für die Bereitstellung.
  • SOURCE_INSTANCE_ID: der Name Ihrer blauen Quellinstanz.
  • TARGET_DATABASE_VERSION: die Zieldatenbankversion (z. B. MYSQL_8_4).

Option B: Ohne Intention erstellen (Hardware oder Konfiguration)

Lassen Sie das Feld requestedConfig weg, um eine grüne Umgebung mit derselben Datenbankversion wie die blaue Instanz bereitzustellen:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments?blueGreenDeploymentId=DEPLOYMENT_NAME
{
  "sourceInstance": "SOURCE_INSTANCE_ID"
}

REST v1beta4

Wenn Sie eine Blue-Green-Bereitstellung mit der Cloud SQL Admin API erstellen möchten, senden Sie eine POST-Anfrage an die Methode blueGreenDeployments.create.

Option A: Mit Intention erstellen (Upgrade der Hauptversion)

Wenn Sie eine Bereitstellung mit Intention erstellen, führt Cloud SQL automatisch die Vorabprüfung des Upgrades der Hauptversion als Teil des Vorgangs aus, bevor die grüne Instanz erstellt wird. Alternativ können Sie die Vorabprüfung des Upgrades der Hauptversion für Ihre blaue Instanz ausführen, bevor Sie die Bereitstellung erstellen, um Upgrade-Blocker zu identifizieren.

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments?blueGreenDeploymentId=DEPLOYMENT_NAME
{
  "sourceInstance": "SOURCE_INSTANCE_ID",
  "requestedConfig": {
    "databaseVersion": "TARGET_DATABASE_VERSION"
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID Ihres Projekts in Google Cloud .
  • REGION: die Google Cloud Region Ihrer blauen Instanz.
  • DEPLOYMENT_NAME: Ein eindeutiger Name für die Bereitstellung.
  • SOURCE_INSTANCE_ID: der Name Ihrer blauen Quellinstanz.
  • TARGET_DATABASE_VERSION: die Zieldatenbankversion (z. B. MYSQL_8_4).

Option B: Ohne Intention erstellen (Hardware oder Konfiguration)

Lassen Sie das Feld requestedConfig weg, um eine grüne Umgebung mit derselben Datenbankversion wie die blaue Instanz bereitzustellen:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments?blueGreenDeploymentId=DEPLOYMENT_NAME
{
  "sourceInstance": "SOURCE_INSTANCE_ID"
}

Bereitstellungsstatus überwachen

Das Erstellen ist ein Vorgang mit langer Ausführungszeit (Long-Running Operation, LRO). Während der Staging-Phase stellt Cloud SQL die grüne Instanz bereit, führt ein Upgrade durch (falls ein Upgrade der Hauptversion angefordert wurde) und startet die kontinuierliche logische Replikation.

So prüfen Sie den Fortschritt und Status Ihrer Blau/Grün-Bereitstellung:

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. Suchen Sie die Karte Status der Blau/Grün-Bereitstellung, um den Status der Bereitstellung aufzurufen.
  4. Wenn Sie detaillierte Bereitstellungsaufgaben und den Fortschritt aufrufen möchten, klicken Sie auf Details, um die Seite Bereitstellungsübersicht zu öffnen.

gcloud

Wenn Sie den Fortschritt und Status Ihres Blau/Grün-Deployments mit gcloud prüfen möchten, führen Sie den Befehl blue-green-deployments describe aus:

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

Ersetzen Sie Folgendes:

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

Führen Sie den Befehl gcloud sql operations wait aus, um zu warten, bis der Erstellungsvorgang abgeschlossen ist:

gcloud sql operations wait OPERATION_ID

Ersetzen Sie OPERATION_ID durch die ID des Erstellungsvorgangs.

REST Version 1

Wenn Sie den Fortschritt und Status Ihrer Blue-Green-Bereitstellung mit der Cloud SQL Admin API prüfen möchten, senden Sie eine GET-Anfrage an die Methode blueGreenDeployments.get:

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

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

Wenn Sie den Fortschritt und Status Ihrer Blue-Green-Bereitstellung mit der Cloud SQL Admin API prüfen möchten, senden Sie eine GET-Anfrage an die Methode blueGreenDeployments.get:

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

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.

Behalten Sie in der Befehlsausgabe oder in der Google Cloud Konsole das Feld state im Blick, um den Bereitstellungslebenszyklus zu verfolgen:

  • PROVISIONING:Die grüne Instanz wird erstellt, aktualisiert (falls angefordert) und mit der kontinuierlichen logischen Replikation verbunden.
  • SWITCHOVER_READY:Die erste Replikation wurde abgeschlossen und die kontinuierliche logische Replikation ist aktiv. Die Bereitstellung ist bereit für die Validierung, Tests und das Switchover.
  • SWITCHOVER_NOT_READY:Die Bereitstellung wurde bereitgestellt, aber der Switchover kann nicht initiiert werden (z. B. wenn die Replikation unterbrochen ist oder ein Problem in errorDetail gemeldet wird).

Weitere Informationen zu allen Phasen des Bereitstellungslebenszyklus finden Sie unter Bereitstellungslebenszyklus und ‑status.

Warten Sie, bis sich der Bereitstellungsstatus in SWITCHOVER_READY ändert, bevor Sie die Bereitstellung beschreiben, Ihre Anwendungsarbeitslasten validieren oder einen Switchover starten.

Nächste Schritte