Hochverfügbarkeit 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 das Datenbankmodul aus.
  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 primäre und die 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

  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

Terraform

Verwenden Sie eine Terraform-Ressource, um eine Instanz mit Hochverfügbarkeit zu erstellen.

resource "google_sql_database_instance" "postgres_instance_ha" {
  name             = "postgres-instance-ha"
  region           = "us-central1"
  database_version = "POSTGRES_14"
  settings {
    tier              = "db-custom-2-7680"
    availability_type = "REGIONAL"
    backup_configuration {
      enabled                        = true
      point_in_time_recovery_enabled = true
      start_time                     = "20:55"
    }
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

Änderungen anwenden

Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre Terraform-Konfiguration auf ein Google Cloud-Projekt anzuwenden.

Cloud Shell vorbereiten

  1. Rufen Sie Cloud Shell auf.
  2. Legen Sie das Google Cloud-Standardprojekt fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.

    Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.

Verzeichnis vorbereiten

Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben (auch als Stammmodul bezeichnet).

  1. Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss die Erweiterung .tf haben, z. B. main.tf. In dieser Anleitung wird die Datei als main.tf bezeichnet.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Wenn Sie einer Anleitung folgen, können Sie den Beispielcode in jedem Abschnitt oder Schritt kopieren.

    Kopieren Sie den Beispielcode in das neu erstellte main.tf.

    Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.

  3. Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
  4. Speichern Sie die Änderungen.
  5. Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
    terraform init

    Fügen Sie optional die Option -upgrade ein, um die neueste Google-Anbieterversion zu verwenden:

    terraform init -upgrade

Änderungen anwenden

  1. Prüfen Sie die Konfiguration und prüfen Sie, ob die Ressourcen, die Terraform erstellen oder aktualisieren wird, Ihren Erwartungen entsprechen:
    terraform plan

    Korrigieren Sie die Konfiguration nach Bedarf.

  2. Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply

    Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.

  3. Öffnen Sie Ihr Google Cloud-Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.

Änderungen löschen

So löschen Sie das Projekt:

  1. Um den Löschschutz zu deaktivieren, setzen Sie in der Terraform-Konfigurationsdatei das Argument deletion_protection auf false.
    deletion_protection =  "false"
  2. Wenden Sie die aktualisierte Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply
  1. Entfernen Sie Ressourcen, die zuvor mit Ihrer Terraform-Konfiguration angewendet wurden, indem Sie den folgenden Befehl ausführen und yes an der Eingabeaufforderung eingeben:

    terraform destroy

REST Version 1

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

Erstellen Sie die regionale Instanz:

  1. Ersetzen Sie dabei folgende Werte für die 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,
             "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 dabei folgende Werte für die 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=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.

REST v1beta4

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

Erstellen Sie die regionale Instanz:

  1. Ersetzen Sie dabei folgende Werte für die 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,
             "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 dabei folgende Werte für die 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=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.

Bestehende Instanz für Hochverfügbarkeit konfigurieren

Sie können eine Cloud SQL-Instanz für Hochverfügbarkeit mit der Google Cloud Console, der gcloud CLI oder der API konfigurieren.

Console

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

  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 Übersichtsseite einer Instanz 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.

gcloud

Verwenden Sie den Befehl gcloud sql instances patch, um eine Instanz als regionale Hochverfügbarkeitsinstanz zu konfigurieren:

gcloud sql instances patch INSTANCE_NAME \
--availability-type REGIONAL

Ersetzen Sie INSTANCE_NAME durch den Namen der Cloud SQL-Instanz, die Sie für Hochverfügbarkeit konfigurieren.

REST Version 1

So konfigurieren Sie eine Instanz als regionale Hochverfügbarkeitsinstanz:

  1. Prüfen Sie für die Instanz, ob automatische Sicherungen und die Wiederherstellung zu einem bestimmten Zeitpunkt aktiviert sind. Diese Einstellungen sind für Instanzen mit Hochverfügbarkeit erforderlich.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
    • INSTANCE_NAME: der Name der Instanz, die Sie für Hochverfügbarkeit konfigurieren

    HTTP-Methode und URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    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": "POSTGRES_13"
    }
    

    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. Setzen Sie pointInTimeRecoveryEnabled auf true, um das binäre Logging zu aktivieren.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
    • INSTANCE_NAME: der Name der primären Instanz oder der Lesereplikatinstanz, die Sie für Hochverfügbarkeit konfigurieren
    • START_TIME: die Uhrzeit (in Stunden und Minuten)

    HTTP-Methode und URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    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. Konfigurieren Sie die Instanz als regionale Hochverfügbarkeitsinstanz:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
    • INSTANCE_NAME: der Name der Instanz, die Sie für Hochverfügbarkeit konfigurieren

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

REST v1beta4

So konfigurieren Sie eine Instanz als regionale Hochverfügbarkeitsinstanz:

  1. Prüfen Sie für die Instanz, ob automatische Sicherungen und die Wiederherstellung zu einem bestimmten Zeitpunkt aktiviert sind. Diese Einstellungen sind für Instanzen mit Hochverfügbarkeit erforderlich.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
    • INSTANCE_NAME: der Name der Instanz, die Sie für Hochverfügbarkeit konfigurieren

    HTTP-Methode und URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    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": "POSTGRES_13",
    }
    

    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. Setzen Sie pointInTimeRecoveryEnabled auf true, um das binäre Logging zu aktivieren.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
    • INSTANCE_NAME: der Name der primären Instanz oder der Lesereplikatinstanz, die Sie für Hochverfügbarkeit konfigurieren
    • START_TIME: die Uhrzeit (in Stunden und Minuten)

    HTTP-Methode und URL:

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    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. Konfigurieren Sie die Instanz als regionale Hochverfügbarkeitsinstanz:

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
    • INSTANCE_NAME: der Name der Instanz, die Sie für Hochverfügbarkeit konfigurieren

    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 auslösen

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

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

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 Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie auf Failover.
  4. Geben Sie im Dialogfeld Failover manuell auslösen die ID Ihrer Instanz in das Textfeld ein und klicken Sie auf Failover auslösen.

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 ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
    • INSTANCE_NAME: der Name der Instanz, die Sie für Hochverfügbarkeit konfigurieren

    HTTP-Methode und URL:

    GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

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

    Ersetzen Sie dabei folgende Werte für die 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 ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
    • INSTANCE_NAME: der Name der Instanz, die Sie für Hochverfügbarkeit konfigurieren

    HTTP-Methode und URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

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

    Ersetzen Sie dabei folgende Werte für die 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.

Hochverfügbarkeitskonfiguration einer Instanz prüfen

So prüfen Sie eine Instanz auf Hochverfügbarkeit und rufen die Zonen auf, in denen sie ausgeführt wird:

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 Übersichtsseite einer Instanz zu öffnen.
  3. Prüfen Sie, ob die folgenden Hochverfügbarkeitseinstellungen im Abschnitt Konfiguration angezeigt werden:
    • Hoch verfügbar (regional)
    • Adresse zeigt die aktuelle primäre Zone der Instanz an.

gcloud

gcloud sql instances describe INSTANCE_NAME

Die Ausgabe gibt an, dass availabilityType REGIONAL ist. Die Felder gceZone und secondaryGceZone zeigen die aktuelle primäre und sekundäre Zone der Instanz an.

REST Version 1

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
  • INSTANCE_NAME: der Name der Instanz, die Sie für Hochverfügbarkeit konfigurieren

HTTP-Methode und URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

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": "POSTGRES_13"
}

Die Ausgabe gibt an, dass availabilityType REGIONAL ist. Die Felder gceZone und secondaryGceZone zeigen die aktuelle primäre und sekundäre Zone der Instanz an.

REST v1beta4

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
  • INSTANCE_NAME: der Name der Instanz, die Sie für Hochverfügbarkeit konfigurieren

HTTP-Methode und URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

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": "POSTGRES_13",
}

Die Ausgabe gibt an, dass availabilityType REGIONAL ist. Die Felder gceZone und secondaryGceZone zeigen die aktuelle primäre und sekundäre Zone der Instanz an.

Zonen einer Hochverfügbarkeitsinstanz ändern

Das Ändern einer oder beider Zonen einer vorhandenen Hochverfügbarkeitsinstanz führt zu einer Ausfallzeit von einigen Minuten, während die Instanz neu konfiguriert wird. Informationen zur aktuellen primären und sekundären Zone, in der die Hochverfügbarkeitsinstanz ausgeführt wird, finden Sie unter Hochverfügbarkeitskonfiguration einer Instanz prüfen.

So ändern Sie die Zonen einer Hochverfügbarkeitsinstanz:

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 Übersichtsseite einer Instanz zu öffnen.
  3. Klicken Sie auf Bearbeiten.
  4. Maximieren Sie im Abschnitt Region und zonale Verfügbarkeit auswählen die Option Zonen angeben und wählen Sie neue Zonen aus. Die Zonen verwenden standardmäßig Any für die primäre Zone und Any (different from primary) für die sekundäre Zone. Folgende Einschränkungen gelten:
    • Sie können entweder nur die primäre Zone oder sowohl die primäre als auch die sekundäre Zone angeben.
    • Wenn sowohl die primäre als auch die sekundäre Zone angegeben sind, müssen sie unterschiedliche Zonen sein.
  5. Klicken Sie auf Speichern.

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

gcloud

Ändern Sie die Zone, in der die Instanz ausgeführt wird:

gcloud sql instances patch INSTANCE_NAME \
  --zone=PRIMARY_ZONE --secondary-zone=SECONDARY_ZONE

Der Parameter --secondary-zone ist optional. Wenn Sie ihn weglassen, wählt Cloud SQL eine verfügbare Zone aus, die sich von der primären Zone unterscheidet.

Folgende Einschränkungen gelten:

  • Die Zonen müssen gültige Zonen sein, die zur selben Region wie die Cloud SQL-Instanz gehören.
  • Wenn die sekundäre Zone angegeben ist, muss sie sich von der primären Zone unterscheiden.

REST Version 1

  1. Ändern Sie die Zonen der regionalen Instanz:

    Ersetzen Sie dabei folgende Werte für die Anfragedaten:

    • PROJECT_ID: die Projekt-ID
    • INSTANCE_NAME: den Namen der Instanz
    • PRIMARY_ZONE: die primäre Zone
    • SECONDARY_ZONE: die sekundäre Zone

    HTTP-Methode und URL:

    PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

    JSON-Text anfordern:

    {
    "settings": {"locationPreference": {"zone": "PRIMARY_ZONE", "secondaryZone": "SECONDARY_ZONE"}}
    }
    

    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.

    Der Parameter secondaryZone ist optional. Wenn Sie ihn weglassen, wählt Cloud SQL eine verfügbare Zone aus, die sich von der primären Zone unterscheidet.

    Folgende Einschränkungen gelten:

    • Die Zonen müssen gültige Zonen sein.
    • Alle ausgewählten Zonen müssen zur selben Region wie die Cloud SQL-Instanz gehören.

REST v1beta4

  1. Ändern Sie die Zonen der regionalen Instanz:

    Ersetzen Sie dabei folgende Werte für die Anfragedaten:

    • PROJECT_ID: die Projekt-ID
    • INSTANCE_NAME: den Namen der Instanz
    • PRIMARY_ZONE: die primäre Zone
    • SECONDARY_ZONE: die sekundäre Zone

    HTTP-Methode und URL:

    PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

    JSON-Text anfordern:

    {
    "settings": {"locationPreference": {"zone": "PRIMARY_ZONE", "secondaryZone": "SECONDARY_ZONE"}}
    }
    

    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.

    Der Parameter secondaryZone ist optional. Wenn Sie ihn weglassen, wählt Cloud SQL eine verfügbare Zone aus, die sich von der primären Zone unterscheidet.

    Folgende Einschränkungen gelten:

    • Die Zonen müssen gültige Zonen sein.
    • Alle ausgewählten Zonen müssen zur selben Region wie die Cloud SQL-Instanz gehören.

Hochverfügbarkeit für eine Instanz deaktivieren

Sie können die Hochverfügbarkeit für eine Cloud SQL-Instanz mithilfe der Cloud Console, der gcloud CLI oder der API deaktivieren.

Console

So deaktivieren Sie Hochverfügbarkeit für eine Instanz:

  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 Übersichtsseite einer Instanz 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. Für diese Änderung müssen Sie die Instanz neu starten.
  7. Klicken Sie im angezeigten Dialogfeld auf Speichern und neu starten.

gcloud

Verwenden Sie den Befehl gcloud sql instances patch, um Hochverfügbarkeit für eine Instanz zu deaktivieren:

gcloud sql instances patch INSTANCE_NAME \
--availability-type ZONAL

Ersetzen Sie INSTANCE_NAME durch den Namen der Cloud SQL-Instanz, für die Sie Hochverfügbarkeit deaktivieren.

REST Version 1

Mit der Methode instances:patch können Sie den Verfügbarkeitstyp der Instanz in ZONAL ändern. Diese Methode deaktiviert Hochverfügbarkeit für die Instanz.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
  • INSTANCE_NAME: Der Name der Instanz, für die Sie Hochverfügbarkeit deaktivieren

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

REST v1beta4

Mit der Methode instances:patch können Sie den Verfügbarkeitstyp der Instanz in ZONAL ändern. Diese Methode deaktiviert Hochverfügbarkeit für die Instanz.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: die ID oder Projektnummer des Google Cloud-Projekts, das die Instanz enthält
  • INSTANCE_NAME: Der Name der Instanz, für die Sie Hochverfügbarkeit deaktivieren

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