Managed Airflow (Gen 3) | Managed Airflow (Gen 2) | Managed Airflow (Gen 1 Lama)
Halaman ini menjelaskan cara menyiapkan lingkungan Managed Airflow yang sangat andal (Ketersediaan Tinggi).
Tentang lingkungan yang sangat andal (Ketersediaan Tinggi)
Lingkungan yang sangat andal bersifat multi-zona dan berjalan di setidaknya dua zona dari region yang dipilih. Managed Airflow secara otomatis mendistribusikan komponen lingkungan Anda antar-zona.
Misalnya, pemadaman layanan zona mengganggu tugas Airflow yang berjalan di zona tertentu. Setelah itu, lingkungan yang sangat andal akan pulih, memulai ulang komponen yang terpengaruh di zona lain, dan mengalihkan database ke zona sekunder. Dengan demikian, tugas Airflow yang gagal dapat dijadwalkan ulang dan dimulai ulang oleh Airflow, sekaligus mempertahankan histori eksekusi DAG dan setelan lainnya.
Tentang database lingkungan yang sangat tersedia
Di lingkungan Managed Airflow yang sangat tersedia, komponen Cloud SQL yang menyimpan database lingkungan Anda berjalan dalam mode ketersediaan tinggi. Instance utama dan instance standby Cloud SQL didistribusikan antar-zona.
Jika terjadi pemadaman layanan, instance Cloud SQL lingkungan Anda akan melakukan failover database otomatis ke instance Cloud SQL standby. Anda tidak perlu melakukan tindakan tambahan apa pun di lingkungan Managed Airflow. Setelah zona utama beroperasi kembali, lingkungan akan beralih kembali ke dua zona (utama dan sekunder). Zona utama dan sekunder dapat ditukar dalam beberapa kasus. Instance Cloud SQL dalam mode ketersediaan tinggi menggunakan alamat IP yang sama setelah failover.
Tentang komponen Airflow yang sangat tersedia
Lingkungan yang sangat andal bersifat multi-zona dan berjalan di setidaknya dua zona dari region yang dipilih. Komponen berikut berjalan di zona terpisah:
Dua scheduler Airflow
Setidaknya dua pemicu (jika jumlah pemicu tidak ditetapkan ke nol)
Dua server web
Jumlah minimum worker ditetapkan ke dua, dan cluster lingkungan Anda mendistribusikan instance worker antar-zona. Jika terjadi pemadaman layanan zona, instance worker yang terpengaruh akan dijadwalkan ulang di zona lain.
Untuk mengetahui informasi selengkapnya tentang arsitektur lingkungan yang sangat andal, lihat Arsitektur lingkungan yang sangat andal.
Sebelum memulai
-
Di Managed Airflow (Gen 2), ketahanan tinggi hanya tersedia di lingkungan IP Pribadi.
Lingkungan yang sangat andal ditawarkan dengan biaya tambahan jika dibandingkan dengan lingkungan reguler.
Lingkungan yang sangat andal tersedia di Managed Airflow versi 2.2.0 dan versi yang lebih baru.
Jika ingin mengupdate lingkungan standar ke lingkungan yang sangat andal, pastikan lingkungan tersebut memenuhi persyaratan konfigurasi berikut. Jika lingkungan Anda tidak memenuhi persyaratan ini, Anda dapat memperbarui parameter skala dan performanya.
- Jumlah minimum worker Airflow adalah dua atau lebih.
Jumlah scheduler Airflow adalah dua.
Jika Anda menggunakan operator yang dapat ditangguhkan di DAG, maka setidaknya dua pemicu.
Membuat lingkungan yang sangat andal
Untuk membuat lingkungan yang sangat andal, aktifkan mode ketahanan tinggi saat Anda membuat lingkungan.
Mengupdate lingkungan standar ke mode ketahanan tinggi
Konsol
Di konsol Google Cloud , buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Pilih tab Environment configuration.
Di bagian Resilience mode, klik Edit.
Pilih High resilience , lalu klik Save.
gcloud
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--enable-high-resilience
Ganti kode berikut:
ENVIRONMENT_NAME: nama lingkungan Anda.LOCATION: region tempat lingkungan berada.
API
Buat permintaan API
environments.patch.Dalam permintaan ini:
Di parameter
updateMask, tentukan maskconfig.resilienceMode.Di isi permintaan, tentukan
HIGH_RESILIENCEuntuk beralih ke mode ketahanan tinggi.
Contoh:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.resilienceMode
{
"config": {
"resilience_mode": { "HIGH_RESILIENCE" }
}
}
Terraform
Kolom resilience_mode di blok config menentukan mode ketahanan. Untuk menggunakan mode ketahanan tinggi, tetapkan nilai ini ke HIGH_RESILIENCE.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
resilience_mode = "HIGH_RESILIENCE"
}
}
Ganti kode berikut:
ENVIRONMENT_NAME: nama lingkungan Anda.LOCATION: region tempat lingkungan berada.
Contoh:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
resilience_mode = "HIGH_RESILIENCE"
}
Mengubah lingkungan yang sangat andal ke mode ketahanan standar
Anda dapat mengubah lingkungan ke mode ketahanan standar kapan saja. Operasi ini:
- Mengurangi jumlah server web di lingkungan Anda menjadi satu.
- Menonaktifkan mode ketersediaan tinggi database Airflow lingkungan Anda.
Tidak mengubah setelan untuk jumlah minimum worker, scheduler, atau pemicu Airflow.
Konsol
Di konsol Google Cloud , buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Pilih tab Environment configuration.
Di bagian Resilience mode, klik Edit.
Pilih Standard resilience (default) , lalu klik Save.
gcloud
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--disable-high-resilience
Ganti kode berikut:
ENVIRONMENT_NAME: nama lingkungan Cloud Composer AndaLOCATION: region tempat lingkungan berada.
API
Buat permintaan API
environments.patch.Dalam permintaan ini:
Di parameter
updateMask, tentukan maskconfig.resilienceMode.Di isi permintaan, tentukan
RESILIENCE_MODE_UNSPECIFIEDuntuk beralih ke mode ketahanan standar.
Contoh:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.resilienceMode
{
"config": {
"resilience_mode": { "RESILIENCE_MODE_UNSPECIFIED" }
}
}
Terraform
Kolom resilience_mode di blok config menentukan mode ketahanan. Untuk menggunakan mode ketahanan standar, tetapkan nilai ini ke STANDARD_RESILIENCE.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
resilience_mode = "STANDARD_RESILIENCE"
}
}
Ganti kode berikut:
ENVIRONMENT_NAME: nama lingkungan Anda.LOCATION: region tempat lingkungan berada.
Contoh:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
resilience_mode = "STANDARD_RESILIENCE"
}
Memeriksa apakah lingkungan Anda berjalan dalam mode ketahanan tinggi
Konsol
Di konsol Google Cloud , buka halaman Environments.
Di daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Pilih tab Environment configuration.
Di bagian Resilience mode, lihat mode ketahanan lingkungan Anda.
gcloud
Untuk memeriksa apakah mode ketahanan tinggi diaktifkan di lingkungan Anda, jalankan perintah Google Cloud CLI berikut. Nilai True berarti mode ketahanan tinggi diaktifkan di lingkungan Anda.
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION \
--format="value(config.resilienceMode)"
Ganti kode berikut:
ENVIRONMENT_NAME: nama lingkungan Cloud Composer AndaLOCATION: region tempat lingkungan berada.
Langkah berikutnya
- Lakukan pengujian failover untuk lingkungan yang sangat andal.
- Pemulihan dari bencana dengan snapshot lingkungan