Mengonfigurasi kebijakan retensi database

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:

  1. 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.

  2. (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 atau RETENTION_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

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. Item Kebijakan retensi data database mencantumkan kebijakan retensi data database saat ini di lingkungan Anda.

  5. Klik Edit.

  6. 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.

  7. (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

  1. Buat permintaan API environments.patch.

  2. Dalam permintaan ini:

    1. Dalam parameter updateMask, tentukan mask config.dataRetentionConfig.airflowMetadataRetentionConfig.

    2. 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 atau RETENTION_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

  1. Di konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.

  3. Buka tab Konfigurasi lingkungan.

  4. 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.

Langkah berikutnya