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. Ö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] \
                         --cpu=[NUMBER_CPUS] --memory=[MEMORY_SIZE]
    
    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 no-host \
               --instance=[REGIONAL_INSTANCE_NAME]
               --password=[PASSWORD]
    

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 Anweisungen:

    • 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": {
             "enabled": true,
             "pointInTimeRecoveryEnabled": 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 Anweisungen:

    • 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=postgres'

    JSON-Text anfordern:

    {
       "name": "postgres",
       "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 als Ausgabe 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

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

So konfigurieren Sie eine bestehende Instanz für Hochverfügbarkeit:

  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 Seite Übersicht zu öffnen, und klicken Sie in der Schaltflächenleiste auf Bearbeiten.
  3. 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.
  4. 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 v1beta4

  1. Prüfen Sie für die primäre Instanz, ob automatische Sicherungen und pointInTimeRecovery aktiviert sind. Diese Einstellungen sind für Instanzen mit Hochverfügbarkeit erforderlich.

    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,
          "pointInTimeRecoveryEnabled": 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,
        "pointInTimeRecoveryEnabled": true
        }
      
  2. Wenn entweder enabled oder pointInTimeRecoveryEnabled 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 pointInTimeRecoveryEnabled den Wert true fest, um das binäre Logging zu aktivieren.

    Ersetzen Sie diese Werte in den folgenden Anweisungen:

    • 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,
          "pointInTimeRecoveryEnabled": 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 Anweisungen:

    • 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

Failover initialisieren:

gcloud sql instances failover [PRIMARY_INSTANCE_NAME]

REST v1beta4

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

    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"
    }
    
  2. Initialisieren Sie das Failover:

    Ersetzen Sie diese Werte in den folgenden Anweisungen:

    • 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 v1beta4

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,
      "pointInTimeRecoveryEnabled": 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 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 Anweisungen:

  • 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 als Ausgabe erhalten.

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 auszuführen, sodass mehr CPUs und mehr Arbeitsspeicher verfügbar sind.

Weitere Informationen