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 die Legacy-Hochverfügbarkeitskonfiguration 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:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Wählen Sie Instanz erstellen aus.
  3. Wählen Sie im Abschnitt Region und zonale Verfügbarkeit auswählen die Option Mehrere Zonen (Hochverfügbarkeit) aus.
  4. Maximieren Sie Zonen angeben.
  5. Wählen Sie die Region sowie die primäre und sekundäre Zone aus. Die folgenden Bedingungen gelten, wenn die sekundäre Zone während der Erstellung oder Bearbeitung einer Instanz verwendet wird:
    • Die Zonen verwenden standardmäßig Any für die primäre Zone und Any (different from primary) für die sekundäre Zone.
    • Wenn sowohl die primäre als auch die sekundäre Zone angegeben sind, müssen sie unterschiedliche Zonen sein.

  6. Klicken Sie auf Speichern.

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

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. Mit den Parametern --zone und --secondary-zone können Sie sowohl die primäre als auch die sekundäre Zone angeben. Die folgenden Einschränkungen gelten, wenn die sekundäre Zone bei der Erstellung oder Bearbeitung von Instanzen verwendet wird:
    • Die Zonen müssen gültige Zonen sein.
    • Wenn die sekundäre Zone angegeben ist, muss auch die primäre Zone angegeben werden.
    • Wenn die primäre als auch die sekundäre Zone angegeben sind, müssen sie unterschiedliche Zonen sein.
    • Wenn die primäre und sekundäre Zone angegeben ist, müssen sie derselben Region angehören.
  3. Konfigurieren Sie den Root-Nutzer:
    gcloud sql users set-password root --host=% \
    --instance=PRIMARY_INSTANCE_NAME \
    --password=PASSWORD
    

REST Version 1

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://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=root&host=%25'

    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.

REST v1beta4

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://sqladmin.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://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=root&host=%25'

    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:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die entsprechende Übersicht zu öffnen.
  3. Klicken Sie auf Bearbeiten.
  4. Wählen Sie im Abschnitt Region und zonale Verfügbarkeit auswählen die Option Mehrere Zonen (Hochverfügbarkeit) aus.
  5. Maximieren Sie Zonen angeben.
  6. Wählen Sie die Region sowie die primäre und sekundäre Zone aus. Die folgenden Bedingungen gelten, wenn die sekundäre Zone während der Erstellung oder Bearbeitung einer Instanz verwendet wird:
    • Die Zonen verwenden standardmäßig Any für die primäre Zone und Any (different from primary) für die sekundäre Zone.
    • Wenn sowohl die primäre als auch die sekundäre Zone angegeben sind, müssen sie unterschiedliche Zonen sein.

  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 Version 1

  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://sqladmin.googleapis.com/v1/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_8_0",
      "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"
        },
        "SqlScheduledMaintenance":{
          "startTime": "2021-10-02T15:01:23Z",
          "canDefer": true,
          "canReschedule": true,
          "scheduleDeadlineTime": "2021-10-02T15:01:23Z"
        },
        "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://sqladmin.googleapis.com/v1/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. Setzen Sie binaryLogEnabled auf true, 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 (primäre oder Replikatinstanz)
    • start-time: die Uhrzeit im Format „HH:MM“
    • enabled: bei einer primären Instanz auf „true“ und bei einer Replikatinstanz auf „false“ setzen

    HTTP-Methode und URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

    JSON-Text anfordern:

    {
      "settings":
      {
        "backupConfiguration":
        {
          "startTime": "start-time",
          "enabled": enabled,
          "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://sqladmin.googleapis.com/v1/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 erhalten.

REST v1beta4

  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://sqladmin.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_8_0",
      "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"
        },
        "SqlScheduledMaintenance":{
          "startTime": "2021-10-02T15:01:23Z",
          "canDefer": true,
          "canReschedule": true,
          "scheduleDeadlineTime": "2021-10-02T15:01:23Z"
        },
        "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://sqladmin.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. Setzen Sie binaryLogEnabled auf true, 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 (primäre oder Replikatinstanz)
    • start-time: die Uhrzeit im Format „HH:MM“
    • enabled: bei einer primären Instanz auf „true“ und bei einer Replikatinstanz auf „false“ setzen

    HTTP-Methode und URL:

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

    JSON-Text anfordern:

    {
      "settings":
      {
        "backupConfiguration":
        {
          "startTime": "start-time",
          "enabled": enabled,
          "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://sqladmin.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.

gcloud

Failover initialisieren:

gcloud sql instances failover PRIMARY_INSTANCE_NAME

REST Version 1

  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://sqladmin.googleapis.com/v1/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_8_0",
      "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"
        },
        "SqlScheduledMaintenance":{
          "startTime": "2021-10-02T15:01:23Z",
          "canDefer": true,
          "canReschedule": true,
          "scheduleDeadlineTime": "2021-10-02T15:01:23Z"
        },
        "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://sqladmin.googleapis.com/v1/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://sqladmin.googleapis.com/v1/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:

REST v1beta4

  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://sqladmin.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_8_0",
      "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"
        },
        "SqlScheduledMaintenance":{
          "startTime": "2021-10-02T15:01:23Z",
          "canDefer": true,
          "canReschedule": true,
          "scheduleDeadlineTime": "2021-10-02T15:01:23Z"
        },
        "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://sqladmin.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://sqladmin.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:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die entsprechende Übersicht zu öffnen.
  3. Im Abschnitt Konfiguration wird Hochverfügbar (regional) angezeigt.

gcloud

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

REST Version 1

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

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

HTTP-Methode und URL:

GET https://sqladmin.googleapis.com/v1/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_8_0",
  "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"
    },
    "SqlScheduledMaintenance":{
      "startTime": "2021-10-02T15:01:23Z",
      "canDefer": true,
      "canReschedule": true,
      "scheduleDeadlineTime": "2021-10-02T15:01:23Z"
    },
    "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://sqladmin.googleapis.com/v1/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.

REST v1beta4

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

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

HTTP-Methode und URL:

GET https://sqladmin.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_8_0",
  "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"
    },
    "SqlScheduledMaintenance":{
      "startTime": "2021-10-02T15:01:23Z",
      "canDefer": true,
      "canReschedule": true,
      "scheduleDeadlineTime": "2021-10-02T15:01:23Z"
    },
    "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://sqladmin.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:

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud SQL-Instanzen.

    Cloud SQL-Instanzen aufrufen

  2. Klicken Sie auf den Instanznamen, um die entsprechende Übersicht zu öffnen.
  3. Klicken Sie auf Bearbeiten.
  4. Öffnen Sie Automatische Sicherungen.
  5. Klicken Sie im Abschnitt 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 Version 1

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://sqladmin.googleapis.com/v1/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.

REST v1beta4

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://sqladmin.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 als Ausgabe erhalten.

Fehlerbehebung

Problem Fehlerbehebung
Sie können die Messwerte für ein manuelles Failover nicht finden. Nur automatische Failovers werden in den Messwerten aufgenommen.
Cloud SQL-Instanzressourcen (CPU und RAM) sind zu fast 100 % ausgelastet, wodurch die Hochverfügbarkeitsinstanz abstürzt. Die Rechnerkapazitäten der Instanz reichen für die Arbeitslast nicht aus.

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.

Nächste Schritte