Hochverfügbare Umgebungen einrichten

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Auf dieser Seite wird beschrieben, wie Sie hochgradig resiliente Cloud Composer-Umgebungen einrichten.

Ausfallsicherheit bei zonalen Fehlern in Cloud Composer

In hochverfügbaren Cloud Composer-Umgebungen werden integrierte Redundanz- und Failover-Mechanismen verwendet, die die Anfälligkeit der Umgebung für Zonenausfälle und Ausfälle aufgrund von Single Points of Failure verringern.

Beispielsweise werden Airflow-Aufgaben, die in einer bestimmten Zone ausgeführt werden, durch eine Zonenausfall unterbrochen. Anschließend wird eine hochverfügbare Umgebung wiederhergestellt, die betroffenen Komponenten werden in einer anderen Zone neu gestartet und die Datenbank wird in eine sekundäre Zone verschoben. So können die fehlgeschlagenen Airflow-Aufgaben von Airflow neu geplant und neu gestartet werden, während gleichzeitig der Verlauf der DAG-Ausführungen und andere Einstellungen beibehalten werden.

Eine hochgradig resiliente Umgebung erstreckt sich über mindestens zwei Zonen einer ausgewählten Region. Cloud Composer verteilt die Komponenten Ihrer Umgebung automatisch auf Zonen.

Sie können hochgradig resiliente Cloud Composer-Umgebungen für kritische Geschäftsprozesse verwenden.

Hochverfügbare Datenbank Ihrer Umgebung

In hoch verfügbaren Cloud Composer-Umgebungen wird die Cloud SQL-Instanz, in der die Datenbank Ihrer Umgebung gespeichert ist, im Modus für hohe Verfügbarkeit ausgeführt. Eine Cloud SQL-Instanz, die für Hochverfügbarkeit konfiguriert ist, wird auch als regionale Instanz bezeichnet und befindet sich in einer primären und sekundären Zone innerhalb der konfigurierten Region. Innerhalb einer regionalen Instanz besteht die Konfiguration aus einer primären Instanz und einer Standby-Instanz.

Bei einem Ausfall führt die Cloud SQL-Instanz Ihrer Umgebung das automatische Datenbank-Failover auf die Standby-Cloud SQL-Instanz aus. In Ihrer Cloud Composer-Umgebung müssen Sie nichts weiter tun. Sobald die primäre Zone wieder funktioniert, wechselt die Umgebung wieder zu zwei Zonen (primär und sekundär). In einigen Fällen können die primäre und die sekundäre Zone vertauscht werden. Die Cloud SQL-Instanz im Hochverfügbarkeitsmodus verwendet nach einem Failover dieselbe IP-Adresse.

Hochverfügbare Airflow-Komponenten

In hochverfügbaren Cloud Composer-Umgebungen werden Airflow-Komponenten ausgeführt, die auf mehrere Zonen verteilt sind.

In Ihrer Umgebung werden immer genau zwei Airflow-Scheduler, zwei Webserver und mindestens zwei (aber nicht mehr als zehn) Trigger ausgeführt, wenn Trigger aktiviert sind. Diese Komponentenpaare werden in separaten Zonen ausgeführt. Die Mindestanzahl der Worker ist auf zwei festgelegt und der Cluster Ihrer Umgebung verteilt Workerinstanzen auf Zonen. Bei einem Zonenausfall werden die betroffenen Worker-Instanzen in einer anderen Zone neu geplant.

Weitere Informationen zur Architektur hochverfügbarer Umgebungen finden Sie unter Architektur hochverfügbarer Umgebungen.

Hinweis

  • Hochverfügbare Umgebungen sind nur in privaten IP-Umgebungen verfügbar.

  • Hochverfügbare Umgebungen werden im Vergleich zu regulären Umgebungen zu einem Aufpreis angeboten.

  • Hochverfügbare Umgebungen sind ab Cloud Composer Version 2.2.0 verfügbar.

  • Wenn Sie eine Standardumgebung in eine hochgradig resiliente Umgebung umwandeln möchten, muss sie die folgenden Konfigurationsanforderungen erfüllen. Wenn Ihre Umgebung diese Anforderungen nicht erfüllt, können Sie die Skalierungs- und Leistungsparameter aktualisieren.

Eine äußerst resiliente Umgebung schaffen

Wenn Sie eine hochgradig resiliente Umgebung erstellen möchten, aktivieren Sie beim Erstellen einer Umgebung den Modus für hohe Resilienz.

Standardumgebung auf den Modus mit hoher Ausfallsicherheit aktualisieren

Console

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Wählen Sie den Tab Umgebungskonfiguration aus.

  4. Klicken Sie im Abschnitt Ausfallsicherheitsmodus auf Bearbeiten.

  5. Wählen Sie Hohe Ausfallsicherheit aus und klicken Sie auf Speichern.

gcloud

  gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --enable-high-resilience

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.

API

  1. Erstellen Sie eine API-Anfrage environments.patch.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.resilienceMode-Maske an.

    2. Geben Sie im Anfragetext HIGH_RESILIENCE an, um in den Modus mit hoher Ausfallsicherheit zu wechseln.

Beispiel:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.resilienceMode

{
 "config": {
   "resilience_mode": { "HIGH_RESILIENCE" }
   }
 }

Terraform

Das Feld resilience_mode im Block config gibt den Ausfallsicherheitsmodus an. Wenn Sie den Modus mit hoher Ausfallsicherheit verwenden möchten, legen Sie diesen Wert auf HIGH_RESILIENCE fest.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    resilience_mode = "HIGH_RESILIENCE"

  }
}

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.

Beispiel:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    resilience_mode = "HIGH_RESILIENCE"

}

Eine hochgradig resiliente Umgebung in den Standardausfallsicherheitsmodus ändern

Sie können die Umgebung jederzeit in den Standardausfallsicherheitsmodus ändern. Dieser Vorgang:

  • Die Anzahl der Webserver in Ihrer Umgebung wird auf 1 reduziert.
  • Deaktiviert den Hochverfügbarkeitsmodus der Airflow-Datenbank Ihrer Umgebung.
  • Die Einstellungen für die Mindestzahl von Airflow-Workern, -Planern oder -Triggern werden nicht geändert.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Wählen Sie den Tab Umgebungskonfiguration aus.

  4. Klicken Sie im Abschnitt Ausfallsicherheitsmodus auf Bearbeiten.

  5. Wählen Sie Standardausfallsicherheit (Standard) aus und klicken Sie auf Speichern.

gcloud

  gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --disable-high-resilience

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Cloud Composer-Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.

API

  1. Erstellen Sie eine API-Anfrage environments.patch.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.resilienceMode-Maske an.

    2. Geben Sie im Anfragetext RESILIENCE_MODE_UNSPECIFIED an, um zum Standardausfallsicherheitsmodus zu wechseln.

Beispiel:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.resilienceMode

{
 "config": {
   "resilience_mode": { "RESILIENCE_MODE_UNSPECIFIED" }
   }
 }

Terraform

Das Feld resilience_mode im Block config gibt den Ausfallsicherheitsmodus an. Wenn Sie den Standardausfallsicherheitsmodus verwenden möchten, legen Sie diesen Wert auf STANDARD_RESILIENCE fest.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    resilience_mode = "STANDARD_RESILIENCE"

  }
}

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.

Beispiel:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    resilience_mode = "STANDARD_RESILIENCE"

}

Prüfen, ob Ihre Umgebung im Hochausfallsicherheitsmodus ausgeführt wird

Console

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Wählen Sie den Tab Umgebungskonfiguration aus.

  4. Im Abschnitt Ausfallsicherheitsmodus sehen Sie den Ausfallsicherheitsmodus Ihrer Umgebung.

gcloud

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um zu prüfen, ob der Modus mit hoher Ausfallsicherheit in Ihrer Umgebung aktiviert ist. Der Wert True bedeutet, dass der Modus mit hoher Ausfallsicherheit in Ihrer Umgebung aktiviert ist.

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION \
  --format="value(config.resilienceMode)"

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Cloud Composer-Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.

Nächste Schritte