Aufbewahrungsrichtlinie für Datenbank konfigurieren

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Auf dieser Seite wird erläutert, wie Sie eine Aufbewahrungsrichtlinie für die Airflow-Datenbank konfigurieren, damit ältere Einträge automatisch daraus entfernt werden. So lässt sich die Größe der Airflow-Datenbank beibehalten.

Die Datenbankaufbewahrungsrichtlinie ist nur in Cloud Composer 3 verfügbar und standardmäßig nicht aktiviert.

Datenbankaufbewahrung

Im Laufe der Zeit speichert die Airflow-Datenbank Ihrer Umgebung immer mehr Daten. Diese Daten enthalten Informationen und Protokolle zu vergangenen DAG-Ausführungen, Aufgaben und anderen Airflow-Vorgängen.

Wenn Sie eine Aufbewahrungsdauer für die Airflow-Datenbank in Ihrer Umgebung festlegen:

  • Cloud Composer entfernt Einträge zu DAG-Ausführungen und Nutzersitzungen, die älter als der angegebene Zeitraum sind.
  • Die Informationen zur letzten DAG-Ausführung werden immer aufbewahrt, auch wenn der Aufbewahrungszeitraum für zugehörige Einträge abgelaufen ist.
  • Die standardmäßige Aufbewahrungsdauer beträgt 60 Tage. Sie können eine benutzerdefinierte Aufbewahrungsdauer von 30 bis 730 Tagen festlegen.

So funktionieren Datenbankaufbewahrungsvorgänge:

  • Die Datenbankaufbewahrung ist standardmäßig deaktiviert. Sie können sie für eine neue oder eine vorhandene Umgebung aktivieren oder deaktivieren. Die Standardaufbewahrungsdauer beträgt 60 Tage.

  • Nach der Aktivierung der Datenbankaufbewahrung wird mindestens einmal innerhalb von 24 Stunden automatisch ein Bereinigungsvorgang ausgeführt. Für diesen Vorgang kann kein benutzerdefinierter Zeitplan festgelegt werden.

  • Cloud Composer führt den Bereinigungsvorgang nicht sofort aus, nachdem Sie die Datenbankaufbewahrung aktiviert oder die Aufbewahrungsdauer geändert haben. Bei Bedarf kann dieser Vorgang auf Abruf ausgeführt werden.

  • Bei der Bereinigung werden keine Airflow-Datenbanktabellen gesperrt und die Datenkonsistenz wird auch bei einer Unterbrechung aufrechterhalten.

  • Es ist nicht möglich, die Cloud SQL-Speichergröße durch Datenbankaufbewahrungsvorgänge zu reduzieren, nachdem sie erhöht wurde. Mit Datenbankaufbewahrungsaktionen lässt sich nur verhindern, dass die Airflow-Datenbank im Laufe der Zeit immer größer wird. Weitere Informationen finden Sie im entsprechenden bekannten Problem.

Hinweise

  • Wenn in Ihrer Umgebung der DAG zur Datenbankbereinigung nach einem Zeitplan ausgeführt wird, können Sie ihn beenden, nachdem Sie die Datenaufbewahrungsrichtlinie für die Datenbank konfiguriert haben. Dieser DAG führt redundante Aufgaben aus. Sie können den Ressourcenverbrauch reduzieren, indem Sie ihn beenden.

Datenbankaufbewahrung für eine neue Umgebung konfigurieren

So aktivieren oder deaktivieren Sie die Datenbankaufbewahrung oder legen beim Erstellen einer Umgebung einen benutzerdefinierten Zeitraum für die Datenbankaufbewahrung fest:

Console

Auf der Seite Umgebung erstellen:

  1. Konfigurieren Sie im Abschnitt Aufbewahrungsrichtlinie für Datenbankdaten die Datenbankaufbewahrung:

    • Wenn Sie die Datenbankaufbewahrung aktivieren möchten, wählen Sie Aufbewahrungsrichtlinie für Datenbankdaten aktivieren aus.

    • Wenn Sie die Datenbankaufbewahrung deaktivieren möchten, wählen Sie Aufbewahrungsrichtlinie für Datenbankdaten deaktivieren aus.

  2. Optional: Wenn Sie eine benutzerdefinierte Aufbewahrungsdauer festlegen möchten, geben Sie im Feld Aufbewahrungsdauer einen Zeitraum zwischen 30 und 730 Tagen an.

gcloud

Beim Erstellen einer Umgebung aktiviert das Argument --airflow-database-retention-days die Datenbankaufbewahrung und gibt die Aufbewahrungsdauer in Tagen an.

Dieses Argument muss immer explizit angegeben werden:

  • Der Wert 0 deaktiviert die Datenbankaufbewahrung.
  • Geben Sie 60 an, um den Standardwert zu verwenden.
  • Geben Sie einen Wert an, um eine benutzerdefinierte Aufbewahrungsdauer für die Datenbank zwischen 30 und 730 Tagen festzulegen.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.10.2-build.9 \
    --airflow-database-retention-days RETENTION_PERIOD

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.
  • RETENTION_PERIOD: einen benutzerdefinierten Wert für die Aufbewahrungsdauer.

Beispiel:

gcloud composer environments create example-environment \
    --location us-central1 \
    --airflow-database-retention-days 60

API

Geben Sie beim Erstellen einer Umgebung in der Ressource Umgebung > Umgebungskonfiguration > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig die Parameter für die Datenbankaufbewahrung an:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "dataRetentionConfig": {
      "airflowMetadataRetentionConfig": {
        "retentionMode": "RETENTION_MODE_ENABLED",
        "retentionDays": "RETENTION_PERIOD"
      }
    }
  }
}

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.
  • RETENTION_PERIOD: ein benutzerdefinierter Wert für die Aufbewahrungsdauer zwischen 30 und 730 Tagen.

Beispiel:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "dataRetentionConfig": {
      "airflowMetadataRetentionConfig": {
        "retentionMode": "RETENTION_MODE_ENABLED",
        "retentionDays": "90"
      }
    }
  }
}

Terraform

Beim Erstellen einer Umgebung gibt der Block airflow_metadata_retention_config im Block data_retention_config die Parameter für die Datenbankaufbewahrung an:

  • Das Feld retention_mode gibt den Aufbewahrungsmodus der Datenbank an:

    • RETENTION_MODE_ENABLED aktiviert die Datenbankaufbewahrung.
    • (Standard) RETENTION_MODE_DISABLED deaktiviert die Datenbankaufbewahrung.
  • Optional: Mit retention_days wird eine benutzerdefinierte Aufbewahrungsdauer angegeben. Der Standardwert ist 60 Tage.

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

  config {
    data_retention_config {
      airflow_metadata_retention_config {
        retention_mode = "RETENTION_MODE"
        retention_days = RETENTION_PERIOD
      }
    }
  }
}

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.
  • RETENTION_MODE: Datenbankaufbewahrungsmodus (RETENTION_MODE_ENABLED oder RETENTION_MODE_DISABLED)
  • RETENTION_PERIOD: ein benutzerdefinierter Wert für die Aufbewahrungsdauer zwischen 30 und 730 Tagen.

Beispiel:

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

  config {
    data_retention_config {
      airflow_metadata_retention_config {
        retention_mode = "RETENTION_MODE_ENABLED"
        retention_days = 90
      }
    }

Datenbankaufbewahrung für eine vorhandene Umgebung konfigurieren

So aktivieren oder deaktivieren Sie die Datenbankaufbewahrung für eine vorhandene Umgebung und legen einen benutzerdefinierten Aufbewahrungszeitraum fest:

Console

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

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Im Element Aufbewahrungsrichtlinie für Datenbankdaten wird die aktuelle Aufbewahrungsrichtlinie für Datenbankdaten Ihrer Umgebung aufgeführt.

  5. Klicken Sie auf Bearbeiten.

  6. Legen Sie den Status der Datenbankaufbewahrung fest:

    • Wenn Sie die Datenbankaufbewahrung aktivieren möchten, wählen Sie Aufbewahrungsrichtlinie für Datenbankdaten aktivieren aus.

    • Wenn Sie die Datenbankaufbewahrung deaktivieren möchten, heben Sie die Auswahl von Aufbewahrungsrichtlinie für Datenbankdaten aktivieren auf.

  7. Optional: Wenn Sie eine benutzerdefinierte Aufbewahrungsdauer festlegen möchten, geben Sie im Feld Aufbewahrungsdauer einen Zeitraum zwischen 30 und 730 Tagen an.

gcloud

Mit dem Argument --airflow-database-retention-days wird die Datenbankaufbewahrung aktiviert und die Aufbewahrungsdauer in Tagen angegeben. Der Wert 0 deaktiviert die Datenbankaufbewahrung.

gcloud composer environments update ENVIRONMENT_NAME \
    --airflow-database-retention-days RETENTION_PERIOD

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.
  • RETENTION_PERIOD: ein benutzerdefinierter Wert für die Aufbewahrungsdauer zwischen 30 und 730 Tagen.

Beispiel:

gcloud composer environments update example-environment \
    --location us-central1 \
    --airflow-database-retention-days 60

API

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

  2. In dieser Anfrage:

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

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

{
  "config": {
    "dataRetentionConfig": {
      "airflowMetadataRetentionConfig": {
        "retentionMode": "RETENTION_MODE",
        "retentionDays": "RETENTION_PERIOD"
      }
    }
  }
}

Ersetzen Sie:

  • RETENTION_MODE: RETENTION_MODE_ENABLED aktiviert die Datenbankaufbewahrung, RETENTION_MODE_DISABLED deaktiviert sie.
  • RETENTION_PERIOD: ein benutzerdefinierter Wert für die Aufbewahrungsdauer zwischen 30 und 730 Tagen. Wenn dieses Feld weggelassen wird, wird der Standardwert (60 Tage) verwendet.

Beispiel:

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

{
  "config": {
    "dataRetentionConfig": {
      "airflowMetadataRetentionConfig": {
        "retentionMode": "RETENTION_MODE_ENABLED",
        "retentionMode": "90"
      }
    }
  }
}

Terraform

Im Block airflow_metadata_retention_config in data_retention_config werden die Parameter für die Datenaufbewahrung in der Datenbank angegeben:

  • Das Feld retention_mode gibt den Aufbewahrungsmodus der Datenbank an:

    • RETENTION_MODE_ENABLED aktiviert die Datenbankaufbewahrung.
    • (Standard) RETENTION_MODE_DISABLED deaktiviert die Datenbankaufbewahrung.
  • Optional: Mit retention_days wird eine benutzerdefinierte Aufbewahrungsdauer angegeben. Der Standardwert ist 60 Tage.

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

  config {
    data_retention_config {
      airflow_metadata_retention_config {
        retention_mode = "RETENTION_MODE"
        retention_days = RETENTION_PERIOD
      }
    }
  }
}

Ersetzen Sie Folgendes:

  • ENVIRONMENT_NAME: der Name Ihrer Umgebung
  • LOCATION: die Region, in der sich die Umgebung befindet.
  • RETENTION_MODE: Datenbankaufbewahrungsmodus (RETENTION_MODE_ENABLED oder RETENTION_MODE_DISABLED)
  • RETENTION_PERIOD: ein benutzerdefinierter Wert für die Aufbewahrungsdauer zwischen 30 und 730 Tagen.

Beispiel:

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

  config {
    data_retention_config {
      airflow_metadata_retention_config {
        retention_mode = "RETENTION_MODE_ENABLED"
        retention_days = 90
      }
    }

Aufbewahrungsstatus der Datenbank prüfen

Console

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

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Im Element Aufbewahrungsrichtlinie für Datenbankdaten wird die aktuelle Aufbewahrungsrichtlinie für Datenbankdaten Ihrer Umgebung aufgeführt.

gcloud

gcloud composer environments describe ENVIRONMENT_NAME \
  --location LOCATION \
  --format="value(config.dataRetentionConfig.airflowMetadataRetentionConfig.retentionMode)"

Logs zur Aufbewahrung von Daten in der Datenbank ansehen

Sie finden die Protokolle unter Umgebungsdetails > Protokolle > Alle Protokolle > Composer-Protokolle > Datenbankaufbewahrung.

In den Protokolleinträgen werden der Status des Vorgangs und die Datenbankgröße aufgeführt.

Weitere Informationen zum Ansehen von Cloud Composer-Logs finden Sie unter Logs ansehen.

Nächste Schritte