Configura la policy di conservazione del database

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Questa pagina spiega come configurare un criterio 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 dei dati del database è disponibile solo in Cloud Composer 3 e non è attivato per impostazione predefinita.

Informazioni sulla conservazione del database

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

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 DAG più recente vengono sempre conservate, anche dopo il superamento 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 è disattivata. Puoi attivarlo o disattivarlo 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 attivato la conservazione del database o modificato il periodo di conservazione. Se necessario, è possibile eseguire questa operazione su richiesta.

  • 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 contribuiscono solo a impedire l'aumento del database Airflow nel tempo. Per ulteriori informazioni, consulta il problema noto corrispondente.

Prima di iniziare

  • Se il tuo ambiente esegue il DAG di pulizia del database in base a una programmazione, puoi interrompere il DAG dopo aver configurato il criterio di conservazione dei dati del database. Questo DAG esegue un lavoro ridondante e puoi ridurre il consumo di risorse interrompendolo.

Configurare la conservazione dei database per un nuovo ambiente

Per attivare o disattivare la conservazione dei database o impostare un periodo di conservazione personalizzato dei database quando crei un ambiente:

Console

Nella pagina Crea ambiente:

  1. Nella sezione Norme sulla conservazione dei dati del database, configura la conservazione del database:

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

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

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

gcloud

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

Questo argomento deve sempre essere specificato esplicitamente:

  • Il valore 0 disattiva 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.2-build.9 \
    --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:

    • RETENTION_MODE_ENABLED attiva la conservazione del database.
    • (Valore predefinito) 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 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 dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. L'elemento Norme sulla conservazione dei dati del database elenca le norme sulla conservazione dei dati del database correnti del tuo ambiente.

  5. Fai clic su Modifica.

  6. Imposta lo stato della conservazione del database:

    • Per attivare 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, nel campo Periodo di conservazione, specifica un periodo di conservazione compreso tra 30 e 730 giorni.

gcloud

L'argomento --airflow-database-retention-days attiva la conservazione del database e specifica il periodo di conservazione in giorni. Il valore 0 disattiva 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:

    • RETENTION_MODE_ENABLED attiva la conservazione del database.
    • (Valore predefinito) 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 dell'ambiente. Viene visualizzata la pagina Dettagli dell'ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. L'elemento Norme sulla conservazione dei dati del database elenca le norme sulla conservazione dei dati del database correnti del tuo ambiente.

gcloud

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

Visualizzare 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 del 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