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:
Genau zwei Airflow-Planer
Mindestens zwei Trigger (wenn die Anzahl der Trigger nicht auf null festgelegt ist)
Mindestens zwei DAG-Prozessoren
Zwei Webserver
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
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 Resilience mode (Modus für Ausfallsicherheit) auf Edit (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 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 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 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
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 Resilience mode (Modus für Ausfallsicherheit) auf Edit (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 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 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 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 mit hoher Ausfallsicherheit 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 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-UmgebungLOCATION
: die Region, in der sich die Umgebung befindet.
Nächste Schritte
- Führen Sie Failover-Tests für Ihre hochverfügbare Umgebung durch.
- Notfallwiederherstellung mit Umgebungs-Snapshots