Wartungsfenster angeben

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Auf dieser Seite wird erläutert, wie Sie Wartungsfenster für Ihre Umgebungen definieren.

Wartungsfenster

Ein Wartungsfenster ist ein Zeitraum, in dem Sie Cloud Composer erlauben, Wartungsvorgänge auszuführen. So können Sie beispielsweise dafür sorgen, dass kritische Aufgaben nicht unterbrochen werden, indem Sie Wartungsfenster außerhalb der DAG-Zeitpläne angeben.

Mit Wartungsfenstern können Sie die Zeiträume festlegen, in denen die Wartung für Ihre Umgebung stattfinden kann:

  • Wenn Sie benutzerdefinierte Wartungsfenster für Ihre Umgebung definieren, führt Cloud Composer die Wartung in diesen Zeiträumen durch.

  • Wenn Sie keine benutzerdefinierten Wartungsfenster für Ihre Umgebung definieren oder einen leeren Wert angeben, führt Cloud Composer die Wartung in den Standardwartungsfenstern durch.

Was passiert während Wartungsfenstern?

Wenn Sie Wartungsfenster angeben, stellen Sie mindestens 12 Stunden pro Woche für Wartungsvorgänge zur Verfügung:

  • Ihre Umgebung bleibt während der Wartungsfenster verfügbar. Einige Komponenten Ihrer Umgebung sind während der Wartung möglicherweise vorübergehend nicht verfügbar.

  • Die 12 Stunden sind erforderlich, damit Cloud Composer genügend Zeit hat, alle Wartungsvorgänge zu planen und auszuführen. Das bedeutet nicht, dass Wartungsarbeiten 12 Stunden dauern oder sogar jede Woche stattfinden.

Sie können Ihre DAGs auch während Wartungsfenstern ausführen, sofern Sie damit einverstanden sind, dass einige Aufgaben unterbrochen und noch einmal ausgeführt werden. Wenn Sie DAGs während Wartungsfenstern ausführen, müssen Sie die Wiederholung von Aufgaben aktivieren. Sie können Aufgabenwiederholungen auf Ebene der Airflow-Konfiguration, der DAG oder der Aufgabe konfigurieren.

Wartungsvorgänge haben folgende Auswirkungen auf Ihre Umgebung:

  • Die Airflow-Benutzeroberfläche ist möglicherweise vorübergehend nicht verfügbar.

  • Cloud Composer führt möglicherweise ein automatisches Infrastruktur-Upgrade durch, wenn Upgrades verfügbar sind.

  • Das Ändern einiger Parameter Ihrer Umgebung ist möglicherweise vorübergehend nicht möglich.

  • Einige Airflow-Aufgaben können unterbrochen werden. Nach Abschluss des Wartungsvorgangs plant Airflow Wiederholungen für diese Aufgaben, sofern nicht anders konfiguriert.

Standardwartungsfenster

Die standardmäßigen Wartungsfenster in Cloud Composer 3 sind so definiert:

  • Alle Zeiten sind in der lokalen Zeitzone der Region angegeben, in der sich Ihre Umgebung befindet. Die Sommerzeit wird dabei ignoriert.
  • Dienstag, Mittwoch, Donnerstag und Freitag sind Wartungsfenster von 00:00:00 bis 02:00:00 Uhr.
  • Samstags, sonntags und montags sind Wartungsfenster von 00:00:00 bis 04:00:00 Uhr.

Wartungsfenster einsetzen

Wartungsvorgänge können sich auf die Ausführung Ihrer DAGs und Airflow-Aufgaben auswirken. Daher empfehlen wir Ihnen Folgendes:

  1. Definieren Sie Wartungsfenster für Ihre Cloud Composer-Umgebungen.

  2. Planen Sie DAG-Ausführungen für außerhalb der angegebenen Wartungsfenster, indem Sie die Parameter start_date und schedule_interval in Ihren DAGs verwenden.

Wartungsfenster für neue Umgebungen angeben

Sie können Wartungsfenster angeben, wenn Sie eine Umgebung erstellen. Weitere Informationen finden Sie unter Umgebungen erstellen.

Wartungsfenster für vorhandene Umgebungen angeben

Console

Wenn Sie Wartungsfenster für eine vorhandene Umgebung definieren oder ändern möchten, aktualisieren Sie die Umgebung:

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen“

  2. Wählen Sie Ihre Umgebung aus.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Klicken Sie neben dem Eintrag Wartungsfenster auf Bearbeiten.

  5. Klicken Sie im Kästchen Wartungsfenster das Kästchen Benutzerdefinierte Zeit für Wartungsfenster festlegen an.

  6. Legen Sie Startzeit, Zeitzone, Tage und Länge fest, sodass die kombinierte Zeit für den angegebenen Zeitplan beträgt mindestens 12 Stunden in einem 7-tägigen rollierenden Zeitfenster. Zum Beispiel bietet ein Zeitraum von vier Stunden jeden Montag, Mittwoch und Freitag die erforderliche Zeitmenge.

  7. Klicken Sie auf Speichern und warten Sie, bis die Umgebung aktualisiert wurde.

gcloud

Beim Aktualisieren einer Umgebung definieren die folgenden Argumente Wartungsfensterparameter:

  • --maintenance-window-start legt den Beginn eines Wartungsfensters fest.
  • --maintenance-window-end legt das Ende eines Wartungsfensters fest.
  • --maintenance-window-recurrence legt die Wiederholung des Wartungsfensters fest.
gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • DATETIME_START durch das Startdatum und die Uhrzeit im Eingabeformat Datum/Uhrzeit. Es wird nur die angegebene Uhrzeit verwendet. Das angegebene Datum wird ignoriert.
  • DATETIME_END durch das Enddatum und die Uhrzeit im Eingabeformat Datum/Uhrzeit. Es wird nur die angegebene Uhrzeit verwendet. Das angegebene Datum wird ignoriert. Das angegebene Datum und die angegebene Uhrzeit müssen nach dem Startdatum liegen.
  • MAINTENANCE_RECURRENCE mit einer RFC 5545 RRULE für Wiederholungsversuche von Wartungsfenstern. Cloud Composer unterstützt zwei Formate:

  • Das Format FREQ=DAILY gibt eine tägliche Wiederholung an.

  • Das Format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA gibt eine Wiederholung an ausgewählten Wochentagen an.

Im folgenden Beispiel wird ein Wartungsfenster von 6 Stunden zwischen 01:00 und 07:00 Uhr (UTC) an Mittwochen, Samstagen und Sonntagen angegeben. Das Datum 1. Januar 2023 wird ignoriert.

gcloud composer environments update example-environment \
  --location us-central1 \
  --maintenance-window-start '2023-01-01T01:00:00Z' \
  --maintenance-window-end '2023-01-01T07:00:00Z' \
  --maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=SU,WE,SA'

API

  1. Erstellen Sie eine API-Anfrage environments.patch.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.maintenanceWindow-Maske an.

    2. Geben Sie im Anfragetext die Parameter für Wartungsfenster an.

{
  "config": {
    "maintenanceWindow": {
      "startTime": "DATETIME_START",
      "endTime": "DATETIME_END",
      "recurrence": "MAINTENANCE_RECURRENCE"
    }
  }
}

Ersetzen Sie:

  • DATETIME_START durch das Startdatum und die Uhrzeit im Eingabeformat Datum/Uhrzeit. Es wird nur die angegebene Uhrzeit verwendet. Das angegebene Datum wird ignoriert.
  • DATETIME_END durch das Enddatum und die Uhrzeit im Eingabeformat Datum/Uhrzeit. Es wird nur die angegebene Uhrzeit verwendet. Das angegebene Datum wird ignoriert. Das angegebene Datum und die angegebene Uhrzeit müssen nach dem Startdatum liegen.
  • MAINTENANCE_RECURRENCE mit einer RFC 5545 RRULE für Wiederholungsversuche von Wartungsfenstern. Cloud Composer unterstützt zwei Formate:

    • Das Format FREQ=DAILY gibt eine tägliche Wiederholung an.
    • Das Format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA gibt eine Wiederholung an ausgewählten Wochentagen an.

Im folgenden Beispiel wird ein Wartungsfenster von 6 Stunden zwischen 01:00 und 07:00 Uhr (UTC) an Mittwochen, Samstagen und Sonntagen angegeben. Das Datum 1. Januar 2023 wird ignoriert.

  // PATCH https://composer.googleapis.com/v1/projects/example-project/
  // locations/us-central1/environments/example-environment?updateMask=
  // config.maintenanceWindow

  {
    "config": {
      "maintenanceWindow": {
        "startTime": "2023-01-01T01:00:00Z",
        "endTime": "2023-01-01T07:00:00Z",
        "recurrence": "FREQ=WEEKLY;BYDAY=SU,WE,SA"
      }
    }
  }

Terraform

Im Block maintenance_window werden die Wartungsfenster für Ihre Umgebung angegeben:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    maintenance_window {
      start_time = "DATETIME_START"
      end_time = "DATETIME_END"
      recurrence = "MAINTENANCE_RECURRENCE"
    }
  }
}

Ersetzen Sie:

  • ENVIRONMENT_NAME durch den Namen der Umgebung.
  • LOCATION durch die Region, in der sich die Umgebung befindet.
  • DATETIME_START durch das Startdatum und die Uhrzeit im Eingabeformat Datum/Uhrzeit. Es wird nur die angegebene Uhrzeit verwendet. Das angegebene Datum wird ignoriert.
  • DATETIME_END durch das Enddatum und die Uhrzeit im Eingabeformat Datum/Uhrzeit. Es wird nur die angegebene Uhrzeit verwendet. Das angegebene Datum wird ignoriert. Das angegebene Datum und die angegebene Uhrzeit müssen nach dem Startdatum liegen.
  • MAINTENANCE_RECURRENCE mit einer RFC 5545 RRULE für Wiederholungsversuche von Wartungsfenstern. Cloud Composer unterstützt zwei Formate:

    • Das Format FREQ=DAILY gibt eine tägliche Wiederholung an.
    • Das Format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA gibt eine Wiederholung an ausgewählten Wochentagen an.

Im folgenden Beispiel wird ein Wartungsfenster von 6 Stunden zwischen 01:00 und 07:00 Uhr (UTC) an Mittwochen, Samstagen und Sonntagen angegeben. Das Datum 1. Januar 2023 wird ignoriert.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    maintenance_window {
      start_time = "2023-01-01T01:00:00Z"
      end_time = "2023-01-01T07:00:00Z"
      recurrence = "FREQ=WEEKLY;BYDAY=SU,WE,SA"
    }
  }
}

Nächste Schritte