Hochverfügbare Umgebungen einrichten

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Auf dieser Seite wird beschrieben, wie Sie hochverfügbare Cloud Composer-Umgebungen einrichten.

Resilienz bei zonalen Fehlern in Cloud Composer

Hoch resiliente (hochverfügbare) Cloud Composer-Umgebungen verwenden integrierte Redundanz- und Failover-Mechanismen, die die Anfälligkeit der Umgebung für zonale Ausfälle und Ausfälle durch Single Points of Failure verringern.

Beispielsweise werden bei einem zonenbezogenen Ausfall Airflow-Aufgaben unterbrochen, die in einer bestimmten Zone ausgeführt werden. Anschließend wird eine hochgradig resiliente Umgebung wiederhergestellt, die betroffenen Komponenten in einer anderen Zone neu gestartet und die Datenbank in eine sekundäre Zone verschoben. Die fehlgeschlagenen Airflow-Aufgaben können also von Airflow neu geplant und neu gestartet werden, während gleichzeitig der Verlauf von DAG-Ausführungen und andere Einstellungen beibehalten werden.

Eine hochverfügbare Umgebung ist multizonal und wird in mindestens zwei Zonen einer ausgewählten Region ausgeführt. Cloud Composer verteilt die Komponenten Ihrer Umgebung automatisch auf Zonen.

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

Hochverfügbare Datenbank Ihrer Umgebung

In hochverfügbaren Cloud Composer-Umgebungen wird die Cloud SQL-Komponente, in der die Datenbank Ihrer Umgebung gespeichert ist, im Hochverfügbarkeitsmodus ausgeführt. Eine primäre Instanz und eine Standby-Instanz von Cloud SQL werden auf Zonen verteilt.

Im Falle eines Ausfalls führt die Cloud SQL-Instanz Ihrer Umgebung das automatische Datenbank-Failover auf die Standby-Cloud SQL-Instanz aus. Sie müssen in Ihrer Cloud Composer-Umgebung keine zusätzlichen Maßnahmen ergreifen. Sobald die primäre Zone wieder betriebsbereit ist, wird die Umgebung wieder auf zwei Zonen (primär und sekundär) umgestellt. In einigen Fällen können primäre und sekundäre Zonen getauscht werden. Die Cloud SQL-Instanz im Hochverfügbarkeitsmodus verwendet nach einem Failover dieselbe IP-Adresse.

Hochverfügbare Airflow-Komponenten

Eine hochverfügbare Umgebung ist multizonal und wird in mindestens zwei Zonen einer ausgewählten Region ausgeführt. Die folgenden Komponenten werden in separaten Zonen ausgeführt:

Die Mindestanzahl an Workern ist auf zwei festgelegt und der Cluster Ihrer Umgebung verteilt Worker-Instanzen auf Zonen. Bei einem Zonenausfall werden betroffene Worker-Instanzen in einer anderen Zone neu geplant.

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

Hinweise

  • In Cloud Composer 3 ist hohe Resilienz sowohl für Umgebungen mit privater als auch mit öffentlicher IP-Adresse verfügbar.

  • In hochresistenten Umgebungen werden zusätzliche Umgebungskomponenten ausgeführt. Im Vergleich zu regulären Umgebungen steigen dadurch die Kosten.

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

    • Die Mindestanzahl an Airflow-Workern beträgt zwei oder mehr.
    • Die Anzahl der Airflow-Planer beträgt genau zwei.

    • Mindestens zwei DAG-Prozessoren.

    • Wenn Sie zurückstellbare Operatoren in Ihren DAGs verwenden, sind mindestens zwei Trigger erforderlich.

Hochverfügbare Umgebung erstellen

Wenn Sie eine hochverfügbare Umgebung erstellen möchten, aktivieren Sie den Modus für hohe Verfügbarkeit, wenn Sie eine Umgebung erstellen.

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 Resilience mode (Modus für Ausfallsicherheit) auf Edit (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 Resilienzmodus 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 Umgebung mit hoher Ausfallsicherheit in den Standardmodus für Ausfallsicherheit ändern

Sie können Ihre Umgebung jederzeit in den Standardmodus für Resilienz ändern. Dieser Vorgang:

  • Die Anzahl der Webserver in Ihrer Umgebung wird auf einen reduziert.
  • Deaktiviert den Hochverfügbarkeitsmodus der Airflow-Datenbank Ihrer Umgebung.
  • Die Einstellungen für die Mindestanzahl 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 Resilience mode (Modus für Ausfallsicherheit) auf Edit (Bearbeiten).

  5. Wählen Sie Standardresilienz (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 in den Standardmodus für die 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": { "RESILIENCE_MODE_UNSPECIFIED" }
   }
 }

Terraform

Das Feld resilience_mode im Block config gibt den Resilienzmodus an. Wenn Sie den Standardmodus für die Ausfallsicherheit 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 Modus mit hoher Ausfallsicherheit 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. Sehen Sie sich im Abschnitt Ausfallsicherheitsmodus den Ausfallsicherheitsmodus Ihrer Umgebung an.

gcloud

Führen Sie den folgenden Google Cloud CLI-Befehl aus, um zu prüfen, ob der Modus mit hoher Resilienz 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