Configurer la règle de conservation de la base de données

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Cette page explique comment configurer une règle de conservation pour la base de données Airflow afin que les enregistrements plus anciens soient automatiquement supprimés, ce qui permet de maintenir la taille de la base de données Airflow.

La règle de conservation des bases de données n'est disponible que dans Cloud Composer 3 et n'est pas activée par défaut.

À propos de la conservation des bases de données

Au fil du temps, la base de données Airflow de votre environnement stocke de plus en plus de données. Ces données incluent des informations et des journaux liés aux exécutions DAG, aux tâches et aux autres opérations Airflow passées.

Si vous définissez une durée de conservation pour la base de données Airflow dans votre environnement:

  • Cloud Composer supprime les enregistrements liés aux exécutions de DAG et aux sessions utilisateur datant de plus de la période spécifiée.
  • Les informations sur l'exécution du DAG la plus récente sont toujours conservées, même après la fin de la période de conservation des enregistrements associés.
  • La période de conservation par défaut est de 60 jours. Vous pouvez définir une durée de conservation personnalisée comprise entre 30 et 730 jours.

Les opérations de conservation des bases de données fonctionnent comme suit:

  • Par défaut, la conservation des données de base est désactivée. Vous pouvez l'activer ou la désactiver pour un environnement nouveau ou existant. La période de conservation par défaut est de 60 jours.

  • Une opération de nettoyage s'exécute automatiquement au moins une fois dans les 24 heures suivant l'activation de la conservation de la base de données. Il n'est pas possible de définir un calendrier personnalisé pour cette opération.

  • Cloud Composer n'effectue pas l'opération de nettoyage immédiatement après avoir activé la conservation des bases de données ou modifié la période de conservation. Si nécessaire, vous pouvez exécuter cette opération à la demande.

  • L'opération de nettoyage ne verrouille pas les tables de la base de données Airflow et maintient la cohérence des données, même si elle est interrompue.

  • Il n'est pas possible de réduire la taille de stockage Cloud SQL via des opérations de rétention de base de données après l'avoir augmentée. Les opérations de conservation de la base de données ne servent qu'à empêcher la base de données Airflow d'augmenter au fil du temps. Pour en savoir plus, consultez le problème connu correspondant.

Avant de commencer

  • Si votre environnement exécute le DAG de nettoyage de la base de données selon un calendrier, vous pouvez arrêter le DAG après avoir configuré la règle de conservation de la base de données. Ce DAG effectue un travail redondant. Vous pouvez réduire la consommation de ressources en l'arrêtant.

Configurer la conservation de la base de données pour un nouvel environnement

Pour activer ou désactiver la conservation de la base de données ou définir une période de conservation personnalisée de la base de données lorsque vous créez un environnement:

Console

Sur la page Créer un environnement :

  1. Dans la section Règles de conservation des données de la base de données, configurez la conservation de la base de données:

    • Pour activer la conservation de la base de données, sélectionnez Activer la règle de conservation des données de la base de données.

    • Pour désactiver la conservation des données de la base de données, sélectionnez Désactiver la règle de conservation des données de la base de données.

  2. (Facultatif) Pour définir une période de conservation personnalisée, spécifiez une période de conservation comprise entre 30 et 730 jours dans le champ Durée de conservation.

gcloud

Lorsque vous créez un environnement, l'argument --airflow-database-retention-days active la conservation des bases de données et spécifie la période de conservation, en jours.

Cet argument doit toujours être spécifié explicitement:

  • La valeur 0 désactive la conservation de la base de données.
  • Spécifiez 60 pour utiliser la valeur par défaut.
  • Spécifiez une valeur pour définir une période de conservation personnalisée de la base de données entre 30 et 730 jours.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.10.2-build.9 \
    --airflow-database-retention-days RETENTION_PERIOD

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION: région où se trouve l'environnement.
  • RETENTION_PERIOD: valeur personnalisée pour la période de conservation.

Exemple :

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

API

Lorsque vous créez un environnement, dans la ressource Environment > EnvironmentConfig > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig, spécifiez les paramètres de conservation de la base de données:

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

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION: région où se trouve l'environnement.
  • RETENTION_PERIOD: valeur personnalisée pour la période de conservation comprise entre 30 et 730 jours.

Exemple :


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

Lorsque vous créez un environnement, le bloc airflow_metadata_retention_config dans data_retention_config spécifie les paramètres de rétention de la base de données:

  • Le champ retention_mode spécifie le mode de conservation de la base de données:

    • RETENTION_MODE_ENABLED active la conservation de la base de données.
    • (Par défaut) RETENTION_MODE_DISABLED désactive la conservation de la base de données.
  • (Facultatif) retention_days spécifie une période de conservation personnalisée. La valeur par défaut est de 60 jours.

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

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION: région où se trouve l'environnement.
  • RETENTION_MODE: mode de conservation de la base de données (RETENTION_MODE_ENABLED ou RETENTION_MODE_DISABLED).
  • RETENTION_PERIOD: valeur personnalisée pour la période de conservation comprise entre 30 et 730 jours.

Exemple :

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

Configurer la conservation de la base de données pour un environnement existant

Pour activer ou désactiver la conservation de la base de données pour un environnement existant et définir une période de conservation personnalisée:

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. L'élément Règles de conservation des données de la base de données indique les règles de conservation des données de la base de données actuelles de votre environnement.

  5. Cliquez sur Modifier.

  6. Définissez l'état de la conservation des bases de données:

    • Pour activer la conservation de la base de données, sélectionnez Activer la règle de conservation des données de la base de données.

    • Pour désactiver la conservation des données de la base de données, désélectionnez Activer la règle de conservation des données de la base de données.

  7. (Facultatif) Pour définir une période de conservation personnalisée, spécifiez une période de conservation comprise entre 30 et 730 jours dans le champ Durée de conservation.

gcloud

L'argument --airflow-database-retention-days active la conservation de la base de données et spécifie la durée de conservation, en jours. La valeur 0 désactive la conservation de la base de données.

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

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION: région où se trouve l'environnement.
  • RETENTION_PERIOD: valeur personnalisée pour la période de conservation comprise entre 30 et 730 jours.

Exemple :

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

API

  1. Rédigez une requête API environments.patch.

  2. Dans cette requête :

    1. Dans le paramètre updateMask, spécifiez le masque config.dataRetentionConfig.airflowMetadataRetentionConfig.

    2. Dans le corps de la requête, spécifiez les paramètres de conservation de la base de données.

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

Remplacez :

  • RETENTION_MODE: RETENTION_MODE_ENABLED active la conservation de la base de données, RETENTION_MODE_DISABLED la désactive.
  • RETENTION_PERIOD: valeur personnalisée pour la période de conservation comprise entre 30 et 730 jours. Si ce champ est omis, la valeur par défaut est utilisée (60 jours).

Exemple :

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

Le bloc airflow_metadata_retention_config dans data_retention_config spécifie les paramètres de conservation de la base de données:

  • Le champ retention_mode spécifie le mode de conservation de la base de données:

    • RETENTION_MODE_ENABLED active la conservation de la base de données.
    • (Par défaut) RETENTION_MODE_DISABLED désactive la conservation de la base de données.
  • (Facultatif) retention_days spécifie une période de conservation personnalisée. La valeur par défaut est de 60 jours.

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

Remplacez les éléments suivants :

  • ENVIRONMENT_NAME : nom de votre environnement
  • LOCATION: région où se trouve l'environnement.
  • RETENTION_MODE: mode de conservation de la base de données (RETENTION_MODE_ENABLED ou RETENTION_MODE_DISABLED).
  • RETENTION_PERIOD: valeur personnalisée pour la période de conservation comprise entre 30 et 730 jours.

Exemple :

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

Vérifier l'état de la conservation des données de la base de données

Console

  1. Dans la console Google Cloud, accédez à la page Environnements.

    Accéder à la page Environnements

  2. Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.

  3. Accédez à l'onglet Configuration de l'environnement.

  4. L'élément Règles de conservation des données de la base de données indique les règles de conservation des données de la base de données actuelles de votre environnement.

gcloud

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

Afficher les journaux de conservation de la base de données

Vous pouvez consulter les journaux des opérations de conservation de la base de données sur la page Détails de l'environnement > Journaux >. Les journaux se trouvent dans Tous les journaux > Journaux Composer > Conservation de la base de données.

Les entrées de journal indiquent l'état de l'opération et la taille de la base de données.

Pour en savoir plus sur l'affichage des journaux Cloud Composer, consultez la section Afficher les journaux.

Étape suivante