Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Halaman ini menjelaskan cara menyiapkan lingkungan Cloud Composer yang sangat tangguh.
Tentang ketahanan terhadap kegagalan zona di Cloud Composer
Lingkungan Cloud Composer yang sangat andal (Ketersediaan Tinggi) menggunakan mekanisme failover dan redundansi bawaan yang mengurangi kerentanan lingkungan terhadap kegagalan zona dan gangguan titik tunggal kegagalan.
Misalnya, gangguan zonal mengganggu tugas Airflow yang berjalan di zona tertentu. Setelah itu, lingkungan yang sangat tangguh akan dipulihkan, memulai ulang komponen yang terpengaruh di zona lain, dan mengalihkan databasenya 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.
Lingkungan yang sangat tangguh bersifat multi-zona dan berjalan di setidaknya dua zona dari region yang dipilih. Cloud Composer secara otomatis mendistribusikan komponen lingkungan Anda di antara zona.
Anda dapat menggunakan lingkungan Cloud Composer yang sangat tangguh untuk proses bisnis penting.
Tentang database dengan ketersediaan tinggi di lingkungan Anda
Di lingkungan Cloud Composer yang sangat tersedia, komponen Cloud SQL yang menyimpan database lingkungan Anda berjalan dalam mode ketersediaan tinggi. Instance utama dan instance standby Cloud SQL didistribusikan di antara zona.
Jika terjadi pemadaman layanan, instance Cloud SQL di lingkungan Anda akan melakukan failover database otomatis ke instance Cloud SQL standby. Anda tidak perlu melakukan tindakan tambahan apa pun di lingkungan Cloud Composer. Setelah zona utama beroperasi kembali, lingkungan akan beralih kembali ke dua zona (utama dan sekunder). Zona primer dan sekunder dapat ditukar dalam beberapa kasus. Instance Cloud SQL dalam mode ketersediaan tinggi menggunakan alamat IP yang sama setelah failover.
Tentang komponen Airflow dengan ketersediaan tinggi
Lingkungan yang sangat tangguh bersifat multi-zona dan berjalan di setidaknya dua zona dari region yang dipilih. Komponen berikut berjalan di zona terpisah:
Tepat dua penjadwal Airflow
Minimal dua pemicu (jika jumlah pemicu tidak disetel ke nol)
Dua server web
Jumlah minimum worker ditetapkan ke dua, dan cluster lingkungan Anda mendistribusikan instance worker di antara zona. Jika terjadi pemadaman layanan zona, instance pekerja yang terpengaruh akan dijadwalkan ulang di zona lain.
Untuk mengetahui informasi selengkapnya tentang arsitektur lingkungan yang sangat tangguh, lihat Arsitektur lingkungan yang sangat tangguh.
Sebelum memulai
-
Di Cloud Composer 2, ketahanan tinggi tersedia hanya di lingkungan IP Pribadi.
Lingkungan yang sangat tangguh ditawarkan dengan biaya inkremental jika dibandingkan dengan lingkungan reguler.
Lingkungan yang sangat tangguh tersedia di Cloud Composer versi 2.2.0 dan yang lebih baru.
Jika Anda ingin mengupdate lingkungan standar ke lingkungan yang sangat tangguh, pastikan lingkungan tersebut memenuhi persyaratan konfigurasi berikut. Jika lingkungan Anda tidak memenuhi persyaratan ini, Anda dapat memperbarui parameter skala dan performanya.
- Jumlah minimum pekerja Airflow adalah dua atau lebih.
Jumlah penjadwal Airflow tepatnya dua.
Jika Anda menggunakan operator yang dapat ditangguhkan di DAG, maka setidaknya dua pemicu.
Membuat lingkungan yang sangat tangguh
Untuk membuat lingkungan yang sangat tangguh, aktifkan mode ketahanan tinggi saat Anda membuat lingkungan.
Memperbarui lingkungan standar ke mode ketahanan tinggi
Konsol
Di Google Cloud console, buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Pilih tab Environment configuration.
Di bagian Mode pemulihan, klik Edit.
Pilih Ketahanan tinggi, lalu klik Simpan.
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:
Dalam parameter
updateMask
, tentukan maskerconfig.resilienceMode
.Dalam isi permintaan, tentukan
HIGH_RESILIENCE
untuk 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 tangguh 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 pekerja, penjadwal, atau pemicu Airflow.
Konsol
Di Google Cloud console, buka halaman Environments.
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Pilih tab Environment configuration.
Di bagian Mode pemulihan, klik Edit.
Pilih Ketahanan standar (default), lalu klik Simpan.
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:
Dalam parameter
updateMask
, tentukan maskerconfig.resilienceMode
.Dalam isi permintaan, tentukan
RESILIENCE_MODE_UNSPECIFIED
untuk 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"
}
Periksa apakah lingkungan Anda berjalan dalam mode ketahanan tinggi
Konsol
Di Google Cloud console, buka halaman Environments.
Dalam 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 tangguh Anda.
- Pemulihan dari bencana dengan snapshot lingkungan