Menyiapkan lingkungan Cloud Composer yang sangat tangguh

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

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Pilih tab Environment configuration.

  4. Di bagian Resilience mode, klik Edit.

  5. 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 Anda
  • LOCATION: 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 ke HIGH_RESILIENCE di resource Environment.

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

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Pilih tab Environment configuration.

  4. Di bagian Resilience mode, klik Edit.

  5. 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 Anda
  • LOCATION: 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 ke RESILIENCE_MODE_UNSPECIFIED di resource Environment.

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

  1. Di Konsol Google Cloud, buka halaman Environments.

    Buka Lingkungan

  2. Pada daftar lingkungan, klik nama lingkungan Anda. Halaman Detail lingkungan akan terbuka.

  3. Pilih tab Environment configuration.

  4. 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 Anda
  • LOCATION: region tempat lingkungan berada.

Langkah selanjutnya