Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Auf dieser Seite wird beschrieben, wie Sie hoch resiliente (hochverfügbare) Managed Airflow-Umgebungen einrichten.
Informationen zu hoch resilienten (hochverfügbaren) Umgebungen
Eine hoch resiliente Umgebung ist multizonal und wird in mindestens zwei Zonen einer ausgewählten Region ausgeführt. Managed Airflow verteilt die Komponenten Ihrer Umgebung automatisch auf die Zonen.
Ein Zonenausfall unterbricht beispielsweise Airflow-Aufgaben, die in einer bestimmten Zone ausgeführt werden. Danach wird eine hoch resiliente Umgebung wiederhergestellt, die betroffenen Komponenten in einer anderen Zone neu gestartet und die Datenbank 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 von DAG-Ausführungen und andere Einstellungen beibehalten werden.
Informationen zur hochverfügbaren Datenbank Ihrer Umgebung
In hochverfügbaren Managed Airflow-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 die Zonen verteilt.
Im Falle eines Ausfalls führt die Cloud SQL-Instanz Ihrer Umgebung automatisch ein Datenbank-Failover zur Standby-Cloud SQL-Instanz durch. Sie müssen in Ihrer Managed Airflow-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 vertauscht werden. Die Cloud SQL-Instanz im Hochverfügbarkeitsmodus verwendet nach einem Failover dieselbe IP-Adresse.
Informationen zu hochverfügbaren Airflow-Komponenten
Eine hoch resiliente Umgebung ist multizonal und wird in mindestens zwei Zonen einer ausgewählten Region ausgeführt. Die folgenden Komponenten werden in separaten Zonen ausgeführt:
Genau zwei Airflow-Planer
Mindestens zwei Triggerer (wenn die Anzahl der Triggerer nicht auf null gesetzt ist)
Zwei Webserver
Die Mindestanzahl der Worker ist auf zwei festgelegt und der Cluster Ihrer Umgebung verteilt Worker-Instanzen auf die Zonen. Bei einem Zonenausfall werden die betroffenen Worker-Instanzen in einer anderen Zone neu geplant.
Weitere Informationen zur Architektur hochgradig resilienter Umgebungen finden Sie unter Architektur hochgradig resilienter Umgebungen.
Hinweis
-
In Managed Airflow (Gen 2) ist die hohe Resilienz nur in Umgebungen mit privater IP-Adresse verfügbar.
Für hoch resiliente Umgebungen fallen im Vergleich zu regulären Umgebungen zusätzliche Kosten an.
Hoch resiliente Umgebungen sind in Managed Airflow Version 2.2.0 und höher verfügbar.
Wenn Sie eine Standardumgebung in eine hoch 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 der Airflow-Worker beträgt zwei oder mehr.
Die Anzahl der Airflow-Planer beträgt genau zwei.
Wenn Sie in Ihren DAGs zurückstellbare Operatoren verwenden, sind mindestens zwei Triggerer erforderlich.
Hoch resiliente Umgebung erstellen
Wenn Sie eine hoch resiliente Umgebung erstellen möchten, aktivieren Sie beim Erstellen einer Umgebung den Modus für hohe Resilienz.
Standardumgebung in den Modus für hohe Resilienz umwandeln
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 Bereich Resilienzmodus auf Bearbeiten.
Wählen Sie Hohe Resilienz 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
environments.patch-API-Anfrage.In dieser Anfrage:
Geben Sie im Parameter
updateMaskdie Maskeconfig.resilienceModean.Geben Sie im Anfragetext
HIGH_RESILIENCEan, um zum Modus für hohe Resilienz 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 für hohe Resilienz 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"
}
Hoch resiliente Umgebung in den Standardmodus für Resilienz umwandeln
Sie können Ihre Umgebung jederzeit in den Standardmodus für Resilienz umwandeln. Bei dieser Aktion:
- Wird die Anzahl der Webserver in Ihrer Umgebung auf einen reduziert.
- Wird der Hochverfügbarkeitsmodus der Airflow-Datenbank Ihrer Umgebung deaktiviert.
Werden die Einstellungen für die Mindestanzahl der Airflow-Worker, -Planer oder -Triggerer 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 Bereich Resilienzmodus auf Bearbeiten.
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-UmgebungLOCATION: die Region, in der sich die Umgebung befindet
API
Erstellen Sie eine
environments.patch-API-Anfrage.In dieser Anfrage:
Geben Sie im Parameter
updateMaskdie Maskeconfig.resilienceModean.Geben Sie im Anfragetext
RESILIENCE_MODE_UNSPECIFIEDan, um zum Standardmodus für 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 Resilienz 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 Modus für hohe Resilienz 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.
Sehen Sie sich im Bereich Resilienzmodus den Resilienzmodus Ihrer Umgebung an.
gcloud
Führen Sie den folgenden Google Cloud CLI-Befehl aus, um zu prüfen, ob der Modus für hohe Resilienz in Ihrer Umgebung aktiviert ist. Der Wert True bedeutet, dass der Modus für hohe Resilienz 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 durch für Ihre hoch resiliente Umgebung.
- Notfallwiederherstellung mit Umgebungs-Snapshots