Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Auf dieser Seite wird erläutert, wie Sie eine Aufbewahrungsrichtlinie für die Airflow-Datenbank konfigurieren, damit ältere Datensätze automatisch daraus entfernt werden. So können Sie die Größe der Airflow-Datenbank verwalten.
Die Aufbewahrungsrichtlinie für Datenbanken ist nur in Cloud Composer 3 verfügbar.
Datenbankaufbewahrung
Im Laufe der Zeit speichert die Airflow-Datenbank Ihrer Umgebung immer mehr Daten. Diese Daten enthalten Informationen und Logs, die sich auf vergangene DAG-Ausführungen, Aufgaben und andere Airflow-Vorgänge beziehen.
Wenn Sie in Ihrer Umgebung eine Aufbewahrungsdauer für die Airflow-Datenbank festlegen:
- Cloud Composer entfernt Datensätze zu DAG-Ausführungen und Nutzersitzungen, die älter als der angegebene Zeitraum sind.
- Die Informationen zum letzten DAG-Lauf werden immer beibehalten, auch wenn der Aufbewahrungszeitraum für zugehörige Datensätze abgelaufen ist.
- Die standardmäßige Aufbewahrungsdauer beträgt 60 Tage. Sie können einen benutzerdefinierten Aufbewahrungszeitraum von 30 bis 730 Tagen festlegen.
So funktionieren Datenbankaufbewahrungsvorgänge:
Die Datenbankaufbewahrung ist standardmäßig aktiviert. Sie können sie für eine neue oder eine vorhandene Umgebung aktivieren oder deaktivieren. Die standardmäßige Aufbewahrungsdauer beträgt 60 Tage.
Ein Bereinigungsvorgang wird mindestens einmal innerhalb von 24 Stunden nach der Aktivierung der Datenbankaufbewahrung automatisch ausgeführt. Es ist nicht möglich, einen benutzerdefinierten Zeitplan für diesen Vorgang festzulegen. Cloud Composer führt den Bereinigungsvorgang nicht unmittelbar nach dem Aktivieren der Datenbankaufbewahrung oder dem Ändern des Aufbewahrungszeitraums aus.
Beim Bereinigungsvorgang werden keine Airflow-Datenbanktabellen gesperrt und die Datenkonsistenz wird auch bei einer Unterbrechung beibehalten.
Nachdem die Cloud SQL-Speichergröße erhöht wurde, kann sie durch Datenbankaufbewahrungsvorgänge nicht mehr verringert werden. Mit Datenbankaufbewahrungsvorgängen wird nur verhindert, dass die Airflow-Datenbank im Laufe der Zeit immer größer wird. Weitere Informationen finden Sie im entsprechenden bekannten Problem.
Hinweise
- Wenn in Ihrer Umgebung die DAG für die Datenbankbereinigung nach einem Zeitplan ausgeführt wird, können Sie die DAG beenden, nachdem Sie die Aufbewahrungsrichtlinie für die Datenbank konfiguriert haben. Der Ansatz mit Wartungs-DAGs ist in Cloud Composer 3 veraltet. Dieser DAG führt redundante Aufgaben aus. Sie können den Ressourcenverbrauch reduzieren, indem Sie ihn beenden.
Datenbankaufbewahrung für eine neue Umgebung konfigurieren
So aktivieren oder deaktivieren Sie die Datenbankaufbewahrung oder legen einen benutzerdefinierten Zeitraum für die Datenbankaufbewahrung fest, wenn Sie eine Umgebung erstellen:
Console
Auf der Seite Umgebung erstellen:
Konfigurieren Sie im Abschnitt Aufbewahrungsrichtlinie für Datenbankdaten die Aufbewahrung von Datenbanken:
(Standard) Wenn Sie die Datenbankaufbewahrung aktivieren möchten, wählen Sie Aufbewahrungsrichtlinie für Datenbankdaten aktivieren aus.
Wenn Sie die Datenbankaufbewahrung deaktivieren möchten, wählen Sie Aufbewahrungsrichtlinie für Datenbankdaten deaktivieren aus.
Optional: Wenn Sie eine benutzerdefinierte Aufbewahrungsdauer festlegen möchten, geben Sie im Feld Aufbewahrungsdauer eine Aufbewahrungsdauer zwischen 30 und 730 Tagen an.
gcloud
Beim Erstellen einer Umgebung wird mit dem Argument --airflow-database-retention-days
die Datenbankaufbewahrung aktiviert und der Aufbewahrungszeitraum in Tagen angegeben.
Dieses Argument muss immer explizit angegeben werden:
- Der Wert
0
deaktiviert die Datenbankaufbewahrung. - Geben Sie
60
an, um den Standardwert zu verwenden. - Geben Sie einen Wert an, um einen benutzerdefinierten Aufbewahrungszeitraum für die Datenbank zwischen 30 und 730 Tagen festzulegen.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.10.5-build.12 \
--airflow-database-retention-days RETENTION_PERIOD
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name Ihrer UmgebungLOCATION
: die Region, in der sich die Umgebung befindet.RETENTION_PERIOD
: Ein benutzerdefinierter Wert für den Aufbewahrungszeitraum.
Beispiel:
gcloud composer environments create example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Geben Sie beim Erstellen einer Umgebung in der Ressource Umgebung > EnvironmentConfig > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig Datenbankaufbewahrungsparameter an:
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE_ENABLED",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name Ihrer UmgebungLOCATION
: die Region, in der sich die Umgebung befindet.RETENTION_PERIOD
: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen.
Beispiel:
// 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
Wenn Sie eine Umgebung erstellen, gibt der Block airflow_metadata_retention_config
im Block data_retention_config
die Parameter für die Aufbewahrung von Datenbanken an:
Das Feld
retention_mode
gibt den Aufbewahrungsmodus der Datenbank an:- (Standard)
RETENTION_MODE_ENABLED
aktiviert die Datenbankaufbewahrung. RETENTION_MODE_DISABLED
deaktiviert die Datenbankaufbewahrung.
- (Standard)
Optional:
retention_days
gibt eine benutzerdefinierte Aufbewahrungsdauer an. Der Standardwert ist 60 Tage.
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
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name Ihrer UmgebungLOCATION
: die Region, in der sich die Umgebung befindet.RETENTION_MODE
: Datenbankaufbewahrungsmodus (RETENTION_MODE_ENABLED
oderRETENTION_MODE_DISABLED
).RETENTION_PERIOD
: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen.
Beispiel:
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
}
}
Datenbankaufbewahrung für eine vorhandene Umgebung konfigurieren
So aktivieren oder deaktivieren Sie die Datenbankaufbewahrung für eine vorhandene Umgebung und legen einen benutzerdefinierten Aufbewahrungszeitraum fest:
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Unter Aufbewahrungsrichtlinie für Datenbankdaten wird die aktuelle Aufbewahrungsrichtlinie für Datenbankdaten Ihrer Umgebung aufgeführt.
Klicken Sie auf Bearbeiten.
Legen Sie den Status der Datenbankaufbewahrung fest:
Wenn Sie die Datenbankaufbewahrung aktivieren möchten, wählen Sie Aufbewahrungsrichtlinie für Datenbankdaten aktivieren aus.
Wenn Sie die Datenbankaufbewahrung deaktivieren möchten, heben Sie die Auswahl von Aufbewahrungsrichtlinie für Datenbankdaten aktivieren auf.
Optional: Wenn Sie eine benutzerdefinierte Aufbewahrungsdauer festlegen möchten, geben Sie im Feld Aufbewahrungsdauer eine Aufbewahrungsdauer zwischen 30 und 730 Tagen an.
gcloud
Mit dem Argument --airflow-database-retention-days
wird die Datenbankaufbewahrung aktiviert und die Aufbewahrungsdauer in Tagen angegeben. Der Wert 0
deaktiviert die Datenbankaufbewahrung.
gcloud composer environments update ENVIRONMENT_NAME \
--airflow-database-retention-days RETENTION_PERIOD
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name Ihrer UmgebungLOCATION
: die Region, in der sich die Umgebung befindet.RETENTION_PERIOD
: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Erstellen Sie eine API-Anfrage
environments.patch
.In dieser Anfrage:
Geben Sie im
updateMask
-Parameter dieconfig.dataRetentionConfig.airflowMetadataRetentionConfig
-Maske an.Geben Sie im Anfragetext die Parameter für die Aufbewahrung von Datenbanken an.
{
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Ersetzen Sie:
RETENTION_MODE
:RETENTION_MODE_ENABLED
aktiviert die Datenbankaufbewahrung,RETENTION_MODE_DISABLED
deaktiviert sie.RETENTION_PERIOD
: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen. Wenn dieses Feld weggelassen wird, wird der Standardwert (60 Tage) verwendet.
Beispiel:
// 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
Der Block airflow_metadata_retention_config
im data_retention_config
gibt Parameter für die Datenaufbewahrung in der Datenbank an:
Das Feld
retention_mode
gibt den Aufbewahrungsmodus der Datenbank an:- (Standard)
RETENTION_MODE_ENABLED
aktiviert die Datenbankaufbewahrung. RETENTION_MODE_DISABLED
deaktiviert die Datenbankaufbewahrung.
- (Standard)
Optional:
retention_days
gibt eine benutzerdefinierte Aufbewahrungsdauer an. Der Standardwert ist 60 Tage.
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
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name Ihrer UmgebungLOCATION
: die Region, in der sich die Umgebung befindet.RETENTION_MODE
: Datenbankaufbewahrungsmodus (RETENTION_MODE_ENABLED
oderRETENTION_MODE_DISABLED
).RETENTION_PERIOD
: ein benutzerdefinierter Wert für den Aufbewahrungszeitraum zwischen 30 und 730 Tagen.
Beispiel:
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
}
}
Status der Datenbankaufbewahrung prüfen
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Unter Aufbewahrungsrichtlinie für Datenbankdaten wird die aktuelle Aufbewahrungsrichtlinie für Datenbankdaten Ihrer Umgebung aufgeführt.
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.dataRetentionConfig.airflowMetadataRetentionConfig.retentionMode)"
Logs zur Aufbewahrung von Datenbanken ansehen
Sie können die Logs für den Datenbankaufbewahrungsvorgang unter Umgebungsdetails > Logs > aufrufen. Die Logs befinden sich unter Alle Logs > Composer-Logs > Datenbankaufbewahrung.
In den Logeinträgen werden der Status des Vorgangs und die Datenbankgröße aufgeführt.
Weitere Informationen zum Ansehen von Cloud Composer-Logs finden Sie unter Logs ansehen.