Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Nesta página, explicamos como configurar uma política de retenção para o banco de dados do Airflow, para que os registros mais antigos sejam removidos automaticamente, o que ajuda a manter o tamanho do banco de dados.
A política de retenção de banco de dados está disponível apenas no Cloud Composer 3.
Sobre a retenção de banco de dados
Com o tempo, o banco de dados do Airflow do seu ambiente armazena cada vez mais dados. Esses dados incluem informações e registros relacionados a execuções anteriores de DAG, tarefas e outras operações do Airflow.
Se você definir um período de armazenamento para o banco de dados do Airflow no seu ambiente:
- O Cloud Composer remove registros relacionados a execuções de DAG e sessões de usuário mais antigas que o período especificado.
- As informações mais recentes de execução do DAG são sempre mantidas, mesmo depois que o período de armazenamento dos registros relacionados termina.
- O período de armazenamento padrão é de 60 dias. É possível definir um período de armazenamento personalizado de 30 a 730 dias.
As operações de retenção de banco de dados funcionam da seguinte maneira:
Por padrão, a retenção de banco de dados está ativada. É possível ativar ou desativar para um ambiente novo ou atual. O período de armazenamento padrão é de 60 dias.
Uma operação de limpeza é executada automaticamente pelo menos uma vez em até 24 horas após a ativação da retenção de banco de dados. Não é possível definir um cronograma personalizado para essa operação. O Cloud Composer não realiza a operação de limpeza imediatamente após você ativar a retenção de banco de dados ou mudar o período de armazenamento.
A operação de limpeza não bloqueia as tabelas do banco de dados do Airflow e mantém a consistência dos dados mesmo se for interrompida.
Não é possível reduzir o tamanho do armazenamento do Cloud SQL com operações de retenção de banco de dados depois que ele foi aumentado. As operações de retenção de banco de dados ajudam apenas a evitar que o banco de dados do Airflow aumente com o tempo. Para mais informações, consulte o problema conhecido correspondente.
Antes de começar
- Se o ambiente executar o DAG de limpeza do banco de dados em uma programação, você poderá interromper o DAG depois de configurar a política de retenção do banco de dados. A abordagem de DAG de manutenção está obsoleta no Cloud Composer 3. Esse DAG faz um trabalho redundante, e você pode reduzir o consumo de recursos interrompendo-o.
Configurar a retenção do banco de dados para um novo ambiente
Para ativar ou desativar a retenção de banco de dados ou definir um período personalizado de retenção de banco de dados ao criar um ambiente:
Console
Na página Criar ambiente:
Na seção Política de retenção de dados do banco de dados, configure a retenção de dados:
(Padrão) Para ativar a retenção de banco de dados, selecione Ativar política de retenção de dados do banco de dados.
Para desativar a retenção de dados do banco de dados, selecione Desativar política de retenção de dados do banco de dados.
(Opcional) Para definir um período de armazenamento personalizado, no campo Período de armazenamento, especifique um período entre 30 e 730 dias.
gcloud
Ao criar um ambiente, o argumento --airflow-database-retention-days
ativa a retenção de banco de dados e especifica o período de armazenamento, em
dias.
Esse argumento precisa ser sempre especificado explicitamente:
- O valor
0
desativa a retenção de banco de dados. - Especifique
60
para usar o valor padrão. - Especifique um valor para definir um período de armazenamento de banco de dados personalizado entre 30 e 730 dias.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.10.5-build.12 \
--airflow-database-retention-days RETENTION_PERIOD
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.RETENTION_PERIOD
: um valor personalizado para o período de armazenamento.
Exemplo:
gcloud composer environments create example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Ao criar um ambiente, no recurso Ambiente > EnvironmentConfig > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig, especifique os parâmetros de retenção do banco de dados:
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE_ENABLED",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.RETENTION_PERIOD
: um valor personalizado para o período de armazenamento entre 30 e 730 dias.
Exemplo:
// 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
Ao criar um ambiente, o bloco airflow_metadata_retention_config
no data_retention_config
especifica os parâmetros de retenção do banco de dados:
O campo
retention_mode
especifica o modo de retenção do banco de dados:- (Padrão)
RETENTION_MODE_ENABLED
ativa a retenção de banco de dados. RETENTION_MODE_DISABLED
desativa a retenção de banco de dados.
- (Padrão)
(Opcional)
retention_days
especifica um período de armazenamento personalizado. O valor padrão é de 60 dias.
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
}
}
}
}
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.RETENTION_MODE
: modo de retenção do banco de dados (RETENTION_MODE_ENABLED
ouRETENTION_MODE_DISABLED
).RETENTION_PERIOD
: um valor personalizado para o período de armazenamento entre 30 e 730 dias.
Exemplo:
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 a retenção de banco de dados para um ambiente atual
Para ativar ou desativar a retenção do banco de dados em um ambiente atual e definir um período de armazenamento personalizado:
Console
No console Google Cloud , acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
O item Política de retenção de dados do banco de dados lista a política de retenção de dados do banco de dados atual do seu ambiente.
Clique em Editar.
Defina o status da retenção de banco de dados:
Para ativar a retenção de banco de dados, selecione Ativar política de retenção de dados do banco de dados.
Para desativar a retenção de banco de dados, desmarque Ativar política de retenção de dados do banco de dados.
(Opcional) Para definir um período de armazenamento personalizado, no campo Período de armazenamento, especifique um período entre 30 e 730 dias.
gcloud
O argumento --airflow-database-retention-days
ativa a retenção de banco de dados e especifica o período de armazenamento em dias. O valor 0
desativa a retenção de banco de dados.
gcloud composer environments update ENVIRONMENT_NAME \
--airflow-database-retention-days RETENTION_PERIOD
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.RETENTION_PERIOD
: um valor personalizado para o período de armazenamento entre 30 e 730 dias.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.dataRetentionConfig.airflowMetadataRetentionConfig
.No corpo da solicitação, especifique os parâmetros de retenção do banco de dados.
{
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Substitua:
RETENTION_MODE
:RETENTION_MODE_ENABLED
ativa a retenção de banco de dados eRETENTION_MODE_DISABLED
desativa.RETENTION_PERIOD
: um valor personalizado para o período de armazenamento entre 30 e 730 dias. Se esse campo for omitido, o valor padrão será usado (60 dias).
Exemplo:
// 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
O bloco airflow_metadata_retention_config
no data_retention_config
especifica parâmetros de retenção de banco de dados:
O campo
retention_mode
especifica o modo de retenção do banco de dados:- (Padrão)
RETENTION_MODE_ENABLED
ativa a retenção de banco de dados. RETENTION_MODE_DISABLED
desativa a retenção de banco de dados.
- (Padrão)
(Opcional)
retention_days
especifica um período de armazenamento personalizado. O valor padrão é de 60 dias.
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
}
}
}
}
Substitua:
ENVIRONMENT_NAME
: o nome do ambiente;LOCATION
: a região em que o ambiente está localizado.RETENTION_MODE
: modo de retenção do banco de dados (RETENTION_MODE_ENABLED
ouRETENTION_MODE_DISABLED
).RETENTION_PERIOD
: um valor personalizado para o período de armazenamento entre 30 e 730 dias.
Exemplo:
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
}
}
Verificar o status de retenção do banco de dados
Console
No console Google Cloud , acesse a página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.
Acesse a guia Configuração do ambiente.
O item Política de retenção de dados do banco de dados lista a política de retenção de dados do banco de dados atual do seu ambiente.
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.dataRetentionConfig.airflowMetadataRetentionConfig.retentionMode)"
Ver registros de retenção de banco de dados
É possível conferir os registros de operações de retenção de banco de dados em Detalhes do ambiente > Registros >. Os registros estão localizados em Todos os registros > Registros do Composer > Retenção de banco de dados.
As entradas de registro listam o status da operação e o tamanho do banco de dados.
Para mais informações sobre como visualizar registros do Cloud Composer, consulte Visualizar registros.