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 mempertahankan ukuran database Airflow.
Kebijakan retensi database hanya tersedia di Cloud Composer 3 dan tidak diaktifkan secara default.
Tentang retensi database
Seiring waktu, database Airflow di lingkungan Anda akan menyimpan lebih banyak data. Data ini mencakup informasi dan log yang terkait dengan operasi DAG, tugas, dan operasi Airflow lainnya sebelumnya.
Jika Anda menetapkan periode retensi untuk database Airflow di lingkungan Anda:
- Cloud Composer menghapus data yang terkait dengan eksekusi DAG dan sesi pengguna yang lebih lama dari jangka waktu yang ditentukan.
- Informasi operasi DAG terbaru selalu dipertahankan, bahkan setelah periode retensi berlalu untuk kumpulan data 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 dinonaktifkan. Anda dapat mengaktifkan atau menonaktifkannya untuk lingkungan baru atau yang sudah ada. Periode retensi default adalah 60 hari.
Operasi pembersihan berjalan secara otomatis setidaknya sekali dalam 24 jam setelah Anda mengaktifkan retensi database. Anda tidak dapat menetapkan jadwal kustom untuk operasi ini.
Cloud Composer tidak langsung melakukan operasi pembersihan setelah Anda mengaktifkan retensi database atau mengubah periode retensi. Anda dapat menjalankan operasi ini sesuai permintaan, jika diperlukan.
Operasi pembersihan tidak mengunci tabel database Airflow, dan mempertahankan konsistensi data meskipun terganggu.
Anda tidak dapat mengurangi ukuran penyimpanan Cloud SQL melalui operasi retensi database setelah ukuran penyimpanan tersebut ditingkatkan. Operasi retensi database hanya membantu mencegah database Airflow bertambah 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. DAG ini melakukan pekerjaan yang redundan 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, konfigurasikan retensi database:
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 Retention period, tentukan periode retensi antara 30 hingga 730 hari.
gcloud
Saat Anda membuat lingkungan, argumen --airflow-database-retention-days
akan 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.2-build.9 \
--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 Anda membuat lingkungan, di resource Environment > EnvironmentConfig > [DataRetentionConfig][api-res-data-retention-config] > AirflowMetadataRetentionPolicyConfig, 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:RETENTION_MODE_ENABLED
memungkinkan retensi database.- (Default)
RETENTION_MODE_DISABLED
menonaktifkan retensi database.
(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 menetapkan periode retensi kustom:
Konsol
Di konsol Google Cloud, buka halaman Environments.
Di 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.
Tetapkan 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 hingga 730 hari.
gcloud
Argumen --airflow-database-retention-days
memungkinkan 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 maskconfig.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 dihilangkan, 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:RETENTION_MODE_ENABLED
memungkinkan retensi database.- (Default)
RETENTION_MODE_DISABLED
menonaktifkan retensi database.
(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.
Di 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 Detail lingkungan > Log >. Log tersebut berada di Semua log > Log composer > Retensi database.
Entri log mencantumkan status operasi, dan ukuran database.
Untuk mengetahui informasi selengkapnya tentang cara melihat log Cloud Composer, lihat artikel Melihat log.