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.
- Die Mindestanzahl an Airflow-Workern ist 2.
- Die Anzahl der Airflow-Planer ist genau 2.
- Wenn Sie zurückstellbare Operatoren in Ihren DAGs verwenden, müssen Sie mindestens zwei Trigger verwenden.
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
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Wählen Sie den Tab Umgebungskonfiguration aus.
Klicken Sie im Abschnitt Ausfallsicherheitsmodus auf Bearbeiten.
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 UmgebungLOCATION
: die Region, in der sich die Umgebung befindet.
API
Erstellen Sie eine API-Anfrage
environments.patch
.In dieser Anfrage:
Geben Sie im
updateMask
-Parameter dieconfig.resilienceMode
-Maske an.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 UmgebungLOCATION
: 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
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Wählen Sie den Tab Umgebungskonfiguration aus.
Klicken Sie im Abschnitt Ausfallsicherheitsmodus auf Bearbeiten.
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-UmgebungLOCATION
: die Region, in der sich die Umgebung befindet.
API
Erstellen Sie eine API-Anfrage
environments.patch
.In dieser Anfrage:
Geben Sie im
updateMask
-Parameter dieconfig.resilienceMode
-Maske an.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 UmgebungLOCATION
: 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
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Wählen Sie den Tab Umgebungskonfiguration aus.
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-UmgebungLOCATION
: die Region, in der sich die Umgebung befindet.
Nächste Schritte
- Führen Sie Failover-Tests für Ihre hochgradig resiliente Umgebung durch.
- Notfallwiederherstellung mit Umgebungs-Snapshots