Configurar la política de conservación de bases de datos

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

En esta página se explica cómo configurar una política de conservación para la base de datos de Airflow, de forma que los registros antiguos se eliminen automáticamente. Esto ayuda a mantener el tamaño de la base de datos de Airflow.

La política de conservación de bases de datos solo está disponible en Cloud Composer 3.

Acerca de la conservación de bases de datos

Con el tiempo, la base de datos de Airflow de tu entorno almacena cada vez más datos. Estos datos incluyen información y registros relacionados con ejecuciones de DAG, tareas y otras operaciones de Airflow anteriores.

Si defines un periodo de conservación para la base de datos de Airflow en tu entorno:

  • Cloud Composer elimina los registros relacionados con las ejecuciones de DAG y las sesiones de usuario que sean anteriores al periodo especificado.
  • La información más reciente de la ejecución de DAG siempre se conserva, incluso después de que haya transcurrido el periodo de conservación de los registros relacionados.
  • El periodo de conservación predeterminado es de 60 días. Puede definir un periodo de conservación personalizado de entre 30 y 730 días.

Las operaciones de conservación de bases de datos funcionan de la siguiente manera:

  • De forma predeterminada, la retención de bases de datos está habilitada. Puedes habilitarlo o inhabilitarlo en un entorno nuevo o en uno ya creado. El periodo de conservación predeterminado es de 60 días.

  • Una operación de limpieza se ejecuta automáticamente al menos una vez en un plazo de 24 horas después de habilitar la conservación de la base de datos. No se puede definir una programación personalizada para esta operación. Cloud Composer no realiza la operación de limpieza inmediatamente después de habilitar la conservación de la base de datos o de cambiar el periodo de conservación.

  • La operación de limpieza no bloquea las tablas de la base de datos de Airflow y mantiene la coherencia de los datos aunque se interrumpa.

  • No es posible reducir el tamaño del almacenamiento de Cloud SQL mediante operaciones de conservación de bases de datos después de que se haya aumentado. Las operaciones de conservación de bases de datos solo ayudan a evitar que la base de datos de Airflow aumente con el tiempo. Para obtener más información, consulta el problema conocido correspondiente.

Antes de empezar

  • Si tu entorno ejecuta el DAG de limpieza de la base de datos de forma programada, puedes detener el DAG después de configurar la política de retención de la base de datos. El enfoque de DAG de mantenimiento está obsoleto en Cloud Composer 3. Este DAG realiza un trabajo redundante y puedes reducir el consumo de recursos deteniéndolo.

Configurar la conservación de bases de datos en un entorno nuevo

Para habilitar o inhabilitar la conservación de bases de datos, o bien para definir un periodo de conservación de bases de datos personalizado al crear un entorno, sigue estos pasos:

Consola

En la página Crear entorno, haz lo siguiente:

  1. En la sección Política de conservación de datos de la base de datos, configura la conservación de la base de datos:

    • (Predeterminado) Para habilitar la conservación de la base de datos, selecciona Habilitar la política de conservación de datos de la base de datos.

    • Para inhabilitar la conservación de la base de datos, selecciona Inhabilitar la política de conservación de datos de la base de datos.

  2. (Opcional) Para definir un periodo de conservación personalizado, en el campo Periodo de conservación, especifica un periodo de entre 30 y 730 días.

gcloud

Cuando creas un entorno, el argumento --airflow-database-retention-days habilita la conservación de la base de datos y especifica el periodo de conservación en días.

Este argumento siempre se debe especificar explícitamente:

  • El valor 0 inhabilita la conservación de la base de datos.
  • Especifique 60 para usar el valor predeterminado.
  • Especifica un valor para definir un periodo de conservación de la base de datos personalizado entre 30 y 730 días.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-3-airflow-2.10.5-build.11 \
    --airflow-database-retention-days RETENTION_PERIOD

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.
  • RETENTION_PERIOD: un valor personalizado para el periodo de conservación.

Ejemplo:

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

API

Cuando crees un entorno, en el recurso Environment > EnvironmentConfig > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig, especifica los parámetros de retención de la base de datos:

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

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.
  • RETENTION_PERIOD: un valor personalizado para el periodo de conservación, que debe estar entre 30 y 730 días.

Ejemplo:


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

Cuando creas un entorno, el bloque airflow_metadata_retention_config de data_retention_config especifica los parámetros de conservación de la base de datos:

  • El campo retention_mode especifica el modo de retención de la base de datos:

    • (Predeterminado) RETENTION_MODE_ENABLED habilita la conservación de la base de datos.
    • RETENTION_MODE_DISABLED inhabilita la conservación de la base de datos.
  • (Opcional) retention_days especifica un periodo de conservación personalizado. El valor predeterminado es 60 días.

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

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.
  • RETENTION_MODE: modo de conservación de la base de datos (RETENTION_MODE_ENABLED o RETENTION_MODE_DISABLED).
  • RETENTION_PERIOD: un valor personalizado para el periodo de conservación, que debe estar entre 30 y 730 días.

Ejemplo:

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

Configurar la conservación de bases de datos en un entorno

Para habilitar o inhabilitar la conservación de bases de datos en un entorno y definir un periodo de conservación personalizado, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. El elemento Política de conservación de datos de la base de datos muestra la política de conservación de datos de la base de datos actual de tu entorno.

  5. Haz clic en Editar.

  6. Define el estado de la conservación de la base de datos:

    • Para habilitar la retención de bases de datos, selecciona Habilitar política de retención de datos de bases de datos.

    • Para inhabilitar la conservación de la base de datos, desmarca Habilitar la política de conservación de datos de la base de datos.

  7. (Opcional) Para definir un periodo de conservación personalizado, en el campo Periodo de conservación, especifica un periodo de entre 30 y 730 días.

gcloud

El argumento --airflow-database-retention-days habilita la conservación de la base de datos y especifica el periodo de conservación en días. El valor 0 inhabilita la conservación de la base de datos.

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

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.
  • RETENTION_PERIOD: un valor personalizado para el periodo de conservación, que debe estar entre 30 y 730 días.

Ejemplo:

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

API

  1. Crea una solicitud de la API environments.patch.

  2. En esta solicitud:

    1. En el parámetro updateMask, especifique la máscara config.dataRetentionConfig.airflowMetadataRetentionConfig.

    2. En el cuerpo de la solicitud, especifica los parámetros de retención de la base de datos.

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

Sustituye:

  • RETENTION_MODE: RETENTION_MODE_ENABLED habilita la conservación de la base de datos. RETENTION_MODE_DISABLED inhabilita la conservación de la base de datos.
  • RETENTION_PERIOD: un valor personalizado para el periodo de conservación, que debe estar entre 30 y 730 días. Si se omite este campo, se usará el valor predeterminado (60 días).

Ejemplo:

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

El bloque airflow_metadata_retention_config de data_retention_config especifica los parámetros de retención de la base de datos:

  • El campo retention_mode especifica el modo de retención de la base de datos:

    • (Predeterminado) RETENTION_MODE_ENABLED habilita la conservación de la base de datos.
    • RETENTION_MODE_DISABLED inhabilita la conservación de la base de datos.
  • (Opcional) retention_days especifica un periodo de conservación personalizado. El valor predeterminado es 60 días.

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

Haz los cambios siguientes:

  • ENVIRONMENT_NAME: el nombre de tu entorno.
  • LOCATION: la región en la que se encuentra el entorno.
  • RETENTION_MODE: modo de conservación de la base de datos (RETENTION_MODE_ENABLED o RETENTION_MODE_DISABLED).
  • RETENTION_PERIOD: un valor personalizado para el periodo de conservación, que debe estar entre 30 y 730 días.

Ejemplo:

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

Comprobar el estado de retención de la base de datos

Consola

  1. En la Google Cloud consola, ve a la página Entornos.

    Ir a Entornos

  2. En la lista de entornos, haz clic en el nombre del entorno. Se abrirá la página Detalles del entorno.

  3. Ve a la pestaña Configuración del entorno.

  4. El elemento Política de conservación de datos de la base de datos muestra la política de conservación de datos de la base de datos actual de tu entorno.

gcloud

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

Ver los registros de retención de bases de datos

Puedes ver los registros de operaciones de conservación de bases de datos en Detalles del entorno > Registros >. Los registros se encuentran en Todos los registros > Registros de Composer > Conservación de bases de datos.

En las entradas de registro se indica el estado de la operación y el tamaño de la base de datos.

Para obtener más información sobre cómo ver los registros de Cloud Composer, consulta Ver registros.

Siguientes pasos