Configura la policy di conservazione del database

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Questa pagina spiega come configurare una policy di conservazione per il database Airflow, in modo che i record meno recenti vengano rimossi automaticamente, il che contribuisce a mantenere le dimensioni del database Airflow.

Il criterio di conservazione del database è disponibile solo in Cloud Composer 3.

Informazioni sulla conservazione del database

Con il passare del tempo, il database Airflow del tuo ambiente memorizza sempre più dati. Questi dati includono informazioni e log relativi alle esecuzioni DAG passate, alle attività e ad altre operazioni di Airflow.

Se imposti un periodo di conservazione per il database Airflow nel tuo ambiente:

  • Cloud Composer rimuove i record relativi alle esecuzioni DAG e alle sessioni utente precedenti al periodo di tempo specificato.
  • Le informazioni sull'esecuzione del DAG più recente vengono sempre conservate, anche dopo la scadenza del periodo di conservazione per i record correlati.
  • Il periodo di conservazione predefinito è di 60 giorni. Puoi impostare un periodo di conservazione personalizzato da 30 a 730 giorni.

Le operazioni di conservazione del database funzionano nel seguente modo:

  • Per impostazione predefinita, la conservazione del database è abilitata. Puoi attivarla o disattivarla per un ambiente nuovo o esistente. Il periodo di conservazione predefinito è di 60 giorni.

  • Un'operazione di pulizia viene eseguita automaticamente almeno una volta entro 24 ore dall'attivazione della conservazione del database. Non è possibile impostare una pianificazione personalizzata per questa operazione. Cloud Composer non esegue l'operazione di pulizia immediatamente dopo aver abilitato la conservazione del database o modificato il periodo di conservazione.

  • L'operazione di pulizia non blocca le tabelle del database Airflow e mantiene la coerenza dei dati anche se viene interrotta.

  • Non è possibile ridurre le dimensioni dello spazio di archiviazione Cloud SQL tramite operazioni di conservazione del database dopo che sono state aumentate. Le operazioni di conservazione del database servono solo a impedire che il database Airflow aumenti nel tempo. Per ulteriori informazioni, consulta il problema noto corrispondente.

Prima di iniziare

  • Se l'ambiente esegue il DAG di pulizia del database in base a una pianificazione, puoi arrestare il DAG dopo aver configurato il criterio di conservazione del database. L'approccio DAG di manutenzione è obsoleto in Cloud Composer 3. Questo DAG esegue un lavoro ridondante e puoi ridurre il consumo di risorse interrompendolo.

Configurare la conservazione dei database per un nuovo ambiente

Per abilitare o disabilitare la conservazione del database o impostare un periodo di conservazione del database personalizzato quando crei un ambiente:

Console

Nella pagina Crea ambiente:

  1. Nella sezione Policy di conservazione dei dati del database, configura la conservazione del database:

    • (Impostazione predefinita) Per attivare la conservazione del database, seleziona Abilita la policy di conservazione dei dati del database.

    • Per disattivare la conservazione del database, seleziona Disabilita la policy di conservazione dei dati del database.

  2. (Facoltativo) Per impostare un periodo di conservazione personalizzato, specifica un periodo di conservazione compreso tra 30 e 730 giorni nel campo Periodo di conservazione.

gcloud

Quando crei un ambiente, l'argomento --airflow-database-retention-days consente la conservazione del database e specifica il periodo di conservazione, in giorni.

Questo argomento deve essere sempre specificato in modo esplicito:

  • Il valore 0 disabilita la conservazione del database.
  • Specifica 60 per utilizzare il valore predefinito.
  • Specifica un valore per impostare un periodo di conservazione del database personalizzato compreso tra 30 e 730 giorni.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.10.5-build.12 \
    --airflow-database-retention-days RETENTION_PERIOD

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione.

Esempio:

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

API

Quando crei un ambiente, nella risorsa Environment > EnvironmentConfig > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig, specifica i parametri di conservazione del database:

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni.

Esempio:


// 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

Quando crei un ambiente, il blocco airflow_metadata_retention_config in data_retention_config specifica i parametri di conservazione del database:

  • Il campo retention_mode specifica la modalità di conservazione del database:

    • (Predefinito) RETENTION_MODE_ENABLED abilita la conservazione del database.
    • RETENTION_MODE_DISABLED disattiva la conservazione del database.
  • (Facoltativo) retention_days specifica un periodo di conservazione personalizzato. Il valore predefinito è 60 giorni.

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
      }
    }
  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • RETENTION_MODE: modalità di conservazione del database (RETENTION_MODE_ENABLED o RETENTION_MODE_DISABLED).
  • RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni.

Esempio:

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
      }
    }

Configurare la conservazione dei database per un ambiente esistente

Per attivare o disattivare la conservazione dei database per un ambiente esistente e per impostare un periodo di conservazione personalizzato:

Console

  1. Nella console Google Cloud , vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione ambiente.

  4. L'elemento Policy di conservazione dei dati del database elenca la policy di conservazione dei dati del database corrente del tuo ambiente.

  5. Fai clic su Modifica.

  6. Imposta lo stato della conservazione del database:

    • Per abilitare la conservazione del database, seleziona Abilita la policy di conservazione dei dati del database.

    • Per disattivare la conservazione del database, deseleziona Abilita la policy di conservazione dei dati del database.

  7. (Facoltativo) Per impostare un periodo di conservazione personalizzato, specifica un periodo di conservazione compreso tra 30 e 730 giorni nel campo Periodo di conservazione.

gcloud

L'argomento --airflow-database-retention-days attiva la conservazione del database e specifica il periodo di conservazione in giorni. Il valore 0 disabilita la conservazione del database.

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

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni.

Esempio:

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

API

  1. Crea una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.dataRetentionConfig.airflowMetadataRetentionConfig.

    2. Nel corpo della richiesta, specifica i parametri di conservazione del database.

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

Sostituisci:

  • RETENTION_MODE: RETENTION_MODE_ENABLED attiva la conservazione del database, RETENTION_MODE_DISABLED disattiva la conservazione del database.
  • RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni. Se questo campo viene omesso, viene utilizzato il valore predefinito (60 giorni).

Esempio:

// 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

Il blocco airflow_metadata_retention_config in data_retention_config specifica i parametri di conservazione del database:

  • Il campo retention_mode specifica la modalità di conservazione del database:

    • (Predefinito) RETENTION_MODE_ENABLED abilita la conservazione del database.
    • RETENTION_MODE_DISABLED disattiva la conservazione del database.
  • (Facoltativo) retention_days specifica un periodo di conservazione personalizzato. Il valore predefinito è 60 giorni.

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
      }
    }
  }
}

Sostituisci quanto segue:

  • ENVIRONMENT_NAME: il nome del tuo ambiente.
  • LOCATION: la regione in cui si trova l'ambiente.
  • RETENTION_MODE: modalità di conservazione del database (RETENTION_MODE_ENABLED o RETENTION_MODE_DISABLED).
  • RETENTION_PERIOD: un valore personalizzato per il periodo di conservazione compreso tra 30 e 730 giorni.

Esempio:

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
      }
    }

Controllare lo stato di conservazione del database

Console

  1. Nella console Google Cloud , vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.

  3. Vai alla scheda Configurazione ambiente.

  4. L'elemento Policy di conservazione dei dati del database elenca la policy di conservazione dei dati del database corrente del tuo ambiente.

gcloud

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

Visualizza i log di conservazione del database

Puoi visualizzare i log delle operazioni di conservazione del database in Dettagli ambiente > Log >. I log si trovano in Tutti i log > Log di Composer > Conservazione del database.

Le voci di log elencano lo stato dell'operazione e le dimensioni del database.

Per ulteriori informazioni sulla visualizzazione dei log di Cloud Composer, consulta Visualizzare i log.

Passaggi successivi