Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina spiega come configurare una policy 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 del database è disponibile solo in Cloud Composer 3.
Informazioni sulla conservazione del database
Con il passare del tempo, il database Airflow del tuo ambiente memorizza sempre più dati. Questi dati includono informazioni e log relativi alle esecuzioni DAG passate, alle attività e ad altre operazioni di Airflow.
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 del DAG più recente vengono sempre conservate, anche dopo la scadenza 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 è abilitata. Puoi attivarla o disattivarla 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 abilitato la conservazione del database o modificato il periodo di conservazione.
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 servono solo a impedire che il database Airflow aumenti nel tempo. Per ulteriori informazioni, consulta il problema noto corrispondente.
Prima di iniziare
- Se l'ambiente esegue il DAG di pulizia del database in base a una pianificazione, puoi arrestare il DAG dopo aver configurato il criterio di conservazione del database. L'approccio DAG di manutenzione è obsoleto in Cloud Composer 3. Questo DAG esegue un lavoro ridondante e puoi ridurre il consumo di risorse interrompendolo.
Configurare la conservazione dei database per un nuovo ambiente
Per abilitare o disabilitare la conservazione del database o impostare un periodo di conservazione del database personalizzato quando crei un ambiente:
Console
Nella pagina Crea ambiente:
Nella sezione Policy di conservazione dei dati del database, configura la conservazione del database:
(Impostazione predefinita) Per attivare la conservazione del database, seleziona Abilita la policy di conservazione dei dati del database.
Per disattivare la conservazione del database, seleziona Disabilita la policy di conservazione dei dati del database.
(Facoltativo) Per impostare un periodo di conservazione personalizzato, specifica un periodo di conservazione compreso tra 30 e 730 giorni nel campo Periodo di conservazione.
gcloud
Quando crei un ambiente, l'argomento --airflow-database-retention-days
consente la conservazione del database e specifica il periodo di conservazione, in
giorni.
Questo argomento deve essere sempre specificato in modo esplicito:
- Il valore
0
disabilita 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.5-build.12 \
--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:- (Predefinito)
RETENTION_MODE_ENABLED
abilita la conservazione del database. RETENTION_MODE_DISABLED
disattiva la conservazione del database.
- (Predefinito)
(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
oRETENTION_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 per impostare un periodo di conservazione personalizzato:
Console
Nella console Google Cloud , vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente.
L'elemento Policy di conservazione dei dati del database elenca la policy di conservazione dei dati del database corrente del tuo ambiente.
Fai clic su Modifica.
Imposta lo stato della conservazione del database:
Per abilitare 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.
(Facoltativo) Per impostare un periodo di conservazione personalizzato, specifica un periodo di conservazione compreso tra 30 e 730 giorni nel campo Periodo di conservazione.
gcloud
L'argomento --airflow-database-retention-days
attiva la conservazione del database
e specifica il periodo di conservazione in giorni. Il valore 0
disabilita 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
Crea una richiesta API
environments.patch
.In questa richiesta:
Nel parametro
updateMask
, specifica la mascheraconfig.dataRetentionConfig.airflowMetadataRetentionConfig
.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:- (Predefinito)
RETENTION_MODE_ENABLED
abilita la conservazione del database. RETENTION_MODE_DISABLED
disattiva la conservazione del database.
- (Predefinito)
(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
oRETENTION_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
Nella console Google Cloud , vai alla pagina Ambienti.
Nell'elenco degli ambienti, fai clic sul nome del tuo ambiente. Viene visualizzata la pagina Dettagli ambiente.
Vai alla scheda Configurazione ambiente.
L'elemento Policy di conservazione dei dati del database elenca la policy di conservazione dei dati del database corrente del tuo ambiente.
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.dataRetentionConfig.airflowMetadataRetentionConfig.retentionMode)"
Visualizza 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 di 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.