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.

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=SQLSERVER_2017_STANDARD \
    --cpu=NUMBER_CPUS \
    --memory=MEMORY_SIZE
    
  2. Konfigurieren Sie den Root-Nutzer:
    gcloud sql users set-password root no-host \
    --instance=REGIONAL_INSTANCE_NAME \
    --password=PASSWORD
    
Die vollständige Liste der verfügbaren Parameter finden Sie auf der Referenzseite für gcloud sql instances create.

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": {
             "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?host=%25&name=sqlserver'

    JSON-Text anfordern:

    {
       "name": "sqlserver",
       "host": "nohost",
       "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": {
             "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?host=%25&name=sqlserver'

    JSON-Text anfordern:

    {
       "name": "sqlserver",
       "host": "nohost",
       "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 Bereich der Konfigurationsoptionen unter Automatische Sicherungen und Hochverfügbarkeit die Option Hochverfügbarkeit (regional) aus. Es wird außerdem empfohlen, Automatische Sicherungen zu aktivieren.
  5. 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

Weitere Informationen finden Sie unter gcloud sql instances patch.

REST Version 1

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

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_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://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_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://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_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,
    },
    "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": "SQLSERVER_2017_STANDARD",
  "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,
    },
    "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