Cloud Composer 1 Cloud Composer 2
Auf dieser Seite wird beschrieben, wie Sie extrem stabile Cloud Composer-Umgebungen einrichten.
Ausfallsicherheit für zonale Ausfälle in Cloud Composer
Äußerst robuste Cloud Composer-Umgebungen sind Cloud Composer 2-Umgebungen, die integrierte Redundanz- und Failover-Mechanismen verwenden. Diese verringern die Anfälligkeit der Umgebung für zonale Ausfälle und Single-Point-of-Failure-Ausfälle.
Ein Zonenausfall unterbricht beispielsweise Airflow-Aufgaben, die in einer bestimmten Zone ausgeführt werden. Anschließend wird eine äußerst stabile Umgebung wiederhergestellt, die betroffenen Komponenten werden in einer anderen Zone neu gestartet und ihre Datenbank wird in eine sekundäre Zone umgestellt. Daher können die fehlgeschlagenen Airflow-Aufgaben von Airflow neu geplant und neu gestartet werden, wobei der Verlauf der DAG-Ausführungen und andere Einstellungen beibehalten werden.
Eine äußerst stabile Umgebung wird in mindestens zwei Zonen einer ausgewählten Region ausgeführt. Cloud Composer verteilt die Komponenten der Umgebung automatisch auf die Zonen.
Sie können für kritische Geschäftsprozesse äußerst robuste Cloud Composer-Umgebungen verwenden.
Hochverfügbare Datenbank Ihrer Umgebung
In hochverfügbaren Cloud Composer-Umgebungen wird die Cloud SQL-Instanz, in der die Datenbank Ihrer Umgebung gespeichert ist, im Hochverfügbarkeitsmodus 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-Instanz von Cloud SQL durch. Sie müssen in Ihrer Cloud Composer-Umgebung keine weiteren Aktionen ausführen. Sobald die primäre Zone wieder betriebsbereit ist, wechselt die Umgebung wieder zu zwei Zonen (primäre und sekundäre). Primäre und sekundäre Zonen können in einigen Fällen 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 Zonen verteilt sind.
In Ihrer Umgebung werden immer genau zwei Airflow-Planer, zwei Webserver und mindestens zwei (aber maximal zehn) Trigger ausgeführt, wenn Trigger aktiviert sind. Diese Komponentenpaare werden in separaten Zonen ausgeführt. Die Mindestanzahl von Workern ist auf zwei festgelegt und der Cluster Ihrer Umgebung verteilt die Worker-Instanzen auf die Zonen. Bei einem Zonenausfall werden betroffene Worker-Instanzen in eine andere Zone verschoben.
Weitere Informationen zur Architektur von Umgebungen mit extrem hoher Ausfallsicherheit finden Sie unter Äußerst stabile Umgebungsarchitektur.
Hinweise
Äußerst stabile Umgebungen sind in Cloud Composer Version 2.2.0 und höher verfügbar.
Äußerst robuste Umgebungen sind mit Cloud Composer 2 nur in privaten IP-Umgebungen verfügbar.
Äußerst robuste Cloud Composer-Umgebungen werden im Vergleich zu regulären Umgebungen zu einem zusätzlichen Preis angeboten.
Wenn Sie eine Standardumgebung auf eine äußerst robuste Umgebung aktualisieren möchten, achten Sie darauf, dass die Umgebung der folgenden Konfiguration entspricht:
- Mindestanzahl von Airflow-Workern auf 2 oder mehr festgelegt
- genau 2 Airflow-Planer
- Wenn Sie zurückstellbare Operatoren in Ihren DAGs verwenden müssen, mindestens 2 (aber nicht mehr als 10) Trigger
Wenn Ihre Umgebung diese Anforderungen nicht erfüllt, können Sie zuerst die Einstellungen aktualisieren. Siehe Umgebungen skalieren.
Äußerst stabile Cloud Composer-Umgebung erstellen
Aktivieren Sie den Modus mit hoher Ausfallsicherheit beim Erstellen einer Umgebung, um eine äußerst robuste Umgebung zu erstellen.
Standardumgebung auf 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 Bereich Resilienzmodus 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 Cloud Composer-UmgebungLOCATION
: Die Region, in der sich die Umgebung befindet.
API
Erstellen Sie eine environments.patch
-API-Anfrage:
Verwenden Sie den Abfragestring
updateMask=config.resilienceMode
in der URL, um das Feld zu markieren, das durch die Anfrage aktualisiert wird.Verwenden Sie eine JSON-Datei im Anfragetext, um das Feld
resilienceMode
in der RessourceEnvironment
aufHIGH_RESILIENCE
zu setzen.
Beispiel:
// PATCH https://composer.googleapis.com/v1/{name=projects/*/locations/*/environments/*}?updateMask=config.resilienceMode
{
"config": {
"resilience_mode": { "HIGH_RESILIENCE" }
}
}
Terraform
Wenn Sie das Feld resilience_mode
im Konfigurationsblock festlegen, wird der Modus für hohe Ausfallsicherheit aktiviert.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
resilience_mode = "HIGH_RESILIENCE"
}
}
Beispiel:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
resilience_mode = "HIGH_RESILIENCE"
}
Von einer äußerst robusten Umgebung in den Standardmodus für Ausfallsicherheit wechseln
Sie können Ihre Umgebung jederzeit in den Standardmodus für Ausfallsicherheit wechseln. Durch diesen Vorgang:
- Reduziert die Anzahl der Webserver in Ihrer Umgebung auf 1.
- Schaltet den Hochverfügbarkeitsmodus der Airflow-Datenbank Ihrer Umgebung aus.
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 Bereich Resilienzmodus 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 environments.patch
-API-Anfrage:
Verwenden Sie den Abfragestring
updateMask=config.resilienceMode
in der URL, um das Feld zu markieren, das durch die Anfrage aktualisiert wird.Verwenden Sie eine JSON-Datei im Anfragetext, um das Feld
resilienceMode
in der RessourceEnvironment
aufRESILIENCE_MODE_UNSPECIFIED
zu setzen.
Beispiel:
// PATCH https://composer.googleapis.com/v1/{name=projects/*/locations/*/environments/*}?updateMask=config.resilienceMode
{
"config": {
"resilience_mode": { "RESILIENCE_MODE_UNSPECIFIED" }
}
}
Terraform
Das Feld resilience_mode
im Block config
gibt den Ausfallsicherheitsmodus an. Wenn Sie den Standardmodus für 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"
}
}
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 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 Resilienzmodus den Ausfallsicherheitsmodus Ihrer Umgebung an.
gcloud
Führen Sie den folgenden Google Cloud CLI-Befehl aus, um zu prüfen, ob der Modus für hohe Ausfallsicherheit in Ihrer Umgebung aktiviert ist. Der Wert True
bedeutet, dass der Modus für hohe 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 äußerst robuste Umgebung durch.
- Notfallwiederherstellung mit Umgebungs-Snapshots