Cloud Composer 1 | Cloud Composer 2
Halaman ini menjelaskan cara menyiapkan lingkungan Cloud Composer yang sangat andal.
Tentang ketahanan untuk kegagalan zona di Cloud Composer
Lingkungan Cloud Composer yang sangat andal adalah lingkungan Cloud Composer 2 yang menggunakan redundansi dan mekanisme failover bawaan yang mengurangi kerentanan lingkungan terhadap kegagalan zona dan penghentian titik tunggal kegagalan.
Misalnya, pemadaman zona mengganggu tugas Airflow yang berjalan di zona tertentu. Setelah itu, lingkungan yang sangat tangguh akan pulih, memulai ulang komponen yang terpengaruh di zona berbeda, dan mengalihkan database-nya ke zona sekunder. Dengan demikian, tugas Airflow yang gagal dapat dijadwalkan ulang dan dimulai ulang oleh Airflow, sekaligus mempertahankan histori operasi DAG dan setelan lainnya.
Lingkungan yang sangat tangguh berjalan di setidaknya dua zona dari region yang dipilih. Cloud Composer mendistribusikan komponen lingkungan Anda antar-zona secara otomatis.
Anda dapat menggunakan lingkungan Cloud Composer yang sangat tangguh untuk proses bisnis yang penting.
Tentang database lingkungan Anda yang sangat tersedia
Dalam lingkungan Cloud Composer yang sangat tersedia, instance Cloud SQL yang menyimpan database lingkungan Anda berjalan dalam mode ketersediaan tinggi. Instance Cloud SQL yang dikonfigurasi untuk ketersediaan tinggi juga disebut instance regional dan terletak di zona utama dan sekunder dalam region yang dikonfigurasi. Dalam instance regional, konfigurasi terdiri dari instance utama dan instance standby.
Jika terjadi pemadaman, 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 primer beroperasi kembali, lingkungan akan beralih kembali memiliki dua zona (primer dan sekunder). Zona utama dan sekunder dalam beberapa kasus dapat ditukar. Instance Cloud SQL dalam mode ketersediaan tinggi menggunakan alamat IP yang sama setelah failover.
Tentang komponen Airflow yang sangat tersedia
Lingkungan Cloud Composer yang sangat tersedia menjalankan komponen Airflow yang didistribusikan antar-zona.
Lingkungan Anda selalu menjalankan tepat dua penjadwal Airflow, dua server web, dan setidaknya dua pemicu (tetapi tidak lebih dari sepuluh) jika pemicu diaktifkan. Pasangan komponen ini berjalan di zona terpisah. Jumlah minimum pekerja ditetapkan ke dua, dan cluster lingkungan Anda mendistribusikan instance pekerja antarzona. Jika terjadinya pemadaman di zona, instance pekerja yang terpengaruh akan dijadwalkan ulang di zona yang berbeda.
Untuk informasi selengkapnya tentang arsitektur lingkungan yang sangat tangguh, lihat Arsitektur lingkungan yang sangat tangguh.
Sebelum memulai
Lingkungan yang sangat tangguh tersedia di Cloud Composer versi 2.2.0 dan yang lebih baru.
Lingkungan yang sangat tangguh hanya tersedia di lingkungan IP Pribadi dengan Cloud Composer 2.
Lingkungan Cloud Composer yang sangat tangguh ditawarkan dengan biaya tambahan jika dibandingkan dengan lingkungan reguler.
Jika Anda ingin mengupdate lingkungan standar ke lingkungan yang sangat tangguh, pastikan lingkungan tersebut memenuhi konfigurasi berikut:
- jumlah minimum pekerja Airflow ditetapkan ke 2 atau lebih
- tepat 2 penjadwal Airflow
- jika Anda perlu menggunakan operator yang dapat ditangguhkan di DAG, minimal 2 pemicu (tetapi tidak lebih dari 10)
Jika lingkungan Anda tidak memenuhi persyaratan ini, Anda dapat memperbarui setelannya terlebih dahulu. Lihat Menskalakan lingkungan.
Menciptakan lingkungan Cloud Composer yang sangat tangguh
Untuk menciptakan lingkungan yang sangat tangguh, aktifkan mode ketahanan tinggi saat Anda membuat lingkungan.
Memperbarui lingkungan standar ke mode ketahanan tinggi
Konsol
Di Konsol Google Cloud, buka halaman Environments.
Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.
Pilih tab Environment configuration.
Di bagian Resilience mode, 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 Cloud Composer AndaLOCATION
: region tempat lingkungan berada.
API
Buat permintaan environments.patch
API:
Gunakan string kueri
updateMask=config.resilienceMode
di URL untuk menandai kolom yang diperbarui oleh permintaan.Gunakan file JSON dalam isi permintaan untuk menetapkan kolom
resilienceMode
keHIGH_RESILIENCE
di resourceEnvironment
.
Contoh:
// PATCH https://composer.googleapis.com/v1/{name=projects/*/locations/*/environments/*}?updateMask=config.resilienceMode
{
"config": {
"resilience_mode": { "HIGH_RESILIENCE" }
}
}
Terraform
Menetapkan kolom resilience_mode
dalam blok 'config' akan mengaktifkan mode ketahanan tinggi.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
resilience_mode = "HIGH_RESILIENCE"
}
}
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 1.
- Menonaktifkan mode ketersediaan tinggi database Airflow lingkungan Anda.
Tidak mengubah setelan jumlah minimum pekerja, penjadwal, atau pemicu Airflow.
Konsol
Di Konsol Google Cloud, buka halaman Environments.
Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.
Pilih tab Environment configuration.
Di bagian Resilience mode, klik Edit.
Pilih Ketahanan standar (default) dan 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 environments.patch
API:
Gunakan string kueri
updateMask=config.resilienceMode
di URL untuk menandai kolom yang diperbarui oleh permintaan.Gunakan file JSON dalam isi permintaan untuk menetapkan kolom
resilienceMode
keRESILIENCE_MODE_UNSPECIFIED
di resourceEnvironment
.
Contoh:
// PATCH https://composer.googleapis.com/v1/{name=projects/*/locations/*/environments/*}?updateMask=config.resilienceMode
{
"config": {
"resilience_mode": { "RESILIENCE_MODE_UNSPECIFIED" }
}
}
Terraform
Kolom resilience_mode
dalam 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"
}
}
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.
Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.
Pilih tab Environment configuration.
Di bagian Mode ketahanan, 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 selanjutnya
- Jalankan pengujian failover untuk lingkungan Anda yang sangat tangguh.
- Pelajari pemulihan bencana dengan snapshot lingkungan.