Auf dieser Seite wird die Legacy-Konfiguration einer MySQL-Instanz für Hochverfügbarkeit (High Availability, HA) erläutert.
In einer Legacy-HA-Konfiguration verwendet eine Cloud SQL for MySQL-Instanz ein Failover-Replikat, um die Hochverfügbarkeit der Instanz zu erhöhen. Diese Funktion ist in der Google Cloud -Konsole nicht verfügbar. Die empfohlene Konfiguration nutzt keine Failover-Replikate. Stattdessen wird in der aktuellen Hochverfügbarkeitskonfiguration der regionale nichtflüchtige Speicher von Google verwendet, der Daten auf Blockebene zwischen zwei Zonen in einer Region synchron repliziert.
Weitere Informationen zur aktuellen Konfiguration für Hochverfügbarkeit finden Sie unter Hochverfügbarkeit konfigurieren – Übersicht.
Instanz von Legacy-Version auf aktuelle Hochverfügbarkeit aktualisieren
So aktualisieren Sie Ihre Instanz von der Legacy-Konfiguration auf die aktuelle Hochverfügbarkeitskonfiguration:
Aktualisieren Sie Ihre Instanz auf die aktuelle Hochverfügbarkeitskonfiguration.
- Löschen Sie das Failover-Replikat für die MySQL-Instanz, die Sie aktualisieren möchten. Weitere Informationen finden Sie unter Hochverfügbarkeit für eine Instanz deaktivieren.
- Konfigurieren Sie die primäre Instanz so, dass sie die aktuelle Version der Hochverfügbarkeit verwendet. Weitere Informationen finden Sie unter Bestehende Instanz für Hochverfügbarkeit konfigurieren.
Alternativ können Sie Database Migration Service verwenden, um zu einer Instanz zu migrieren, die die aktuelle Hochverfügbarkeitskonfiguration verwendet.
Lesereplikatinstanz erstellen, um alle Lesearbeitslasten auszulagern, die Sie nicht auf der primären Instanz ausführen möchten.
Failover auslösen
Der Test des Failovers ist optional. Er wird jedoch empfohlen, damit Sie wissen, wie Ihre Anwendung auf ein Failover reagiert.
Weitere Informationen zu Failovers finden Sie unter Failover – Übersicht.
gcloud
Failover initialisieren:
gcloud sql instances failover PRIMARY_INSTANCE_NAME
curl
- Beschreiben Sie die primäre Instanz, um den Wert des Felds
settingsVersion
zu erhalten.gcloud auth login ACCESS_TOKEN="$(gcloud auth print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ -X GET \ https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/PRIMARY_INSTANCE_NAME
- Initialisieren Sie den Failover:
gcloud auth login ACCESS_TOKEN="$(gcloud auth print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"failoverContext":{"settingsVersion":"SETTINGS_VERSION"}}' \ -X POST \ https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/PRIMARY_INSTANCE_NAME/failover
Die Instanz kann während des Failovers einige Minuten keine Daten bereitstellen.
Legacy-Konfiguration: Benachrichtigung über Replikationsverzögerung erstellen
Die Zeit, die ein Failover-Vorgang beansprucht, hängt von der Replikationsverzögerung bei der Initialisierung des Failovers ab. Sie können Cloud Monitoring in derGoogle Cloud -Konsole verwenden, um sich benachrichtigen zu lassen, wenn die Replikationsverzögerung einen Schwellenwert überschreitet.
Weitere Informationen über Replikationsverzögerungen erhalten Sie in der MySQL-Dokumentation auf der Seite SHOW SLAVE STATUS Syntax, indem Sie nach "seconds_behind_master" suchen.
Weitere Informationen zu Cloud Monitoring finden Sie in der Cloud Monitoring-Dokumentation.
Legacy-Konfiguration: Benachrichtigung für ein bestimmtes Failover-Replikat einstellen
- Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und dann Benachrichtigungen aus.
- Klicken Sie auf Benachrichtigungsrichtlinie erstellen.
- Geben Sie für die Benachrichtigung einen aussagekräftigen Namen ein.
- Wählen Sie Messwertschwelle aus und klicken Sie auf Weiter, um den zugehörigen Tab zu öffnen.
- Wählen Sie Cloud SQL als Ressourcentyp aus.
- Wählen Sie unter Gilt für die Option Einzeln und dann Ihr Failover-Replikat aus.
- Klicken Sie auf Weiter, um den Konfigurations-Tab zu öffnen.
Geben Sie die folgenden Werte ein:
Feld Wert Wenn Messwert Sekunden nach Master Bedingung darüber Grenzwerte 120 (oder ein anderer, für Ihre Umgebung geeigneter Wert) Für 3 Minuten Wählen Sie die Methoden der Benachrichtigung aus und klicken Sie auf Bedingung speichern.
Legacy-Konfiguration: Benachrichtigung für eine Gruppe von Failover-Replikaten festlegen
Wenn Sie innerhalb eines Projekts mehrere Failover-Replikate erstellen, ist es einfacher, die Benachrichtigung für die gesamte Gruppe als für jedes einzelne Replikat zu konfigurieren. Erweitern Sie die Namen der Failover-Replikate um ein Suffix wie "-failover", um eine Gruppe für die Überwachung zu erstellen. Achten Sie darauf, dass dieses Suffix nicht für andere Cloud SQL-Instanzen verwendet wird.
Gruppe von Failover-Replikaten erstellen:
-
Rufen Sie in der Google Cloud Console die Seite Monitoring auf.
- Wählen Sie in der oberen Menüleiste Gruppen > Erstellen... aus.
- Geben Sie einen aussagekräftigen Namen für die Gruppe ein.
- Lassen Sie Name und Enthält aktiviert und geben Sie Ihren Teilstring für den Namen ein.
- Klicken Sie auf Gruppe speichern. Es wird eine Übersichtsseite der neuen Gruppe geöffnet.
- Prüfen Sie, ob alle erwarteten Instanzen in der Gruppe enthalten sind.
Benachrichtigung für Failover-Replikatgruppen erstellen:
- Wählen Sie im Navigationsbereich der Google Cloud Console Monitoring und dann Benachrichtigungen aus.
- Klicken Sie auf Benachrichtigungsrichtlinie erstellen.
- Geben Sie für die Gruppenbenachrichtigung einen aussagekräftigen Namen ein.
- Wählen Sie Messwertschwelle aus und klicken Sie auf Weiter, um den zugehörigen Tab zu öffnen.
- Wählen Sie Cloud SQL als Ressourcentyp aus.
- Wählen Sie unter Gilt für die Option Gruppe und dann Ihre Failover-Gruppe aus.
- Lassen Sie Verstoß bei jedem Mitglied aktiviert und klicken Sie auf Weiter, um den Konfigurations-Tab zu öffnen.
Die folgenden Werte eingeben:
Feld Wert Wenn Messwert Sekunden nach Master Bedingung darüber Grenzwerte 120 (oder ein anderer, für Ihre Umgebung geeigneter Wert) Für 3 Minuten Wählen Sie die gewünschten Methoden der Benachrichtigung aus und klicken Sie auf Bedingung speichern.
Legacy-Konfiguration: Hochverfügbarkeit für eine Instanz deaktivieren
Sie müssen die Failover-Replikatinstanz löschen, um Hochverfügbarkeit aus der primären Instanz zu entfernen.
Bestätigen Sie vor dem Ausführen dieser Schritte, dass derzeit keine Vorgänge für die primäre Instanz ausgeführt werden.
So deaktivieren Sie Hochverfügbarkeit:
Console
-
Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.
- Wählen Sie die Failover-Instanz aus, die der Instanz zugeordnet ist, für die Sie Hochverfügbarkeit deaktivieren möchten.
- Klicken Sie auf der Seite Instanzdetails auf LÖSCHEN.
- Geben Sie im Fenster Replikat löschen den Namen der Failover-Instanz noch einmal ein.
- Klicken Sie auf löschen. Die Konfiguration für die ursprüngliche Instanz ändert sich in zonal.
gcloud
Weitere Informationen finden Sie untergcloud sql instances delete
.gcloud sql instances delete FAILOVER_REPLICA_NAME
curl
In der folgenden Anfrage wird mit der Methodeinstances:delete
die Instanz gelöscht:gcloud auth login ACCESS_TOKEN="$(gcloud auth print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json'\ -X DELETE\ https://www.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_NAME
Nächste Schritte
- Mehr über die Funktionsweise der Hochverfügbarkeitskonfiguration
- Instanz neu starten, um zu testen, wie die Anwendung auf getrennte Verbindungen reagiert
- Mehr über die Verwaltung von Datenbankverbindungen
- Weitere Informationen zu Cloud Monitoring
- Lesereplikate für eine Instanz erstellen