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 :
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.
(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 environnementLOCATION
: 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 environnementLOCATION
: 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 environnementLOCATION
: région où se trouve l'environnement.RETENTION_MODE
: mode de conservation de la base de données (RETENTION_MODE_ENABLED
ouRETENTION_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
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.
Accédez à l'onglet Configuration de l'environnement.
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.
Cliquez sur Modifier.
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.
(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 environnementLOCATION
: 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
Rédigez une requête API
environments.patch
.Dans cette requête :
Dans le paramètre
updateMask
, spécifiez le masqueconfig.dataRetentionConfig.airflowMetadataRetentionConfig
.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 environnementLOCATION
: région où se trouve l'environnement.RETENTION_MODE
: mode de conservation de la base de données (RETENTION_MODE_ENABLED
ouRETENTION_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
Dans la console Google Cloud, accédez à la page Environnements.
Dans la liste des environnements, cliquez sur le nom de votre environnement. La page Détails de l'environnement s'ouvre.
Accédez à l'onglet Configuration de l'environnement.
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
- Activer l'enregistrement des journaux dans le bucket de l'environnement
- Nettoyer la base de données Airflow