Hochverfügbarkeit für eine Instanz aktivieren und deaktivieren

Auf dieser Seite wird beschrieben, wie Sie eine Instanz für Hochverfügbarkeit konfigurieren.

Sie können Hochverfügbarkeit für eine Instanz beim Erstellen konfigurieren oder für eine vorhandene Instanz aktivieren.

Weitere Informationen zur Hochverfügbarkeit finden Sie unter Hochverfügbarkeit konfigurieren – Übersicht.

Bei der Legacy-Konfiguration für Hochverfügbarkeit wurde eine failover replica-Instanz verwendet. Die neue Konfiguration verwendet failover replica nicht. Stattdessen werden die regionalen nichtflüchtigen Speicher von Google verwendet, die Daten auf Blockebene zwischen zwei Zonen in einer Region synchron replizieren. Wenn Sie mit einer MySQL-Instanz arbeiten, auf der Legacy-Hochverfügbarkeit verwendet wird, können Sie Ihre Konfiguration aktualisieren, um die aktuelle Version zu verwenden. Informationen zu anderen Verfahren im Zusammenhang mit der Legacy-Konfiguration für Hochverfügbarkeit finden Sie unter Legacy-Konfiguration für Hochverfügbarkeit.

Neue Instanz mit Hochverfügbarkeit erstellen

Wenn Sie eine Instanz erstellen und für Hochverfügbarkeit konfigurieren, erstellt Cloud SQL sie als regionale Instanz.

So erstellen Sie eine Instanz, die für Hochverfügbarkeit konfiguriert ist:

Konsole

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite "Cloud SQL-Instanzen"

  2. Erstellen Sie eine Instanz.
  3. Wählen Sie auf der Seite Instanzinformationen die Option Konfigurationsoptionen einblenden aus.
  4. Öffnen Sie den Abschnitt Sicherungen, Wiederherstellung und Hochverfügbarkeit.
  5. Wählen Sie das Optionsfeld Hochverfügbarkeit (regional) aus.

gcloud

  1. Erstellen Sie die regionale Instanz:
    gcloud sql instances create [REGIONAL_INSTANCE_NAME] \
                         --availability-type=REGIONAL \
                         --database-version=[DATABASE_VERSION] \
                         --tier=[MACHINE_TYPE] \
                         --enable-bin-log
    
    Die vollständige Liste der verfügbaren Parameter finden Sie auf der Referenzseite für gcloud sql instances create.
  2. Konfigurieren Sie den Root-Nutzer:
    gcloud sql users set-password root --host=% \
               --instance=[PRIMARY_INSTANCE_NAME]
               --password=[PASSWORD]
    

REST

Die vollständige Liste der Parameter für diese Anfrage finden Sie auf der Seite instances:insert.

Erstellen Sie die regionale Instanz:

  1. Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • project-id: die Projekt-ID
    • instance-name: den Namen der Instanz
    • database-version: den Enum-String der Datenbankversion
    • region: die GCP-Region
    • machine-type: den Maschinentyp

    HTTP-Methode und URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances

    JSON-Text anfordern:

    {
      "name": "instance-name",
      "region": "region",
      "databaseVersion": "database-version",
       "settings": {
         "tier": "machine-type",
         "backupConfiguration": {
             "binaryLogEnabled": true,
             "enabled": true
          },
          "availabilityType": "REGIONAL"
       }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

  2. Aktualisieren Sie das Root-Passwort für die Instanz, sobald die Initialisierung der Instanz abgeschlossen ist:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • project-id: die Projekt-ID
    • instance-id: die Instanz-ID
    • password: das neue Passwort für den Root-Nutzer

    HTTP-Methode und URL:

    PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=root'

    JSON-Text anfordern:

    {
       "name": "root",
       "host": "%",
       "password": "password"}
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort erhalten.

Weitere Informationen über das Erstellen einer Instanz finden Sie unter Instanzen erstellen.

Eine bestehende Instanz für Hochverfügbarkeit konfigurieren

Das Konfigurieren einer vorhandenen Instanz für Hochverfügbarkeit führt zu einer Ausfallzeit von einigen Minuten während der Neukonfiguration.

Eine bestehende Instanz für Hochverfügbarkeit konfigurieren:

Konsole

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite "Cloud SQL-Instanzen"

  2. Klicken Sie auf den Instanznamen, um die entsprechende Übersicht zu öffnen.
  3. Klicken Sie auf Bearbeiten.
  4. Öffnen Sie den Bereich Sicherungen, Wiederherstellung und Hochverfügbarkeit.
  5. Klicken Sie die Kästchen neben Sicherungen automatisieren und Wiederherstellung zu einem bestimmten Zeitpunkt aktivieren an.
  6. Wählen Sie Hochverfügbarkeit (regional) aus.
  7. Klicken Sie auf Speichern.

    Sie werden dann zur Instanzseite der primären Instanz zurückgeleitet, während die Instanz aktualisiert wird.

gcloud

Legen Sie die Instanz als regionale Instanz fest:

gcloud sql instances patch [INSTANCE_NAME] --availability-type REGIONAL --enable-bin-log --backup-start-time=[HH:MM]

Weitere Informationen finden Sie unter gcloud sql instances patch.

REST

  1. Prüfen Sie in der primären Instanz, ob automatische Sicherungen und binäre Logs aktiviert sind. Diese Einstellungen sind für Instanzen mit Hochverfügbarkeit erforderlich.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • project-id: die Projekt-ID
    • instance-id: die Instanz-ID

    HTTP-Methode und URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_5_7",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "db-f1-micro",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "asia-east1-a",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "08:00",
          "kind": "sql#backupConfiguration",
          "enabled": true,
          "binaryLogEnabled": true
        },
        "settingsVersion": "13",
        "storageAutoResizeLimit": "0",
        "storageAutoResize": true,
        "dataDiskSizeGb": "10"
      },
      "etag": "etag-id",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        "kind": "sql#sslCert",
        "certSerialNumber": "0",
        "cert": "certificate-id",
        "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
        "sha1Fingerprint": "sha-id",
        "instance": "instance-id",
        "createTime": "2019-06-28T22:46:35.052Z",
        "expirationTime": "2029-06-25T22:47:35.052Z"
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "project-id",
      "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
      "backendType": "SECOND_GEN",
      "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
      "connectionName": "project-id:region:instance-id",
      "name": "instance-id",
      "region": "asia-east1",
      "gceZone": "asia-east1-a"
    }
    

    Die Ausgabe enthält einen Abschnitt, der etwa so aussieht:

      "backupConfiguration": {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": true,
        "binaryLogEnabled": true
        }
      
  2. Wenn entweder enabled oder binaryLogEnabled den Wert false hat, aktivieren Sie beide mit der Methode instances:patch. Setzen Sie enabled auf true und geben Sie als Wert für startTime den Beginn des Sicherungszeitraums an, um die Sicherungen zu aktivieren. Legen Sie für binaryLogEnabled den Wert true fest, um das binäre Logging zu aktivieren.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • project-id: die Projekt-ID
    • instance-id: Die Instanz-ID
    • start-time: Die Uhrzeit im Format "HH:MM"

    HTTP-Methode und URL:

    PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    JSON-Text anfordern:

    {
      "settings":
      {
        "backupConfiguration":
        {
          "startTime": "start-time",
          "enabled": true,
          "binaryLogEnabled": true
        }
      }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

  3. Legen Sie die Instanz als regionale Instanz fest:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • project-id: die Projekt-ID
    • instance-name: den Namen der Instanz

    HTTP-Methode und URL:

    PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name

    JSON-Text anfordern:

    {
      "settings": {"availabilityType": "REGIONAL" }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort als Ausgabe erhalten.

Failover initialisieren

Der Test des Failovers ist optional. Er wird jedoch empfohlen, damit Sie wissen, wie Ihre Anwendung auf einen Failover reagiert.

Weitere Informationen zu Failovers finden Sie unter Failover – Übersicht.

Konsole

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite "Cloud SQL-Instanzen"

  2. Klicken Sie auf den Namen der primären Instanz, um die zugehörige Seite Instanzdetails zu öffnen.
  3. Klicken Sie in der Schaltflächenleiste auf Failover.

gcloud

Initialisieren Sie das Failover:

gcloud sql instances failover [PRIMARY_INSTANCE_NAME]

REST

  1. Beschreiben Sie die primäre Instanz, um den Wert des Felds settingsVersion zu erhalten.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • project-id: die Projekt-ID
    • instance-id: die Instanz-ID

    HTTP-Methode und URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_5_7",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "db-f1-micro",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "asia-east1-a",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "08:00",
          "kind": "sql#backupConfiguration",
          "enabled": true,
          "binaryLogEnabled": true
        },
        "settingsVersion": "13",
        "storageAutoResizeLimit": "0",
        "storageAutoResize": true,
        "dataDiskSizeGb": "10"
      },
      "etag": "etag-id",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        "kind": "sql#sslCert",
        "certSerialNumber": "0",
        "cert": "certificate-id",
        "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
        "sha1Fingerprint": "sha-id",
        "instance": "instance-id",
        "createTime": "2019-06-28T22:46:35.052Z",
        "expirationTime": "2029-06-25T22:47:35.052Z"
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "project-id",
      "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
      "backendType": "SECOND_GEN",
      "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
      "connectionName": "project-id:region:instance-id",
      "name": "instance-id",
      "region": "asia-east1",
      "gceZone": "asia-east1-a"
    }
    
  2. Initialisieren Sie das Failover:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • project-id: die Projekt-ID
    • instance-name: den Namen der Instanz
    • settings-version: die settingsVersion aus instanceInfo

    HTTP-Methode und URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name/failover

    JSON-Text anfordern:

    {
      "failoverContext":
         {
            "settingsVersion":"settings-version"
         }
    }
    

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Sie sollten in etwa folgende JSON-Antwort erhalten:

Die Instanz kann während des Failovers einige Minuten keine Daten bereitstellen.

Instanz auf Hochverfügbarkeit prüfen

So prüfen Sie eine Instanz auf Hochverfügbarkeit:

Konsole

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite "Cloud SQL-Instanzen"

  2. Klicken Sie auf einen Instanznamen, um die zugehörige Seite Instanzdetails zu öffnen.
  3. Unter Konfiguration wird Hochverfügbar (regional) angezeigt.

gcloud

gcloud sql instances describe [INSTANCE_NAME]
Die Ausgabe gibt an, dass availabilityType REGIONAL ist.

REST

Ersetzen Sie diese Werte in den folgenden Anweisungen:

  • project-id: die Projekt-ID
  • instance-id: die Instanz-ID

HTTP-Methode und URL:

GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_5_7",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-f1-micro",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "asia-east1-a",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "08:00",
      "kind": "sql#backupConfiguration",
      "enabled": true,
      "binaryLogEnabled": true
    },
    "settingsVersion": "13",
    "storageAutoResizeLimit": "0",
    "storageAutoResize": true,
    "dataDiskSizeGb": "10"
  },
  "etag": "etag-id",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    "kind": "sql#sslCert",
    "certSerialNumber": "0",
    "cert": "certificate-id",
    "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
    "sha1Fingerprint": "sha-id",
    "instance": "instance-id",
    "createTime": "2019-06-28T22:46:35.052Z",
    "expirationTime": "2029-06-25T22:47:35.052Z"
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "SECOND_GEN",
  "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "asia-east1",
  "gceZone": "asia-east1-a"
}

Die Ausgabe gibt an, dass availabilityType REGIONAL ist.

Hochverfügbarkeit für eine Instanz deaktivieren

Bestätigen Sie vor dem Ausführen dieser Schritte, dass derzeit keine Vorgänge für die Instanz ausgeführt werden.

So deaktivieren Sie Hochverfügbarkeit:

Konsole

  1. Öffnen Sie in der Google Cloud Console die Seite "Cloud SQL-Instanzen".

    Zur Seite "Cloud SQL-Instanzen"

  2. Wählen Sie die Instanz aus, für die Sie Hochverfügbarkeit deaktivieren möchten.
  3. Klicken Sie auf der Seite Instanzdetails auf BEARBEITEN.
  4. Öffnen Sie Automatische Sicherungen.
  5. Klicken Sie unter Verfügbarkeit auf Einzelne Zone.
  6. Klicken Sie auf Speichern. Nach diesem Bearbeitungsschritt muss die Instanz neu gestartet werden.
  7. Wenn Sie das Nachrichtenfeld sehen, klicken Sie auf SPEICHERN UND NEU STARTEN.

gcloud

Weitere Informationen finden Sie unter gcloud sql instances patch.
gcloud sql instances patch [INSTANCE_NAME]
           --availability-type ZONAL

REST

Bei dieser Anfrage wird die Methode instances:patch verwendet, um den Verfügbarkeitstyp für die Instanz in ZONAL zu ändern.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • project-id: die Projekt-ID
  • instance-name: den Namen der Instanz

HTTP-Methode und URL:

PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name

JSON-Text anfordern:

{
  "settings": {"availabilityType": "ZONAL" }
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten einen erfolgreichen Statuscode (2xx) und eine leere Antwort erhalten.

Instanz von Legacy-Version auf aktuelle Hochverfügbarkeit aktualisieren

So aktualisieren Sie Ihre Instanz von der Legacy-Konfiguration auf die neue Hochverfügbarkeitskonfiguration:

  1. Löschen Sie das Failover-Replikat auf den MySQL-Instanzen, die Sie aktualisieren möchten. Siehe Legacy-Konfiguration: Hochverfügbarkeit für eine Instanz deaktivieren.
  2. Konfigurieren Sie die Instanz so, dass sie die aktuelle Version der Hochverfügbarkeit verwendet. Weitere Informationen finden Sie unter Bestehende Instanz für Hochverfügbarkeit konfigurieren.

Fehlerbehebung

Klicken Sie auf die Links in der Tabelle, um weitere Informationen zu erhalten:

Problem Mögliche Ursache Lösungsvorschlag
Messwerte für manuelles Failover können nicht gefunden werden. Nur automatische Failovers fließen in die Messwerte ein.
CPU und RAM sind fast zu 100 % ausgelastet. Die Rechnerkapazitäten der Instanz reichen für die Arbeitslast nicht aus. Aktualisieren Sie die Rechnerkapazitäten der Instanz.

Messwerte für manuelles Failover können nicht gefunden werden

Sie haben ein manuelles Failover durchgeführt und können im Metrics Explorer unter den automatischen Failover-Messwerten keinen entsprechenden Eintrag finden.

Mögliche Ursache

Nur automatische Failovers werden in den Messwerten aufgenommen. Manuell ausgelöste Failovers werden nicht berücksichtigt.

Lösungsvorschlag


CPU und RAM sind fast zu 100 % ausgelastet

Cloud SQL-Instanzressourcen (CPU und RAM) sind zu fast 100 % ausgelastet, wodurch die Hochverfügbarkeitsinstanz abstürzt.

Mögliche Ursache

Die Rechnerkapazitäten der Instanz reichen für die Arbeitslast nicht aus.

Lösungsvorschlag

Bearbeiten Sie die Instanz, um ein Upgrade auf einen Rechner mit höherer Kapazität durchzuführen, sodass mehr CPUs und Speicherplatz verfügbar sind.

Weitere Informationen