Dieses Dokument bietet einen Überblick über die Blau/Grün-Bereitstellungen von Cloud SQL, mit denen Sie Datenbankupdates wie Hauptversionsupgrades und Hardwareänderungen durchführen können und gleichzeitig Ausfallzeiten minimieren.
Bereitstellungsabsichten und Anwendungsfälle
Sie können eine Blau/Grün-Bereitstellung mit oder ohne die Absicht erstellen, ein Upgrade auf eine Hauptversion durchzuführen:
- Create with intent (major version upgrade) (Mit Intention erstellen – Hauptversions-Upgrade):Bei dieser Option wird das Datenbankmodul auf eine neuere Hauptversion aktualisiert. Beim Erstellen der Bereitstellung führt Cloud SQL die API für die Vorabprüfung des Upgrades der Hauptversion aus, um die Kompatibilität zu prüfen, bevor mit dem Upgradevorgang fortgefahren wird.
- Erstellen ohne Intention (Konfigurations- oder Hardwareänderungen): Stellt Änderungen in der aktuellen Datenbankversion bereit. Anwendungsfälle sind unter anderem das Ändern von Maschinentypen (CPU-/RAM-Skalierung), das Testen von Datenbank-Flags oder das Bewerten von Speicheränderungen, ohne die Engine-Version zu aktualisieren.
Funktionsweise von Blau/Grün-Bereitstellungen
Cloud SQL-Blau/Grün-Bereitstellungen bieten einen automatisierten Workflow, bei dem Änderungen in einer temporären sekundären Umgebung bereitgestellt werden, bevor der Live-Traffic umgeschaltet wird.
Bei einer Blau/Grün-Bereitstellung erstellt Cloud SQL eine separate Staging-Umgebung (grün), die Ihre vorhandene Produktionsumgebung (blau) spiegelt. Der Dienst führt eine kontinuierliche logische Replikation von Blau nach Grün durch. Sie können die Kompatibilität und Leistung der Anwendung in der grünen Umgebung gründlich testen, ohne den Produktionstraffic zu beeinträchtigen. Wenn Sie bereit sind, lösen Sie einen schnellen Switchover aus, bei dem der grünen Umgebung der Lese- und Schreibstatus für die Produktion zugewiesen wird. Die Ausfallzeit der Anwendung ist dabei minimal (in der Regel nur wenige Sekunden).
Komponenten einer Blau/Grün-Bereitstellung
Eine Blue-Green-Bereitstellung besteht aus den folgenden Komponenten:
- Blaue Umgebung (Quelle): Ihre vorhandene Produktionsumgebung, in der Anwendungs-Traffic aktiv verarbeitet wird. Sie besteht aus der Lese- und Schreibinstanz der Quelle und der zugehörigen Konfiguration.
- Grüne Umgebung (Ziel): Eine temporäre, isolierte Staging-Umgebung, die von Cloud SQL als Klon der blauen Umgebung erstellt wird. Die grüne Umgebung enthält die von Ihnen angeforderten Änderungen (z. B. eine neuere Datenbankversion) und wird durch kontinuierliche Replikation mit der blauen Umgebung synchronisiert.
Cloud SQL benennt die grüne Staging-Instanz automatisch nach dem Muster
BLUE_INSTANCE_NAME-green-UNIQUE_ID, wobei BLUE_INSTANCE_NAME auf maximal 48 Zeichen gekürzt wird und UNIQUE_ID eine 8-stellige hexadezimale Kennung ist. Umstellung:Der geplante, vom Nutzer initiierte Prozess, bei dem die grüne Umgebung zur neuen Produktionsinstanz für Lese- und Schreibvorgänge wird. Während der Umstellung tauscht Cloud SQL die Verbindungsendpunkte, sodass Anwendungen mit einem kurzen Verbindungsabbruch (in der Regel in Sekunden) eine Verbindung zur grünen Umgebung herstellen. Die erwartete Ausfallzeit während der Übernahme 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.
Im Gegensatz zu einem ungeplanten Failover, der bei einem Ausfall automatisch ausgelöst wird, ist ein Switchover ein kontrollierter Vorgang, der für die Verwaltung geplanter Änderungen verwendet wird.
Löschen:Der Prozess zum Entfernen der Ressource der Blau/Grün-Bereitstellung. Das Löschverhalten hängt davon ab, ob ein Switchover stattgefunden hat:
- Vor der Umstellung:Wenn Sie die Bereitstellung löschen, werden die grüne Staging-Instanz und die Bereitstellungsressource entfernt. Ihre blaue Produktionsinstanz ist davon nicht betroffen und verarbeitet weiterhin Traffic.
- Nach der Umstellung:Wenn Sie die Bereitstellung löschen, werden die Metadaten der Bereitstellung entfernt. Standardmäßig werden sowohl die konvertierte Instanz (grün) als auch die blaue Instanz beibehalten. Sie können die blaue Instanz optional löschen, um laufende Gebühren zu vermeiden.
Bereitstellungslebenszyklus und ‑status
Eine Blau/Grün-Bereitstellung durchläuft vier verschiedene Lebenszyklusphasen:
- Erstellung und Staging (
PROVISIONING): Wenn Sie eine Blue-Green-Bereitstellung anfordern, stellt Cloud SQL eine temporäre grüne Zielinstanz bereit, die Ihre blaue Produktionsumgebung klont. Bei einem Upgrade der Hauptversion führt Cloud SQL auch die API für die Vorabprüfung des Upgrades der Hauptversion aus, um die Datenbankkompatibilität zu prüfen, bevor mit dem Upgradevorgang fortgefahren wird. Cloud SQL wendet das angeforderte Upgrade oder die Konfigurationsänderung auf die grüne Umgebung an und startet die kontinuierliche logische Replikation von Blau nach Grün. - Staging-Überprüfung (
SWITCHOVER_READYoderSWITCHOVER_NOT_READY): Wenn die Erstreplikation abgeschlossen ist, wechselt die Bereitstellung in den StatusSWITCHOVER_READY(oderSWITCHOVER_NOT_READY, wenn die Replikation unterbrochen ist oder Fehler auftreten). Die blaue Umgebung verarbeitet weiterhin den Live-Produktionstraffic. Sie stellen eine Verbindung zu Green her, um Validierungstests auszuführen, die Anwendungskompatibilität zu prüfen und die Abfrageleistung zu testen. - Switchover-Ausführung (
SWITCHOVER_IN_PROGRESSoderSWITCHOVER_COMPLETED): Wenn Sie einen Switchover auslösen, führt Cloud SQL Sicherheitsprüfungen durch, tauscht Verbindungsendpunkte und legt die grüne Instanz als aktive Produktionsinstanz mit Lese- und Schreibzugriff (SWITCHOVER_COMPLETED) fest. Die blaue Instanz wird in eine eigenständige Instanz mit Lese- und Schreibzugriff umgewandelt. Aktive Lese- und Schreibvorgänge werden ausschließlich an die grüne Instanz weitergeleitet und die logische Replikation von Blau nach Grün wird beendet. Weitere Informationen finden Sie unter Blau/Grün-Bereitstellung umstellen. Löschen (
DELETING): Wenn Sie mit dem Testen fertig sind oder die Produktionsvorgänge überprüft haben, löschen Sie die Bereitstellungsressource. Das Löschverhalten hängt vom Bereitstellungsstatus ab:- Vor der Umstellung (Abbrechen): Wenn Sie sich gegen die Bereitstellung entscheiden oder Bestätigungsprobleme auftreten, wird durch das Löschen der Bereitstellung die grüne Staging-Instanz entfernt und die Bereitstellungsmetadaten werden gelöscht. Die ursprüngliche blaue Produktionsinstanz bleibt unverändert und verarbeitet weiterhin Traffic ohne Unterbrechung.
- Nach dem Switchover (Bereinigung): Nachdem der Switchover abgeschlossen ist und Sie die Vorgänge in der neuen Produktionsinstanz überprüft haben, werden durch das Löschen der Bereitstellung die Bereitstellungsmetadaten entfernt. Standardmäßig werden sowohl die neue Produktionsinstanz (grün) als auch die blaue Instanz als eigenständige Lese- und Schreibinstanzen beibehalten. Optional können Sie das Flag
--delete-old-sourceangeben, um die blaue Instanz endgültig zu löschen und keine Gebühren mehr dafür zu zahlen.
Weitere Informationen finden Sie unter Blau/Grün-Bereitstellung löschen.
Status von Deployment-Ressourcen
Wenn Sie eine Blau/Grün-Bereitstellung untersuchen, gibt das Feld state den aktuellen Lebenszyklusstatus an:
PROVISIONING:Die Bereitstellung wird erstellt. Bei Upgrades von Hauptversionen führt Cloud SQL die Pre-Check API aus, um die Kompatibilität zu prüfen, bevor fortgefahren wird. Cloud SQL stellt die grüne Umgebung bereit, führt die angeforderten Upgrades aus und richtet die kontinuierliche logische Replikation ein.SWITCHOVER_READY:Die grüne Umgebung wird bereitgestellt, die logische Replikation von Blau nach Grün ist fehlerfrei und die Bereitstellung ist für die Umstellung bereit.SWITCHOVER_NOT_READY:Die Bereitstellung wurde bereitgestellt, aber der Wechsel kann nicht initiiert werden. Dies tritt auf, wenn die logische Replikation unterbrochen oder beendet wurde, die erste Replikation noch nicht abgeschlossen ist oder auf einem gekoppelten Knoten ein Fehler aufgetreten ist.SWITCHOVER_IN_PROGRESS:Ein Switchover-Vorgang wird aktiv ausgeführt. Cloud SQL tauscht die Verbindungsendpunkte und wandelt die grüne Instanz in die aktive Produktionsinstanz mit Lese- und Schreibzugriff um.SWITCHOVER_COMPLETED:Der Wechselvorgang wurde erfolgreich abgeschlossen. Die grüne Instanz ist jetzt Ihre aktive Produktionsinstanz zum Lesen und Schreiben und die blaue Instanz wird als eigenständige Instanz zum Lesen und Schreiben beibehalten.DELETING:Das Deployment wird gelöscht. Wenn Sie die grüne Staging-Instanz vor dem Switchover löschen, wird sie von Cloud SQL entfernt und die Bereitstellungsmetadaten werden gelöscht. Wenn Sie die Instanz nach dem Switchover löschen, entfernt Cloud SQL die Bereitstellungsmetadaten und löscht optional die blaue Instanz, wenn das Flag--delete-old-sourceangegeben ist.STATE_UNSPECIFIED:Der Status der Bereitstellung ist unbekannt.
Wechselstatus und ‑bereitschaft
Die Bereitschaft für die Umstellung hängt vom Replikationsstatus und vom Knotenstatus ab, um Ihre Produktionsdatenbank vor Datenverlust oder längeren Ausfallzeiten zu schützen:
- Replikationsstatus und ‑verzögerung:Wenn die logische Replikation zwischen Blau und Grün unterbrochen oder pausiert wird oder fehlschlägt, ändert sich der Bereitstellungsstatus zu
SWITCHOVER_NOT_READY. In der Bereitstellungstateund der Ausgabe von „describe“ wird keine Replikationsverzögerung gemeldet und Cloud SQL berücksichtigt die Replikationsverzögerung nicht als Vorabprüfung bei der Bestimmung des Bereitstellungsstatus. Der Switchover-Vorgang schlägt jedoch fehl, wenn die Replikationsverzögerung zu hoch ist, wenn der Switchover eingeleitet wird. Damit der Wechsel reibungslos verläuft, sollte die Replikationsverzögerung vor dem Start des Wechsels minimal sein. Sie können die Replikationsverzögerung in Cloud Monitoring überwachen, indem Sie Messwerte wiereplica_lagin der Liste der Cloud SQL-Messwerte prüfen, oder direkt auf der grünen Instanz. Weitere Informationen finden Sie unter Replikationsverzögerung überwachen. - Status der gekoppelten Knoten:Unter
deploymentMappingsmeldet jeder gekoppelte Knoten seinen eigenen Knotenstatus (z. B.PROVISIONED,UPGRADED,UPGRADE_FAILED,SWITCHOVER_IN_PROGRESS,SWITCHOVER_SUCCEEDEDoderSWITCHOVER_FAILED). Wenn bei einem gekoppelten Knoten ein Fehler auftritt (UPGRADE_FAILEDoderSWITCHOVER_FAILED), wechselt der gesamte Bereitstellungsstatus zuSWITCHOVER_NOT_READY. Wenn ein Switchover fehlschlägt, bleibt das Routing auf der blauen Instanz ohne Datenverlust. - Fehlerbehebung bei der Switchover-Bereitschaft:Wenn in Ihrer Bereitstellung
SWITCHOVER_NOT_READYgemeldet wird, prüfen Sie das FelderrorDetail, um Replikations- oder Knotenfehler zu diagnostizieren. Prüfen Sie vor dem Initiieren des Failovers, ob die Replikationsverzögerung minimal ist, und vergewissern Sie sich, dass aktive Batch-DDL-Vorgänge oder lang andauernde Schreibtransaktionen auf der blauen Instanz abgeschlossen sind.
Beschränkungen
Beachten Sie die folgenden Einschränkungen, bevor Sie Blue-Green-Bereitstellungen verwenden:
- Unterstützte Engines und Versionen:Cloud SQL for MySQL-Instanzen mit MySQL 5.7 und höher werden für die Konfigurationsbereitstellung (Erstellung ohne Intention) unterstützt. Hauptversions-Upgrade-Ziele (mit Intention erstellen) werden von MySQL 8.0 auf 8.4 unterstützt. MySQL 8.0.18 wird für Blau/Grün-Bereitstellungen nicht unterstützt.
- Nicht unterstützte Datenbankmodule:Cloud SQL for PostgreSQL und Cloud SQL for SQL Server werden nicht unterstützt.
- Instanzen mit Lesereplikaten:Blau/Grün-Bereitstellungen werden für Instanzen mit Lesereplikaten nicht unterstützt.
- Nicht unterstützte Netzwerkkonfigurationen:Blue-Green-Bereitstellungen unterstützen keine ausgehenden Private Service Connect-Konfigurationen.
- IAM-Gruppenauthentifizierung:Blue-Green-Bereitstellungen sind nicht mit der IAM-Gruppenauthentifizierung von MySQL kompatibel und können zu Switchover-Fehlern führen.
- Anforderung an die Netzwerkarchitektur:Cloud SQL-Instanzen müssen die neue Netzwerkarchitektur verwenden. Instanzen, die die alte Netzwerkarchitektur verwenden, werden nicht unterstützt.
- Anforderung für binäres Logging:Für MySQL-Instanzen müssen automatische Sicherungen und binäres Logging aktiviert sein, um die kontinuierliche logische Replikation in die grüne Umgebung zu unterstützen.
- Anforderung an die Wartungsversion:Auf Ihrer blauen Quellinstanz muss die aktuelle Wartungsversion ausgeführt werden, bevor Sie ein Blau/Grün-Deployment erstellen. Informationen zum Prüfen oder Aktualisieren der Wartungsversion Ihrer Instanz finden Sie unter Selfservice-Wartung durchführen.
- Ressourcenverfügbarkeit:Die Bereitstellung von Instanzen während der Blau/Grün-Bereitstellung, einschließlich der Erstellung der grünen Staging-Instanz und der blauen Instanz nach der Umstellung, kann durch Einschränkungen der Computeressourcen in der ausgewählten Region oder Zone beeinträchtigt werden.
- Nicht geplante Ausfälle und Failover:Der Wechsel bei der Blau/Grün-Bereitstellung ist ein streng geplanter Vorgang, für den eine fehlerfreie
RUNNING-Quellinstanz erforderlich ist. Die grüne Staging-Instanz fungiert als spezielles Lesereplikat. Wie bei Standardlesereplikaten kann die grüne Instanz nicht als Failover-Ziel bei einem ungeplanten Ausfall der Quellinstanz verwendet werden. Wenn Sie die automatische Wiederherstellung nach einem Ausfall nutzen möchten, konfigurieren Sie Ihre Instanz für Hochverfügbarkeit oder verwenden Sie ein Replikat zur Notfallwiederherstellung (Disaster Recovery, DR).
Abrechnung und Preise
Für die Verwendung von Blau/Grün-Bereitstellungen fallen keine zusätzlichen Kosten an. Da jedoch während der Bereitstellung eine vollständige parallele grüne Umgebung bereitgestellt wird, werden Ihnen für die gesamte Dauer, in der beide Umgebungen vorhanden sind, Standardgebühren für die blauen und grünen Instanzen in Rechnung gestellt.
Löschen Sie die Bereitstellung und die zugehörigen Instanzen, um unnötige Kosten zu vermeiden:
- Vor der Umstellung:Wenn Sie die Bereitstellung abbrechen, löschen Sie die Bereitstellung, um die grüne Staging-Instanz zu entfernen und die Gebühren dafür zu beenden.
- Nach der Umstellung:Löschen Sie die Bereitstellung und geben Sie das Flag
--delete-old-sourcean, um die blaue Instanz dauerhaft zu löschen, nachdem Sie die neue Produktionsinstanz überprüft haben. Wenn Sie die blaue Instanz nicht löschen, wird Ihnen weiterhin die Nutzung beider Instanzen in Rechnung gestellt.
Nächste Schritte
- Blau/Grün-Bereitstellung erstellen und bereitstellen
- Blau/Grün-Bereitstellungen beschreiben und auflisten
- Blau/Grün-Bereitstellung wechseln.
- Blau/Grün-Bereitstellung löschen