Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Legacy Gen 1)
Halaman ini menjelaskan cara mengonfigurasi lingkungan Anda untuk menyimpan snapshot sesuai jadwal.
Untuk mengetahui informasi selengkapnya tentang cara kerja snapshot lingkungan dan cara menyimpan snapshot secara manual, lihat Menyimpan dan memuat snapshot.
Cara kerja snapshot terjadwal
Saat Anda mengaktifkan snapshot terjadwal, Managed Airflow akan menyimpan snapshot lingkungan Anda secara berkala ke bucket Cloud Storage.
Jika Anda membuat snapshot secara manual, Managed Airflow akan menyimpan snapshot di bucket lingkungan secara default. Untuk snapshot terjadwal, sebaiknya simpan snapshot di bucket terpisah. Dengan begitu, Anda dapat menyiapkan izin dan konfigurasi siklus proses untuk bucket ini. Satu bucket dapat menyimpan snapshot dari beberapa lingkungan, dan Anda juga dapat membuat bucket yang bersifat redundan di seluruh region.
Sebelum memulai
Untuk mengetahui informasi selengkapnya tentang persyaratan dan batasan snapshot, lihat Menyimpan dan memuat snapshot.
Managed Airflow mendukung snapshot terjadwal di versi 2.0.32 dan yang lebih baru. Snapshot lingkungan didukung di versi 2.0.9 dan yang lebih baru.
Membuat bucket untuk snapshot terjadwal
Buat bucket untuk snapshot terjadwal. Pertimbangkan cara Anda ingin menggunakan snapshot lingkungan. Jika snapshot adalah bagian dari rencana pemulihan dari bencana, gunakan bucket yang redundan di seluruh region atau bucket di region lain, sehingga Anda memiliki akses ke data meskipun terjadi gangguan regional penuh. Jika tidak, bucket di region yang sama dengan lingkungan mungkin lebih sesuai, dan dalam hal ini Anda mengurangi biaya transfer data antar-region.
Mengonfigurasi izin untuk bucket
Konfigurasikan izin berikut:
Akun layanan lingkungan Anda harus memiliki izin baca dan tulis untuk bucket ini. Misalnya, peran Storage Object Admin memiliki izin tersebut.
Akun pengguna tidak memerlukan izin tambahan untuk bucket guna memuat snapshot dari bucket tersebut, kecuali jika Anda ingin melihat konten bucket dari Google Cloud konsol. Dalam hal ini, akun pengguna harus memiliki izin baca di bucket.
Menetapkan konfigurasi siklus proses untuk bucket
Untuk menghemat biaya penyimpanan, Anda dapat mengonfigurasi aturan yang menghapus snapshot lingkungan setelah jangka waktu tertentu.
Misalnya, untuk otomatis menghapus snapshot yang lebih lama dari 30 hari:
- Tetapkan konfigurasi siklus proses untuk bucket.
- Tentukan tindakan Delete object.
- Pilih Age dan 30 hari sebagai kondisinya.
Mengaktifkan jadwal snapshot untuk lingkungan Anda
Konsol
Di konsol Google Cloud , buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Environment configuration.
Di Recovery configuration > Snapshot schedule, klik Edit. Panel Snapshot schedule akan terbuka.
Di panel Snapshot schedule, pilih Create snapshots periodically, according to the specified schedule.
Di daftar drop-down Schedule frequency, pilih periode harian, mingguan, atau kustom untuk snapshot.
Anda dapat menentukan jadwal kustom dengan format unix-cron. Misalnya, untuk menyimpan snapshot setiap 30 menit, tentukan
*/30 * * * *.Di kolom Snapshot location, pilih folder bucket tempat Anda ingin menyimpan snapshot.
gcloud
Perbarui konfigurasi lingkungan Anda. Argumen berikut menentukan parameter untuk snapshot terjadwal:
--enable-scheduled-snapshot-creationmengaktifkan snapshot terjadwal.--snapshot-locationmenentukan folder bucket tempat Anda ingin menyimpan snapshot.--snapshot-creation-schedulemenentukan frekuensi pengambilan snapshot lingkungan, dalam format unix-cron. Misalnya, untuk membuat snapshot setiap 30 menit, tentukan*/30 * * * *.--snapshot-schedule-timezonemenentukan zona waktu untuk jadwal. Nilai ini adalah selisih waktu dan tidak memperhitungkan perubahan waktu musim panas. Nilai yang valid adalah dariUTC-12hinggaUTC+12. Contoh:UTC,UTC-01,UTC+03.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-scheduled-snapshot-creation \
--snapshot-location "gs://SNAPSHOTS_FOLDER" \
--snapshot-creation-schedule "CRON_EXPRESSION" \
--snapshot-schedule-timezone "TIME_ZONE"
Ganti:
ENVIRONMENT_NAMEdengan nama lingkungan.LOCATIONdengan region tempat lingkungan berada.SNAPSHOTS_FOLDERdengan URI folder bucket tempat menyimpan snapshot.CRON_EXPRESSIONdengan jadwal, dalam format unix-cron.TIME_ZONEdengan zona waktu untuk jadwal.
Contoh (setiap hari pukul 04.00, UTC+01):
gcloud composer environments update example-environment \
--location us-central1 \
--enable-scheduled-snapshot-creation \
--snapshot-location "gs://example-bucket/environment_snapshots" \
--snapshot-creation-schedule "0 4 * * *" \
--snapshot-schedule-timezone "UTC+01"
API
Buat permintaan API environments.patch.
Dalam permintaan ini:
Di parameter
updateMask, tentukan maskconfig.recoveryConfig.scheduledSnapshotsConfiguntuk mengganti konfigurasi snapshot terjadwal yang ada.Di isi permintaan, tentukan konfigurasi untuk snapshot:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://SNAPSHOTS_FOLDER", "snapshot_creation_schedule": "CRON_EXPRESSION", "time_zone": "TIME_ZONE" } } } }Ganti:
SNAPSHOTS_FOLDERdengan URI folder bucket tempat menyimpan snapshot.CRON_EXPRESSIONdengan jadwal, dalam format unix-cron.TIME_ZONEdengan zona waktu untuk jadwal. Nilai ini adalah selisih waktu dan tidak memperhitungkan perubahan waktu musim panas. Nilai yang valid adalah dariUTC-12hinggaUTC+12. Contoh:UTC,UTC-01,UTC+03.
Contoh (setiap hari pukul 04.00, UTC+01):
// PATCH https://composer.googleapis.com/v1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.recoveryConfig.scheduledSnapshotsConfig { "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": true, "snapshot_location": "gs://example-bucket/environment_snapshots", "snapshot_creation_schedule": "0 4 * * *", "time_zone": "UTC+01" } } } }
Terraform
scheduled_snapshots_config di blok recovery_config menentukan parameter untuk snapshot terjadwal:
enabledmengaktifkan snapshot terjadwal.snapshot_locationmenentukan folder bucket tempat Anda ingin menyimpan snapshot.snapshot_creation_schedulemenentukan frekuensi pengambilan snapshot lingkungan, dalam format unix-cron. Misalnya, untuk membuat snapshot setiap 30 menit, tentukan*/30 * * * *.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
recovery_config {
scheduled_snapshots_config {
enabled = true
snapshot_location = "gs://SNAPSHOTS_FOLDER"
snapshot_creation_schedule = "CRON_EXPRESSION"
time_zone = "TIME_ZONE"
}
}
}
Ganti:
SNAPSHOTS_FOLDERdengan URI folder bucket tempat menyimpan snapshot.CRON_EXPRESSIONdengan jadwal, dalam format unix-cron.TIME_ZONEdengan zona waktu untuk jadwal. Nilai ini adalah selisih waktu dan tidak memperhitungkan perubahan waktu musim panas. Nilai yang valid adalah dariUTC-12hinggaUTC+12. Contoh:UTC,UTC-01,UTC+03.
Contoh (setiap hari pukul 04.00, UTC+01):
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
recovery_config {
scheduled_snapshots_config {
enabled = true
snapshot_location = "gs://example-bucket/environment_snapshots"
snapshot_creation_schedule = "0 4 * * *"
time_zone = "UTC+01"
}
}
}
Menonaktifkan snapshot terjadwal
Jika Anda menonaktifkan snapshot terjadwal, semua snapshot yang sudah diambil tidak akan diubah atau dihapus. Snapshot ini akan tetap berada di lokasi tempat snapshot disimpan.
Konsol
Di konsol Google Cloud , buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Environment configuration.
Di Recovery configuration > Snapshot schedule, klik Edit. Panel Snapshot schedule akan terbuka.
Di panel Snapshot schedule, pilih Do not create snapshots automatically.
gcloud
Perbarui konfigurasi lingkungan Anda. Argumen --disable-scheduled-snapshot-creation menonaktifkan snapshot terjadwal.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-scheduled-snapshot-creation
Ganti:
ENVIRONMENT_NAMEdengan nama lingkungan.LOCATIONdengan region tempat lingkungan berada.
Contoh:
gcloud composer environments update example-environment \
--location us-central1 \
--disable-scheduled-snapshot-creation
API
Buat permintaan API environments.patch.
Dalam permintaan ini:
Di parameter
updateMask, tentukan maskconfig.recoveryConfig.scheduledSnapshotsConfig.enableduntuk mengganti nilai kolomenabled.Di isi permintaan, tentukan nilai baru:
{ "config": { "recoveryConfig": { "scheduledSnapshotsConfig": { "enabled": false } } } }
Contoh:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.recoveryConfig.scheduledSnapshotsConfig.enabled
{
"config": {
"recoveryConfig": {
"scheduledSnapshotsConfig": {
"enabled": false
}
}
}
}
Terraform
Untuk menonaktifkan snapshot terjadwal, tetapkan kolom enabled di blok scheduled_snapshots_config ke false:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
recovery_config {
scheduled_snapshots_config {
enabled = false
}
}
}
Contoh:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
recovery_config {
scheduled_snapshots_config {
enabled = false
// Other scheduled snapshots parameters
}
}
}