Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Halaman ini menjelaskan cara mengonfigurasi kebijakan retensi untuk database Airflow, sehingga data lama akan otomatis dihapus dari database tersebut, yang membantu menjaga ukuran database Airflow.
Kebijakan retensi database hanya tersedia di Cloud Composer 3.
Tentang retensi database
Seiring berjalannya waktu, database Airflow di lingkungan Anda akan menyimpan lebih banyak data. Data ini mencakup informasi dan log yang terkait dengan DAG yang dijalankan, tugas, dan operasi Airflow lainnya di masa lalu.
Jika Anda menetapkan periode retensi untuk database Airflow di lingkungan Anda:
- Cloud Composer menghapus data terkait eksekusi DAG dan sesi pengguna yang lebih lama dari jangka waktu yang ditentukan.
- Informasi proses DAG terbaru selalu dipertahankan, bahkan setelah periode retensi berakhir untuk rekaman terkait.
- Periode retensi default adalah 60 hari. Anda dapat menetapkan periode retensi kustom dari 30 hingga 730 hari.
Operasi retensi database berfungsi dengan cara berikut:
Secara default, retensi database diaktifkan. Anda dapat mengaktifkan atau menonaktifkannya untuk lingkungan baru atau yang sudah ada. Periode retensi default adalah 60 hari.
Operasi pembersihan berjalan otomatis setidaknya sekali dalam waktu 24 jam setelah Anda mengaktifkan retensi database. Jadwal kustom tidak dapat ditetapkan untuk operasi ini. Cloud Composer tidak melakukan operasi pembersihan segera setelah Anda mengaktifkan retensi database atau mengubah periode retensi.
Operasi pembersihan tidak mengunci tabel database Airflow, dan menjaga konsistensi data meskipun terganggu.
Ukuran penyimpanan Cloud SQL tidak dapat dikurangi melalui operasi retensi database setelah ditingkatkan. Operasi retensi database hanya membantu mencegah peningkatan ukuran database Airflow dari waktu ke waktu. Untuk mengetahui informasi selengkapnya, lihat masalah umum yang sesuai.
Sebelum memulai
- Jika lingkungan Anda menjalankan DAG pembersihan database sesuai jadwal, Anda dapat menghentikan DAG setelah mengonfigurasi kebijakan retensi database. Pendekatan DAG pemeliharaan tidak digunakan lagi di Cloud Composer 3. DAG ini melakukan pekerjaan yang berlebihan dan Anda dapat mengurangi konsumsi resource dengan menghentikannya.
Mengonfigurasi retensi database untuk lingkungan baru
Untuk mengaktifkan atau menonaktifkan retensi database atau menetapkan periode retensi database kustom saat Anda membuat lingkungan:
Konsol
Di halaman Create environment:
Di bagian Database data retention policy, konfigurasi retensi database:
(Default) Untuk mengaktifkan retensi database, pilih Aktifkan kebijakan retensi data database.
Untuk menonaktifkan retensi database, pilih Nonaktifkan kebijakan retensi data database.
(Opsional) Untuk menetapkan periode retensi kustom, di kolom Periode retensi, tentukan periode retensi antara 30 dan 730 hari.
gcloud
Saat Anda membuat lingkungan, argumen --airflow-database-retention-days
mengaktifkan retensi database dan menentukan periode retensi, dalam
hari.
Argumen ini harus selalu ditentukan secara eksplisit:
- Nilai
0
akan menonaktifkan retensi database. - Tentukan
60
untuk menggunakan nilai default. - Tentukan nilai untuk menetapkan periode retensi database kustom antara 30 dan 730 hari.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.10.5-build.12 \
--airflow-database-retention-days RETENTION_PERIOD
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.RETENTION_PERIOD
: nilai kustom untuk periode retensi.
Contoh:
gcloud composer environments create example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Saat membuat lingkungan, di Environment > EnvironmentConfig > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig resource, tentukan parameter retensi database:
{
"name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE_ENABLED",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.RETENTION_PERIOD
: nilai kustom untuk periode retensi antara 30 dan 730 hari.
Contoh:
// 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
Saat Anda membuat lingkungan, blok airflow_metadata_retention_config
di data_retention_config
menentukan parameter retensi database:
Kolom
retention_mode
menentukan mode retensi database:- (Default)
RETENTION_MODE_ENABLED
mengaktifkan retensi database. RETENTION_MODE_DISABLED
menonaktifkan retensi database.
- (Default)
(Opsional)
retention_days
menentukan periode retensi kustom. Nilai defaultnya adalah 60 hari.
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
}
}
}
}
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.RETENTION_MODE
: mode retensi database (RETENTION_MODE_ENABLED
atauRETENTION_MODE_DISABLED
).RETENTION_PERIOD
: nilai kustom untuk periode retensi antara 30 dan 730 hari.
Contoh:
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
}
}
Mengonfigurasi retensi database untuk lingkungan yang ada
Untuk mengaktifkan atau menonaktifkan retensi database untuk lingkungan yang ada dan untuk menetapkan periode retensi kustom:
Konsol
Di konsol Google Cloud , buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Konfigurasi lingkungan.
Item Kebijakan retensi data database mencantumkan kebijakan retensi data database saat ini di lingkungan Anda.
Klik Edit.
Menetapkan status retensi database:
Untuk mengaktifkan retensi database, pilih Aktifkan kebijakan retensi data database.
Untuk menonaktifkan retensi database, batalkan pilihan Aktifkan kebijakan retensi data database.
(Opsional) Untuk menetapkan periode retensi kustom, di kolom Periode retensi, tentukan periode retensi antara 30 dan 730 hari.
gcloud
Argumen --airflow-database-retention-days
mengaktifkan retensi database dan menentukan periode retensi, dalam hari. Nilai 0
akan menonaktifkan retensi database.
gcloud composer environments update ENVIRONMENT_NAME \
--airflow-database-retention-days RETENTION_PERIOD
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.RETENTION_PERIOD
: nilai kustom untuk periode retensi antara 30 dan 730 hari.
Contoh:
gcloud composer environments update example-environment \
--location us-central1 \
--airflow-database-retention-days 60
API
Buat permintaan API
environments.patch
.Dalam permintaan ini:
Dalam parameter
updateMask
, tentukan maskerconfig.dataRetentionConfig.airflowMetadataRetentionConfig
.Dalam isi permintaan, tentukan parameter retensi database.
{
"config": {
"dataRetentionConfig": {
"airflowMetadataRetentionConfig": {
"retentionMode": "RETENTION_MODE",
"retentionDays": "RETENTION_PERIOD"
}
}
}
}
Ganti:
RETENTION_MODE
:RETENTION_MODE_ENABLED
mengaktifkan retensi database,RETENTION_MODE_DISABLED
menonaktifkan retensi database.RETENTION_PERIOD
: nilai kustom untuk periode retensi antara 30 dan 730 hari. Jika kolom ini tidak diisi, nilai default akan digunakan (60 hari).
Contoh:
// 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
Blok airflow_metadata_retention_config
di data_retention_config
menentukan parameter retensi database:
Kolom
retention_mode
menentukan mode retensi database:- (Default)
RETENTION_MODE_ENABLED
mengaktifkan retensi database. RETENTION_MODE_DISABLED
menonaktifkan retensi database.
- (Default)
(Opsional)
retention_days
menentukan periode retensi kustom. Nilai defaultnya adalah 60 hari.
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
}
}
}
}
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.RETENTION_MODE
: mode retensi database (RETENTION_MODE_ENABLED
atauRETENTION_MODE_DISABLED
).RETENTION_PERIOD
: nilai kustom untuk periode retensi antara 30 dan 730 hari.
Contoh:
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
}
}
Memeriksa status retensi database
Konsol
Di konsol Google Cloud , buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Konfigurasi lingkungan.
Item Kebijakan retensi data database mencantumkan kebijakan retensi data database saat ini di lingkungan Anda.
gcloud
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.dataRetentionConfig.airflowMetadataRetentionConfig.retentionMode)"
Melihat log retensi database
Anda dapat melihat log operasi retensi database di Environment details > Logs >. Log tersebut berada di All logs > Composer logs > Database retention.
Entri log mencantumkan status operasi dan ukuran database.
Untuk mengetahui informasi selengkapnya tentang cara melihat log Cloud Composer, lihat bagian Melihat log.