Membuat lingkungan Cloud Composer

Cloud Composer 1 | Cloud Composer 2

Halaman ini menjelaskan cara membuat lingkungan Cloud Composer 2.

Lingkungan Cloud Composer adalah penginstalan Apache Airflow mandiri yang di-deploy ke cluster Google Kubernetes Engine yang terkelola. Anda dapat membuat satu atau beberapa lingkungan dalam satu project Google Cloud.

Sebelum memulai

  • Jika Anda membuat lingkungan dengan Terraform, akun layanan yang digunakan oleh Terraform harus memiliki peran dengan izin composer.environments.create yang diaktifkan.

    Untuk mengetahui informasi selengkapnya tentang akun layanan untuk Terraform, baca Referensi Konfigurasi Penyedia Google.

    Untuk mengetahui informasi lebih lanjut mengenai penggunaan Terraform untuk membuat lingkungan Cloud Composer, lihat dokumentasi Terraform.

    Untuk mengetahui informasi selengkapnya tentang parameter tambahan, lihat Referensi Argumen Terraform.

  • IP Pribadi: Ada persyaratan jaringan dan peering tertentu untuk membuat lingkungan IP Pribadi. Untuk informasi selengkapnya, lihat Mengonfigurasi IP pribadi.

  • VPC Bersama: Terdapat persyaratan jaringan khusus untuk menggunakan VPC Bersama dengan Cloud Composer. Untuk mengetahui informasinya, lihat Mengonfigurasi VPC bersama.

  • SC VPC: Untuk men-deploy lingkungan Cloud Composer di dalam perimeter keamanan, lihat bagian Mengonfigurasi SC VPC. Saat digunakan dengan Cloud Composer, Kontrol Layanan VPC memiliki beberapa batasan umum.

Langkah 1. Penyiapan dasar

Langkah ini akan membuat lingkungan Cloud Composer dengan parameter default di lokasi yang ditentukan.

Konsol

  1. Di konsol Google Cloud, buka halaman Create environment untuk Cloud Composer 2.

    Buka Buat lingkungan

  2. Di kolom Nama, masukkan nama untuk lingkungan Anda.

    Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Nama lingkungan digunakan untuk membuat subkomponen lingkungan. Jadi, Anda harus memberikan nama yang juga valid sebagai nama bucket Cloud Storage. Lihat Panduan penamaan bucket untuk mengetahui daftar batasan.

  3. Di menu drop-down Lokasi, pilih lokasi untuk lingkungan Anda.

    Lokasi adalah region tempat cluster GKE lingkungan berada.

  4. Di menu drop-down Image version, pilih image Cloud Composer dengan versi Airflow yang diperlukan.

gcloud

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version IMAGE_VERSION

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.

    Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Nama lingkungan digunakan untuk membuat subkomponen lingkungan. Jadi, Anda harus memberikan nama yang juga valid sebagai nama bucket Cloud Storage. Lihat Panduan penamaan bucket untuk mengetahui daftar batasan.

  • LOCATION dengan region untuk lingkungan.

    Lokasi adalah region tempat cluster GKE lingkungan berada.

  • IMAGE_VERSION dengan nama image Cloud Composer.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3

API

Buat permintaan environments.create API. Tentukan konfigurasi di resource Environment.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "softwareConfig": {
      "imageVersion": "IMAGE_VERSION"
    }
  }
}

Ganti:

  • PROJECT_ID dengan Project ID.

  • LOCATION dengan region untuk lingkungan.

    Lokasi adalah region tempat cluster GKE lingkungan berada.

  • ENVIRONMENT_NAME dengan nama lingkungan.

    Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Nama lingkungan digunakan untuk membuat subkomponen lingkungan. Jadi, Anda harus memberikan nama yang juga valid sebagai nama bucket Cloud Storage. Lihat Panduan penamaan bucket untuk mengetahui daftar batasan.

  • IMAGE_VERSION dengan nama image Cloud Composer.

Contoh:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "softwareConfig": {
      "imageVersion": "composer-2.6.6-airflow-2.6.3"
    }
  }
}

Terraform

Untuk membuat lingkungan dengan parameter default adalah lokasi yang ditentukan, tambahkan blok resource berikut ke konfigurasi Terraform Anda, lalu jalankan terraform apply.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    software_config {
      image_version = "IMAGE_VERSION"
    }
  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.

    Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Nama lingkungan digunakan untuk membuat subkomponen lingkungan. Jadi, Anda harus memberikan nama yang juga valid sebagai nama bucket Cloud Storage. Lihat Panduan penamaan bucket untuk mengetahui daftar batasan.

  • LOCATION dengan region untuk lingkungan.

    Lokasi adalah region tempat cluster GKE lingkungan berada.

  • IMAGE_VERSION dengan nama image Cloud Composer.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    software_config {
      image_version = "composer-2.6.6-airflow-2.6.3"
    }
  }
}

Langkah 2. (Opsional) Pilih akun layanan untuk lingkungan Anda

Cloud Composer mengikat akun layanan ini ke akun layanan Kubernetes lingkungan Anda. Node di cluster lingkungan Anda dijalankan sebagai akun layanan Kubernetes dan menggunakan binding untuk mengakses resource di project Google Cloud, seperti file definisi DAG di bucket lingkungan Anda.

Secara default, lingkungan Cloud Composer menggunakan akun layanan Compute Engine default. Sebaiknya Anda menyiapkan akun layanan yang dikelola pengguna untuk lingkungan Cloud Composer.

Anda tidak dapat mengubah akun layanan lingkungan Anda nanti.

Konsol

Di halaman Create environment, di menu drop-down Service account, pilih akun layanan untuk lingkungan Anda.

gcloud

Saat Anda membuat lingkungan, --service-account akan menentukan akun layanan untuk lingkungan Anda.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --service-account "SERVICE_ACCOUNT"

Ganti:

  • SERVICE_ACCOUNT dengan akun layanan untuk lingkungan Anda.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --service-account "example-account@example-project.iam.gserviceaccount.com"

API

Saat membuat lingkungan, di resource Environment > EnvironmentConfig, tentukan akun layanan untuk lingkungan Anda.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "nodeConfig": {
      "serviceAccount": "SERVICE_ACCOUNT"
    }
}

Ganti:

  • SERVICE_ACCOUNT dengan akun layanan untuk lingkungan Anda.

Contoh:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "nodeConfig": {
      "serviceAccount": "example-account@example-project.iam.gserviceaccount.com"
    }
  }
}

Terraform

Saat Anda membuat lingkungan, gunakan kolom service_account dalam blok node_config.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    node_config {
      service_account = "SERVICE_ACCOUNT"
    }
  }
}

Ganti:

  • SERVICE_ACCOUNT dengan akun layanan untuk lingkungan Anda.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    node_config {
      service_account = "example-account@example-project.iam.gserviceaccount.com"
    }
  }
}

Langkah 3. Memberikan izin yang diperlukan ke akun layanan Cloud Composer

Saat mengaktifkan Cloud Composer API di project Anda, akun Composer Service Agent akan dibuat di project Anda. Cloud Composer menggunakan akun ini untuk menjalankan operasi di project Google Cloud Anda.

Peran Ekstensi Agen Layanan Cloud Composer v2 API memberikan izin tambahan ke akun Agen Layanan Cloud Composer. Peran ini tidak diberikan secara otomatis. Anda harus memberikannya secara manual.

Konsol

Saat Anda membuat lingkungan di project, jika Agen Layanan Cloud Composer tidak memiliki izin yang diperlukan di akun layanan lingkungan tersebut, bagian Memberikan izin yang diperlukan ke akun layanan Cloud Composer akan muncul.

Anda menambahkan akun Agen Layanan Cloud Composer sebagai akun utama baru di akun layanan lingkungan Anda dan memberikan peran Cloud Composer v2 API Service Agent Extension ke akun tersebut.

Pastikan Anda menggunakan akun layanan yang diinginkan untuk lingkungan Anda, lalu klik Grant.

gcloud

Anda menambahkan akun Agen Layanan Cloud Composer sebagai akun utama baru di akun layanan lingkungan Anda dan memberikan peran Cloud Composer v2 API Service Agent Extension ke akun tersebut.

gcloud iam service-accounts add-iam-policy-binding \
    SERVICE_ACCOUNT \
    --member serviceAccount:service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com \
    --role roles/composer.ServiceAgentV2Ext

Ganti:

  • SERVICE_ACCOUNT dengan akun layanan untuk lingkungan Anda.
  • PROJECT_NUMBER dengan Nomor project.

Contoh:

gcloud iam service-accounts add-iam-policy-binding \
    example-account@example-project.iam.gserviceaccount.com \
    --member serviceAccount:service-00000000000@cloudcomposer-accounts.iam.gserviceaccount.com \
    --role roles/composer.ServiceAgentV2Ext

API

Untuk memberikan peran, Anda harus mengubah kebijakan izinkan yang ada menggunakan pola baca-modifikasi-tulis:

  1. Baca kebijakan izin yang ada untuk akun layanan lingkungan Anda.
  2. Ubah peran tersebut agar menyertakan peran roles/composer.ServiceAgentV2Ext untuk Agen Layanan Cloud Composer.
  3. Tulis ulang kebijakan izinkan yang ada.

Untuk mengetahui informasi selengkapnya, lihat Mengontrol akses secara terprogram.

{
  "role": "roles/composer.ServiceAgentV2Ext",
  "members": [
    "serviceAccount:service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com"
  ]
}

Ganti:

Contoh:

{
  "role": "roles/composer.ServiceAgentV2Ext",
  "members": [
    "serviceAccount:service-00000000000@cloudcomposer-accounts.iam.gserviceaccount.com"
  ]
}

Terraform

Tambahkan binding peran baru ke kebijakan izinkan akun layanan lingkungan Anda.

Anda menambahkan akun Agen Layanan Cloud Composer sebagai akun utama baru di akun layanan lingkungan Anda dan memberikan peran Cloud Composer v2 API Service Agent Extension ke akun tersebut.

Jika Anda tidak menggunakan Terraform untuk menentukan kebijakan izin akun layanan di lingkungan Anda, jangan gunakan contoh berikut. Sebagai gantinya, tambahkan binding ini menggunakan metode lain.

resource "google_service_account_iam_member" "custom_service_account" {
  provider = google-beta
  service_account_id = "SERVICE_ACCOUNT"
  role = "roles/composer.ServiceAgentV2Ext"
  member = "serviceAccount:service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com"
}

Ganti:

  • SERVICE_ACCOUNT dengan akun layanan untuk lingkungan Anda.
  • PROJECT_NUMBER dengan Nomor project.

Contoh:

resource "google_service_account_iam_member" "custom_service_account" {
  provider = google-beta
  service_account_id = "example-account@example-project.iam.gserviceaccount.com"
  role = "roles/composer.ServiceAgentV2Ext"
  member = "serviceAccount:service-00000000000@cloudcomposer-accounts.iam.gserviceaccount.com"
}

Langkah 4. (Opsional) Mengonfigurasi parameter performa dan skala lingkungan

Untuk menentukan konfigurasi skala dan performa bagi lingkungan Anda, pilih ukuran lingkungan dan konfigurasi workload.

Di Cloud Composer 2, Anda dapat mengubah semua parameter performa dan skala setelah membuat lingkungan.

Parameter berikut mengontrol skala dan performa:

  • Ukuran lingkungan. Mengontrol parameter performa infrastruktur Cloud Composer terkelola yang mencakup database Airflow. Sebaiknya pilih ukuran lingkungan yang lebih besar jika Anda ingin menjalankan DAG dan tugas dalam jumlah besar.

  • Konfigurasi beban kerja. Mengontrol skala dan performa komponen lingkungan yang berjalan di cluster GKE: Penjadwal Airflow, server web Airflow, dan pekerja Airflow.

    • Penjadwal aliran udara. Mengurai file definisi DAG, menjadwalkan operasi DAG berdasarkan interval jadwal, dan mengantrekan tugas untuk dieksekusi oleh pekerja Airflow.

      Lingkungan Anda dapat menjalankan lebih dari satu penjadwal Airflow secara bersamaan. Gunakan beberapa penjadwal untuk mendistribusikan beban di antara beberapa instance penjadwal untuk performa dan keandalan yang lebih baik.

      Anda dapat memiliki hingga 10 penjadwal di lingkungan Anda.

      Meningkatkan jumlah penjadwal tidak selalu meningkatkan performa Airflow. Misalnya, memiliki hanya satu penjadwal mungkin memberikan performa yang lebih baik daripada memiliki dua penjadwal. Hal ini dapat terjadi saat penjadwal tambahan tidak digunakan, sehingga menghabiskan resource lingkungan Anda tanpa berkontribusi pada performa keseluruhan. Performa penjadwal sebenarnya bergantung pada jumlah pekerja Airflow, jumlah DAG dan tugas yang berjalan di lingkungan Anda, serta konfigurasi Airflow dan lingkungan.

      Sebaiknya mulai dengan dua penjadwal, lalu pantau performa lingkungan Anda. Jika mengubah jumlah penjadwal, Anda selalu dapat menskalakan lingkungan kembali ke jumlah penjadwal asli.

      Untuk informasi selengkapnya tentang mengonfigurasi beberapa penjadwal, lihat dokumentasi Airflow.

    • Pemicu Airflow. Memantau semua tugas yang ditangguhkan di lingkungan Anda secara asinkron. Jika memiliki minimal satu instance pemicu di lingkungan (atau setidaknya dua instance di lingkungan yang sangat tangguh), Anda dapat menggunakan operator yang dapat ditangguhkan di DAG.

    • Server web Airflow. Menjalankan antarmuka web Airflow tempat Anda dapat memantau, mengelola, dan memvisualisasikan DAG.

    • Pekerja aliran udara. Menjalankan tugas yang dijadwalkan oleh penjadwal Airflow. Jumlah minimum dan maksimum pekerja di lingkungan Anda berubah secara dinamis, bergantung pada jumlah tugas dalam antrean.

Konsol

Anda dapat memilih preset untuk lingkungan Anda. Saat Anda memilih preset, parameter skala dan performa untuk preset tersebut akan otomatis dipilih. Anda juga memiliki opsi untuk memilih preset kustom dan menentukan semua parameter skala dan performa untuk lingkungan Anda.

Untuk memilih konfigurasi skala dan performa bagi lingkungan Anda, di halaman Create environment:

  • Untuk menggunakan nilai yang telah ditetapkan, di bagian Environment resources, klik Small, Medium, atau Large.

  • Untuk menentukan nilai kustom untuk parameter skala dan performa:

    1. Di bagian Environment resources, klik Custom.

    2. Di bagian Scheduler, tetapkan jumlah penjadwal yang ingin Anda gunakan, serta alokasi resource untuk CPU, memori, dan penyimpanannya.

    3. Di bagian Pemicu, gunakan kolom Jumlah pemicu untuk memasukkan jumlah pemicu di lingkungan Anda. Anda dapat menetapkan angka ini ke 0 jika tidak ingin menggunakan operator yang dapat ditangguhkan di DAG.

      Jika Anda menetapkan setidaknya satu pemicu untuk lingkungan, gunakan kolom CPU, dan Memory untuk mengonfigurasi alokasi resource untuk pemicu Anda.

    4. Di bagian Worker, tentukan:

      • jumlah minimum dan maksimum worker untuk batas penskalaan otomatis di lingkungan Anda
      • alokasi CPU, memori, dan penyimpanan untuk pekerja Anda
    5. Di bagian Core infrastructure, pada menu drop-down Environment size, pilih ukuran lingkungan.

gcloud

Saat membuat lingkungan, tetapkan argumen berikut untuk mengontrol parameter skala dan performa lingkungan Anda.

  • --environment-size menentukan ukuran lingkungan.
  • --scheduler-count menentukan jumlah penjadwal.
  • --scheduler-cpu menentukan jumlah CPU untuk penjadwal Airflow.
  • --scheduler-memory menentukan jumlah memori untuk penjadwal Airflow.
  • --scheduler-storage menentukan jumlah kapasitas disk untuk penjadwal Airflow.

  • --triggerer-count menentukan jumlah pemicu Airflow di lingkungan Anda. Nilai default untuk tanda ini adalah 0. Anda memerlukan pemicu jika ingin menggunakan operator yang dapat ditangguhkan di DAG.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tahan, gunakan 0 atau nilai antara 2 dan 10.

      Secara default, pemicu dibuat dengan vCPU 0.5 default dan alokasi memori 0.5 GB. Gunakan flag --triggerer-cpu dan --triggerer-memory untuk menentukan alokasi resource yang berbeda untuk pemicu:

      • --triggerer-cpu menentukan jumlah CPU untuk pemicu Airflow, dalam unit vCPU. Nilai yang diizinkan: 0.5, 0.75, 1.

      • --triggerer-memory menentukan jumlah memori untuk pemicu Airflow. Memori minimum yang diperlukan sama dengan jumlah CPU yang dialokasikan untuk pemicu. Nilai maksimum yang diizinkan sama dengan jumlah CPU pemicu dikalikan dengan 6,5.

        Misalnya, jika Anda menetapkan tanda --triggerer-cpu ke 1, nilai minimum untuk --triggerer-memory adalah 1 dan nilai maksimum adalah 6.5.

  • --web-server-cpu menentukan jumlah CPU untuk server web Airflow.

  • --web-server-memory menentukan jumlah memori untuk server web Airflow.

  • --web-server-storage menentukan jumlah ruang disk untuk server web Airflow.

  • --worker-cpu menentukan jumlah CPU untuk pekerja Airflow.

  • --worker-memory menentukan jumlah memori untuk pekerja Airflow.

  • --worker-storage menentukan jumlah kapasitas disk untuk pekerja Airflow.

  • --min-workers menentukan jumlah minimum pekerja Airflow. Cluster lingkungan Anda menjalankan setidaknya jumlah pekerja ini.

  • --max-workers menentukan jumlah maksimum pekerja Airflow. Cluster lingkungan Anda menjalankan maksimal jumlah pekerja ini.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --environment-size ENVIRONMENT_SIZE \
    --scheduler-count SCHEDULER_COUNT \
    --scheduler-cpu SCHEDULER_CPU \
    --scheduler-memory SCHEDULER_MEMORY \
    --scheduler-storage SCHEDULER_STORAGE \
    --triggerer-count TRIGGERER_COUNT \
    --triggerer-cpu TRIGGERER_CPU \
    --triggerer-memory TRIGGERER_MEMORY \
    --web-server-cpu WEB_SERVER_CPU \
    --web-server-memory WEB_SERVER_MEMORY \
    --web-server-storage WEB_SERVER_STORAGE \
    --worker-cpu WORKER_CPU \
    --worker-memory WORKER_MEMORY \
    --worker-storage WORKER_STORAGE \
    --min-workers WORKERS_MIN \
    --max-workers WORKERS_MAX

Ganti:

  • ENVIRONMENT_SIZE dengan small, medium, atau large.
  • SCHEDULER_COUNT dengan jumlah penjadwal.
  • SCHEDULER_CPU dengan jumlah CPU untuk penjadwal, dalam unit vCPU.
  • SCHEDULER_MEMORY dengan jumlah memori untuk penjadwal.
  • SCHEDULER_STORAGE dengan ukuran disk untuk penjadwal.
  • TRIGGERER_COUNT dengan jumlah pemicu.
  • TRIGGERER_CPU dengan jumlah CPU untuk pemicu, dalam unit vCPU.
  • TRIGGERER_MEMORY dengan jumlah memori untuk pemicu, dalam GB.
  • WEB_SERVER_CPU dengan jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY dengan jumlah memori untuk server web.
  • WEB_SERVER_STORAGE dengan jumlah memori untuk server web.
  • WORKER_CPU dengan jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY dengan jumlah memori untuk pekerja.
  • WORKER_STORAGE dengan ukuran disk untuk pekerja.
  • WORKERS_MIN dengan jumlah minimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.
  • WORKERS_MAX dengan jumlah maksimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun diperlukan jumlah pekerja yang lebih tinggi untuk menangani beban.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --environment-size small \
    --scheduler-count 1 \
    --scheduler-cpu 0.5 \
    --scheduler-memory 2.5GB \
    --scheduler-storage 2GB \
    --triggerer-count 1 \
    --triggerer-cpu 0.5 \
    --triggerer-memory 0.5GB \
    --web-server-cpu 1 \
    --web-server-memory 2.5GB \
    --web-server-storage 2GB \
    --worker-cpu 1 \
    --worker-memory 2GB \
    --worker-storage 2GB \
    --min-workers 2 \
    --max-workers 4

API

Saat Anda membuat lingkungan, di resource Environment > EnvironmentConfig > WorkloadsConfig, tentukan parameter skala dan performa lingkungan.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "workloadsConfig": {
      "scheduler": {
        "cpu": SCHEDULER_CPU,
        "memoryGb": SCHEDULER_MEMORY,
        "storageGb": SCHEDULER_STORAGE,
        "count": SCHEDULER_COUNT
      },
      "triggerer": {
        "count": TRIGGERER_COUNT,
        "cpu": TRIGGERER_CPU,
        "memoryGb": TRIGGERER_MEMORY
      },
      "webServer": {
        "cpu": WEB_SERVER_CPU,
        "memoryGb": WEB_SERVER_MEMORY,
        "storageGb": WEB_SERVER_STORAGE
      },
      "worker": {
        "cpu": WORKER_CPU,
        "memoryGb": WORKER_MEMORY,
        "storageGb": WORKER_STORAGE,
        "minCount": WORKERS_MIN,
        "maxCount": WORKERS_MAX
      }
    },
    "environmentSize": "ENVIRONMENT_SIZE"
  }
}

Ganti:

  • SCHEDULER_CPU dengan jumlah CPU untuk penjadwal, dalam unit vCPU.
  • SCHEDULER_MEMORY dengan jumlah memori untuk penjadwal, dalam GB.
  • SCHEDULER_STORAGE dengan ukuran disk untuk penjadwal, dalam GB.
  • SCHEDULER_COUNT dengan jumlah penjadwal.
  • TRIGGERER_COUNT dengan jumlah pemicu. Nilai defaultnya adalah 0. Anda memerlukan pemicu jika ingin menggunakan operator yang dapat ditangguhkan di DAG.

    • Untuk lingkungan ketahanan standar, gunakan nilai antara 0 dan 10.
    • Untuk lingkungan yang sangat tahan, gunakan 0, atau nilai antara 2 dan 10.

      Jika menggunakan setidaknya satu pemicu, Anda juga harus menentukan parameter TRIGGERER_CPU dan TRIGGERER_MEMORY:

      • TRIGGERER_CPU mengonfigurasi jumlah CPU untuk pemicu, dalam unit vCPU. Nilai yang diizinkan: 0.5, 0.75, 1.

      • TRIGGERER_MEMORY mengonfigurasi jumlah memori untuk pemicu. Memori minimum yang diperlukan sama dengan jumlah CPU yang dialokasikan untuk pemicu. Nilai maksimum yang diizinkan sama dengan jumlah CPU pemicu dikalikan dengan 6,5.

        Misalnya, jika Anda menetapkan TRIGGERER_CPU ke 1, nilai minimum untuk TRIGGERER_MEMORY adalah 1 dan nilai maksimum adalah 6.5.

  • WEB_SERVER_CPU dengan jumlah CPU untuk server web, dalam unit vCPU.

  • WEB_SERVER_MEMORY dengan jumlah memori untuk server web, dalam GB.

  • WEB_SERVER_STORAGE dengan ukuran disk untuk server web, dalam GB.

  • WORKER_CPU dengan jumlah CPU untuk pekerja, dalam unit vCPU.

  • WORKER_MEMORY dengan jumlah memori untuk pekerja, dalam GB.

  • WORKER_STORAGE dengan ukuran disk untuk pekerja, dalam GB.

  • WORKERS_MIN dengan jumlah minimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.

  • WORKERS_MAX dengan jumlah maksimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun diperlukan jumlah pekerja yang lebih tinggi untuk menangani beban.

  • ENVIRONMENT_SIZE dengan ukuran lingkungan, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM, atau ENVIRONMENT_SIZE_LARGE.

Contoh:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "workloadsConfig": {
      "scheduler": {
        "cpu": 2.5,
        "memoryGb": 2.5,
        "storageGb": 2,
        "count": 1
      },
      "triggerer": {
        "cpu": 0.5,
        "memoryGb": 0.5,
        "count": 1
      },
      "webServer": {
        "cpu": 1,
        "memoryGb": 2.5,
        "storageGb": 2
      },
      "worker": {
        "cpu": 1,
        "memoryGb": 2,
        "storageGb": 2,
        "minCount": 2,
        "maxCount": 4
      }
    },
    "environmentSize": "ENVIRONMENT_SIZE_SMALL"
  }
}

Terraform

Saat Anda membuat lingkungan, argumen berikut akan mengontrol parameter skala dan performa lingkungan Anda.

  • Di blok config:

    • Kolom environment_size mengontrol ukuran lingkungan.
  • Di blok workloads_config:

    • Kolom scheduler.cpu menentukan jumlah CPU untuk penjadwal Airflow.
    • Kolom scheduler.memory_gb menentukan jumlah memori untuk penjadwal Airflow.
    • Kolom scheduler.storage_gb menentukan jumlah kapasitas disk untuk penjadwal.
    • Kolom scheduler.count menentukan jumlah penjadwal di lingkungan Anda.
    • Kolom triggerer.cpu menentukan jumlah CPU untuk pemicu Airflow.
    • Kolom triggerer.memory_gb menentukan jumlah memori untuk pemicu Airflow.
    • Kolom triggerer.count menentukan jumlah pemicu di lingkungan Anda.
    • Kolom web_server.cpu menentukan jumlah CPU untuk server web Airflow.
    • Kolom web_server.memory_gb menentukan jumlah memori untuk server web Airflow.
    • Kolom web_server.storage_gb menentukan jumlah kapasitas disk untuk server web Airflow.
    • Kolom worker.cpu menentukan jumlah CPU untuk pekerja Airflow.
    • Kolom worker.memory_gb menentukan jumlah memori untuk pekerja Airflow.
    • Kolom worker.storage_gb menentukan jumlah kapasitas disk untuk pekerja Airflow.
    • Kolom worker.min_count menentukan jumlah minimum pekerja di lingkungan Anda.
    • Kolom worker.max_count menentukan jumlah maksimum pekerja di lingkungan Anda.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {

      scheduler {
        cpu = SCHEDULER_CPU
        memory_gb = SCHEDULER_MEMORY
        storage_gb = SCHEDULER_STORAGE
        count = SCHEDULER_COUNT
      }
      triggerer {
        count = TRIGGERER_COUNT
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
      }
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
      worker {
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
        min_count = WORKERS_MIN
        max_count = WORKERS_MAX
      }
    }

    environment_size = "ENVIRONMENT_SIZE"

  }
}

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • LOCATION dengan region tempat lingkungan berada.
  • SCHEDULER_CPU dengan jumlah CPU untuk penjadwal, dalam unit vCPU.
  • SCHEDULER_MEMORY dengan jumlah memori untuk penjadwal, dalam GB.
  • SCHEDULER_STORAGE dengan ukuran disk untuk penjadwal, dalam GB.
  • SCHEDULER_COUNT dengan jumlah penjadwal.
  • TRIGGERER_COUNT dengan jumlah pemicu.
  • TRIGGERER_CPU dengan jumlah CPU untuk pemicu, dalam unit vCPU.
  • TRIGGERER_MEMORY dengan jumlah memori untuk pemicu, dalam GB.
  • WEB_SERVER_CPU dengan jumlah CPU untuk server web, dalam unit vCPU.
  • WEB_SERVER_MEMORY dengan jumlah memori untuk server web, dalam GB.
  • WEB_SERVER_STORAGE dengan ukuran disk untuk server web, dalam GB.
  • WORKER_CPU dengan jumlah CPU untuk pekerja, dalam unit vCPU.
  • WORKER_MEMORY dengan jumlah memori untuk pekerja, dalam GB.
  • WORKER_STORAGE dengan ukuran disk untuk pekerja, dalam GB.
  • WORKERS_MIN dengan jumlah minimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban.
  • WORKERS_MAX dengan jumlah maksimum pekerja Airflow yang dapat dijalankan lingkungan Anda. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun diperlukan jumlah pekerja yang lebih tinggi untuk menangani beban.
  • ENVIRONMENT_SIZE dengan ukuran lingkungan, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM, atau ENVIRONMENT_SIZE_LARGE.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {

      scheduler {
        cpu = 2.5
        memory_gb = 2.5
        storage_gb = 2
        count = 1
      }
      triggerer {
        count = 1
        cpu = 0.5
        memory_gb = 0.5
      }
      web_server {
        cpu = 1
        memory_gb = 2.5
        storage_gb = 2
      }
      worker {
        cpu = 1
        memory_gb = 2
        storage_gb = 2
        min_count = 2
        max_count = 4
      }
    }

    environment_size = "ENVIRONMENT_SIZE_SMALL"

  }
}

Langkah 5. (Opsional) Mengaktifkan mode ketahanan tinggi

Lingkungan Cloud Composer yang sangat tangguh adalah lingkungan Cloud Composer 2 yang menggunakan mekanisme redundansi dan failover bawaan yang mengurangi kerentanan lingkungan terhadap kegagalan zona dan titik tunggal pemadaman kegagalan.

Lingkungan yang sangat tangguh berjalan di minimal dua zona dari region yang dipilih. Hanya dua penjadwal Airflow, dua server web, dan setidaknya dua pemicu (jika jumlah pemicu tidak ditetapkan ke 0) berjalan di zona terpisah. Jumlah minimum pekerja ditetapkan ke dua, dan cluster lingkungan Anda mendistribusikan instance pekerja di antara zona. Jika terjadi pemadaman layanan di zona tertentu, instance pekerja yang terpengaruh akan dijadwalkan ulang di zona yang berbeda. Database Cloud SQL dari lingkungan yang sangat tangguh adalah instance regional yang memiliki instance utama dan instance standby.

Konsol

Di halaman Create environment:

  1. Di bagian Mode tahan, pilih Ketahanan tinggi.

  2. Di bagian Environment resources, pilih parameter skala untuk lingkungan yang sangat tangguh. Lingkungan yang sangat tangguh memerlukan persis dua penjadwal, nol atau antara dua dan sepuluh pemicu, dan setidaknya dua pekerja:

    1. Klik Custom.

    2. Di menu drop-down Number of schedulers, pilih 2.

    3. Di menu drop-down Jumlah pemicu, pilih 0, atau nilai antara 2 dan 10. Konfigurasikan alokasi CPU dan Memori untuk pemicu Anda.

    4. Di menu drop-down Minimum number of worker, pilih 2 atau lebih, bergantung pada jumlah pekerja yang diperlukan.

  3. Di bagian Konfigurasi jaringan:

    1. Di bagian Networking type, pilih Private IP environment.

    2. Jika diperlukan, tentukan parameter jaringan lainnya.

gcloud

Saat Anda membuat lingkungan, argumen --enable-high-resilience akan mengaktifkan mode ketahanan tinggi.

Tetapkan argumen berikut:

  • --enable-high-resilience
  • --enable-private-environment, dan parameter jaringan lainnya untuk lingkungan IP Pribadi, jika diperlukan
  • --scheduler-count ke 2
  • --triggerer-count sampai 0 atau angka antara 2 dan 10

Jika Anda menggunakan pemicu, tanda --triggerer-cpu dan --triggerer-memory juga diperlukan untuk pembuatan lingkungan:

- `--triggerer-cpu` specifies the number of CPUs for an Airflow triggerer.
Allowed values: `0.5`, `0.75`, `1`.

- `--triggerer-memory` specifies the amount of memory for an Airflow
triggerer. The minimum required memory is equal to the number of
CPUs allocated for the triggerers. The maximum allowed value is
equal to the number of triggerer CPUs multiplied by 6.5.

For example, if you set the `--triggerer-cpu` flag to `1`, the
**minimum value** for `--triggerer-memory` is `1` and the
**maximum value** is `6.5`.
  • --min-workers hingga 2 atau lebih
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --enable-high-resilience \
    --enable-private-environment \
    --scheduler-count 2 \
    --triggerer-count 2 \
    --triggerer-cpu 0.5 \
    --triggerer-memory 0.5 \
    --min-workers 2

API

Saat Anda membuat lingkungan, di resource Environment > EnvironmentConfig, aktifkan mode ketahanan tinggi.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "resilience_mode": "HIGH_RESILIENCE"
  }
}

Contoh:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "resilience_mode": "HIGH_RESILIENCE"
  }
}

Terraform

Saat Anda membuat lingkungan, 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"

}

Langkah 6. (Opsional) Menentukan zona untuk database lingkungan

Anda dapat menentukan zona Cloud SQL pilihan saat membuat lingkungan ketahanan standar.

Konsol

Di halaman Create environment:

  1. Di bagian Advanced configuration, luaskan item Show advanced configuration.

  2. Dalam daftar Airflow database zone, pilih zona Cloud SQL yang diinginkan.

gcloud

Saat Anda membuat lingkungan, argumen --cloud-sql-preferred-zone akan menentukan zona Cloud SQL pilihan.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --cloud-sql-preferred-zone SQL_ZONE

Ganti kode berikut:

  • SQL_ZONE: zona Cloud SQL pilihan. Zona ini harus berada di region tempat lingkungan berada.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --cloud-sql-preferred-zone us-central1-a

API

Saat Anda membuat lingkungan, di resource Environment > DatabaseConfig, tentukan zona Cloud SQL yang diinginkan.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "databaseConfig": {
      "zone": "SQL_ZONE"
    }
  }
}

Ganti kode berikut:

  • SQL_ZONE: zona Cloud SQL pilihan. Zona ini harus berada di region tempat lingkungan berada.

Contoh:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "databaseConfig": {
      "zone": "us-central1-a"
    }
  }
}

Terraform

Saat Anda membuat lingkungan, kolom zone dalam blok database_config menentukan zona Cloud SQL pilihan.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    database_config {
      zone = "SQL_ZONE"
    }
  }
}

Ganti kode berikut:

  • SQL_ZONE: zona Cloud SQL pilihan. Zona ini harus berada di region tempat lingkungan berada.

Langkah 7. (Opsional) Mengonfigurasi jaringan lingkungan Anda

Parameter jaringan bergantung pada jenis lingkungan yang ingin Anda buat:

  • Lingkungan IP publik menggunakan parameter jaringan default.

  • Lingkungan IP pribadi (dengan PSC). Dalam konfigurasi ini, lingkungan Anda menggunakan Private Service Connect untuk konektivitas.

    Konfigurasi lingkungan IP Pribadi Anda:

    1. Mengonfigurasi jaringan project untuk lingkungan IP Pribadi.
    2. Konfigurasikan Private Service Connect saat membuat lingkungan Anda.
    3. Tentukan parameter lain untuk lingkungan IP Pribadi Anda, seperti yang dijelaskan lebih lanjut di bagian ini.

    Untuk lingkungan IP Pribadi dengan PSC, Anda perlu mengetahui:

    • ID jaringan VPC Anda
    • ID subnetwork VPC Anda
    • Dua rentang IP sekunder di subnetwork VPC Anda:

      • Rentang IP sekunder untuk pod
      • Rentang IP sekunder untuk layanan
    • Rentang IP untuk komponen lingkungan:

      • Rentang IP Bidang Kontrol GKE. Rentang IP untuk bidang kontrol GKE.
      • Subnetwork koneksi Cloud Composer. Rentang IP untuk subnetwork koneksi Cloud Composer.
  • Lingkungan IP pribadi (peering VPC). Dalam konfigurasi ini, lingkungan Anda menggunakan peering VPC untuk konektivitas.

    Konfigurasi lingkungan IP Pribadi Anda:

    1. Mengonfigurasi jaringan project untuk lingkungan IP Pribadi.
    2. Tentukan parameter lain untuk lingkungan IP Pribadi Anda, seperti yang dijelaskan lebih lanjut di bagian ini.

    Untuk lingkungan IP Pribadi dengan peering VPC, Anda perlu mengetahui:

    • ID jaringan VPC Anda
    • ID subnetwork VPC Anda
    • Dua rentang IP sekunder di subnetwork VPC Anda:

      • Rentang IP sekunder untuk pod
      • Rentang IP sekunder untuk layanan
    • Rentang IP untuk komponen lingkungan:

      • Rentang IP untuk bidang kontrol GKE.

      • Rentang IP untuk peering VPC yang akan diekspor dari jaringan Cloud Composer internal ke jaringan yang dipilih. Komponen infrastruktur Cloud Composer menggunakan alamat IP dari rentang ini.

      • Rentang IP untuk instance Cloud SQL.

  • Untuk lingkungan VPC Bersama, Anda harus melakukan penyiapan jaringan tambahan untuk project host, lalu membuat lingkungan IP Publik atau Pribadi dalam project layanan. Ikuti petunjuk di halaman Mengonfigurasi VPC Bersama.

    Untuk lingkungan VPC Bersama, Anda perlu mengetahui:

    • ID jaringan VPC project host Anda
    • ID subnetwork VPC project host Anda
    • Dua rentang IP sekunder di subnetwork VPC project host Anda:

      • Rentang IP sekunder untuk pod
      • Rentang IP sekunder untuk layanan

    Saat membuat lingkungan VPC Bersama IP Publik, Anda masih perlu menentukan jaringan VPC project host, subnetwork, dan rentang IP sekunder untuk pod dan layanan.

  • Untuk membuat lingkungan SC VPC, Anda harus membuat perimeter layanan, lalu membuat lingkungan IP Pribadi di dalam perimeter ini. Ikuti petunjuk yang diuraikan dalam Mengonfigurasi Kontrol Layanan VPC.

  • Opsi jaringan tambahan untuk lingkungan adalah:

    • Alamat IP publik yang digunakan secara pribadi. Jika ingin menggunakan lebih banyak alamat IP, lingkungan Anda dapat menggunakan rentang alamat IP publik tertentu secara pribadi sebagai rentang alamat IP subnet internal untuk pod dan layanan.
    • Jaringan yang diizinkan. Jika ingin mengakses bidang kontrol lingkungan IP Pribadi menggunakan HTTPS, Anda dapat menggunakan jaringan yang diizinkan untuk menentukan rentang CIDR yang dapat melakukannya.

    • Agen Penyamaran IP. Dengan menggunakan lingkungan dengan agen IP Masquerade, Anda dapat menggunakan terjemahan alamat IP many-to-one dalam konfigurasi jaringan lingkungan Anda. Untuk mengetahui informasi selengkapnya tentang cara membuat lingkungan dengan agen IP Masquerade, lihat Mengaktifkan agen IP Masquerade.

Konsol

Untuk membuat lingkungan IP Pribadi:

  1. Pastikan jaringan Anda dikonfigurasi untuk jenis lingkungan yang ingin Anda buat.

  2. Di bagian Network configuration, luaskan item Show network configuration.

  3. Dalam menu drop-down Network, pilih ID jaringan VPC Anda.

  4. Dalam menu drop-down Subnetwork, pilih ID subnetwork VPC Anda.

  5. Di bagian Rentang IP sekunder untuk pod, pilih atau tentukan rentang IP sekunder untuk pod. Anda dapat menggunakan rentang sekunder yang sudah ada di jaringan VPC, atau memilih untuk menggunakan rentang yang dibuat otomatis.

  6. Di bagian Secondary IP range for services, pilih atau tentukan rentang IP sekunder untuk layanan. Anda dapat menggunakan rentang sekunder yang sudah ada di jaringan VPC, atau memilih untuk menggunakan rentang yang dibuat otomatis.

  7. Di bagian Networking type, pilih opsi Private IP environment untuk membuat lingkungan IP Pribadi.

  8. Di bagian Konektivitas Compose, pilih jenis jaringan untuk lingkungan Anda dan tentukan rentang IP untuk komponen lingkungan:

    Untuk lingkungan yang menggunakan Private Service Connect:

    1. Pilih Private Service Connect untuk lingkungan yang menggunakan Private Service Connect.

    2. Di bagian Subnetwork koneksi Compose, tentukan rentang IP untuk subnetwork koneksi Cloud Composer. Alamat untuk endpoint PSC dipilih dari rentang ini. Anda dapat menentukan rentang kustom, atau memilih untuk menggunakan rentang default.

    Untuk lingkungan yang menggunakan peering VPC:

    1. Pilih peering VPC untuk lingkungan yang menggunakan peering VPC.

    2. Di bagian IP range for Composer tenant network, tentukan rentang IP untuk jaringan tenant Cloud Composer. Jaringan ini menghosting komponen proxy SQL lingkungan Anda. Anda dapat menentukan rentang kustom, atau memilih untuk menggunakan rentang default.

    3. Di bagian Rentang IP untuk jaringan Cloud SQL, tentukan rentang IP untuk instance Cloud SQL. Anda dapat menentukan rentang kustom, atau memilih untuk menggunakan rentang default.

  9. Di bagian IP rentang untuk jaringan bidang kontrol GKE, tentukan rentang IP untuk bidang kontrol GKE:

    • Agar dapat menggunakan rentang IP default untuk region tempat lingkungan Anda berada, pilih Default IP range.

    • Untuk menentukan rentang IP kustom, pilih Custom IP range, lalu masukkan rentang dalam notasi CIDR di kolom GKE cluster master private IP.

  10. Pilih akses level untuk bidang kontrol GKE. Bidang kontrol memiliki dua endpoint. Satu endpoint bersifat pribadi, untuk digunakan oleh node cluster dan VM. Endpoint lain adalah publik. Anda dapat menentukan tingkat akses untuk endpoint publik:

    • Untuk mengaktifkan akses ke endpoint publik dari jaringan yang diizinkan, pilih kotak centang Akses endpoint bidang kontrol cluster menggunakan alamat IP eksternalnya.

      Penggunaan opsi ini akan menetapkan tingkat akses untuk bidang kontrol ke "Public endpoint access enabled, allowed networks enabled". Hal ini memberikan akses terbatas ke bidang kontrol dari jaringan yang diizinkan. Secara default, tidak ada alamat IP sumber yang ditentukan. Anda dapat menambahkan jaringan yang diizinkan ke pembeli.

    • Untuk menonaktifkan akses ke endpoint publik dari jaringan yang diizinkan, hapus centang pada kotak Akses endpoint bidang kontrol cluster menggunakan alamat IP eksternalnya.

      Penggunaan opsi ini akan menetapkan tingkat akses untuk bidang kontrol ke "Public endpoint access disabled". Tindakan ini akan mencegah semua akses internet ke bidang kontrol.

gcloud

Pastikan jaringan Anda dikonfigurasi untuk jenis lingkungan yang ingin Anda buat.

Saat Anda membuat lingkungan, argumen berikut mengontrol parameter jaringan. Jika Anda menghilangkan parameter, nilai default akan digunakan.

  • --enable-private-environment mengaktifkan lingkungan IP Pribadi.

  • --network menentukan ID jaringan VPC Anda.

  • --subnetwork menentukan ID subnetwork VPC Anda.

  • --cluster-secondary-range-name atau --cluster-ipv4-cidr mengonfigurasi rentang sekunder untuk pod.

  • --services-secondary-range-name atau --services-ipv4-cidr guna mengonfigurasi rentang sekunder untuk layanan.

  • --master-ipv4-cidr menentukan rentang untuk bidang kontrol GKE.

  • (Environments with PSC) --connection-subnetwork menentukan rentang untuk subnetwork koneksi Cloud Composer, yang menghosting endpoint PSC.

  • (Lingkungan dengan peering VPC) --composer-network-ipv4-cidr menentukan rentang untuk jaringan tenant Cloud Composer. Jaringan ini menghosting komponen proxy SQL lingkungan Anda.

  • (Lingkungan dengan peering VPC) --cloud-sql-ipv4-cidr menentukan rentang untuk instance Cloud SQL.

  • --enable-private-endpoint mengontrol akses level untuk bidang kontrol GKE. Bidang kontrol memiliki dua titik akhir. Satu endpoint bersifat pribadi untuk digunakan oleh node cluster dan VM. Endpoint lain adalah publik. Anda dapat menentukan tingkat akses untuk endpoint publik:

    • Untuk mengaktifkan akses ke endpoint publik dari jaringan yang diizinkan, hapus argumen --enable-private-endpoint.

      Penggunaan opsi ini akan menetapkan tingkat akses untuk bidang kontrol ke "Public endpoint access enabled, allowed networks enabled". Hal ini menyediakan akses terbatas ke bidang kontrol dari jaringan yang diizinkan. Secara default, tidak ada alamat IP sumber yang ditentukan. Anda dapat menambahkan jaringan yang diizinkan ke pelanggan.

    • Untuk menonaktifkan akses ke endpoint publik dari jaringan yang diizinkan, tentukan argumen --enable-private-endpoint.

      Penggunaan opsi ini akan menetapkan tingkat akses untuk bidang kontrol ke "Public endpoint access disabled". Tindakan ini akan mencegah semua akses internet ke bidang kontrol.

  • --enable-ip-masq-agent mengaktifkan agen IP Masquerade.

gcloud composer environments create ENVIRONMENT_NAME \
  --location LOCATION \
  --image-version composer-2.6.6-airflow-2.6.3 \
  --enable-private-environment \
  --network NETWORK_ID \
  --subnetwork SUBNETWORK_ID \
  --cluster-ipv4-cidr PODS_RANGE \
  --services-ipv4-cidr SERVICES_RANGE \
  --master-ipv4-cidr CONTROL_PLANE_RANGE \
  --connection-subnetwork COMPOSER_PSC_RANGE \

Ganti:

  • NETWORK_ID dengan ID jaringan VPC Anda.
  • SUBNETWORK_ID dengan ID subnetwork VPC Anda.
  • PODS_RANGE dengan rentang sekunder untuk pod.
  • SERVICES_RANGE dengan rentang sekunder untuk layanan.
  • CONTROL_PLANE_RANGE dengan rentang sekunder untuk bidang kontrol GKE.

  • COMPOSER_PSC_RANGE dengan rentang untuk subnetwork koneksi Cloud Composer.

Langkah 8. (Opsional) Menambahkan tag jaringan

Tag jaringan diterapkan ke semua VM node di cluster lingkungan Anda. Tag digunakan untuk mengidentifikasi sumber atau target yang valid untuk firewall jaringan. Setiap tag dalam daftar harus mematuhi RFC 1035.

Misalnya, Anda mungkin ingin menambahkan tag jaringan jika berencana membatasi traffic untuk lingkungan IP Pribadi dengan aturan firewall.

Konsol

Di halaman Create environment:

  1. Cari bagian Konfigurasi jaringan.
  2. Di kolom Tag jaringan, masukkan tag jaringan untuk lingkungan Anda.

gcloud

Saat Anda membuat lingkungan, argumen berikut akan mengontrol tag jaringan:

  • --tags menentukan daftar tag jaringan yang dipisahkan koma yang diterapkan ke semua VM node.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --tags TAGS

Ganti:

  • TAGS dengan daftar tag jaringan yang dipisahkan koma.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --tags group1,production

API

Saat membuat lingkungan, di resource Environment > EnvironmentConfig, tentukan tag jaringan untuk lingkungan Anda.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "nodeConfig": {
      "tags": [
        "TAG"
      ]
    }
  }
}

Ganti:

  • TAG dengan tag jaringan.

Contoh:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "nodeConfig": {
      "tags": [
        "group1",
        "production"
      ]
    }
  }
}

Terraform

Saat Anda membuat lingkungan, kolom berikut menentukan tag jaringan untuk lingkungan Anda:

  • Kolom tags di blok node_config menentukan daftar tag jaringan yang dipisahkan koma yang diterapkan ke semua VM node.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    node_config {
      tags = ["TAGS"]
    }
  }
}

Ganti:

  • TAGS dengan daftar tag jaringan yang dipisahkan koma.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    node_config {
      tags = ["group1","production"]
    }
  }
}

Langkah 9. (Opsional) Mengonfigurasi akses jaringan server web

Parameter akses server web Airflow tidak bergantung pada jenis lingkungan Anda. Sebagai gantinya, Anda dapat mengonfigurasi akses server web secara terpisah. Misalnya, lingkungan IP Pribadi masih dapat memiliki UI Airflow yang dapat diakses dari internet.

Saat ini Anda tidak dapat mengonfigurasi rentang IP yang diizinkan menggunakan alamat IP pribadi.

Konsol

Di halaman Create environment:

  1. Di bagian Network configuration, luaskan item Show network configuration.

  2. Di bagian Kontrol akses jaringan server web:

    • Untuk memberikan akses ke server web Airflow dari semua alamat IP, pilih Allow access from all IP addresses.

    • Untuk membatasi akses hanya ke rentang IP tertentu, pilih Izinkan akses hanya dari alamat IP tertentu. Di kolom IP range, tentukan rentang IP dalam notasi CIDR. Di kolom Description, tentukan deskripsi opsional untuk rentang ini. Jika Anda ingin menentukan lebih dari satu rentang, klik Add IP range.

    • Untuk melarang akses ke semua alamat IP, pilih Allow access only from specific IP addresses, lalu klik Delete item di samping entri rentang kosong.

gcloud

Saat Anda membuat lingkungan, argumen berikut mengontrol tingkat akses server web:

  • --web-server-allow-all menyediakan akses ke Airflow dari semua alamat IP. Opsi ini adalah opsi default.

  • --web-server-allow-ip hanya membatasi akses ke rentang IP sumber tertentu. Untuk menentukan beberapa rentang IP, gunakan argumen ini beberapa kali.

  • --web-server-deny-all melarang akses untuk semua alamat IP.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --web-server-allow-ip ip_range=WS_IP_RANGE,description=WS_RANGE_DESCRIPTION

Ganti:

  • WS_IP_RANGE dengan rentang IP, dalam notasi CIDR, yang dapat mengakses UI Airflow.
  • WS_RANGE_DESCRIPTION dengan deskripsi rentang IP.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --web-server-allow-ip ip_range=192.0.2.0/24,description="office net 1" \
    --web-server-allow-ip ip_range=192.0.4.0/24,description="office net 3"

API

Saat Anda membuat lingkungan, di resource Environment > EnvironmentConfig, tentukan parameter akses server web.

  • Untuk memberikan akses ke server web Airflow dari semua alamat IP, hapus webServerNetworkAccessControl.

  • Untuk membatasi akses hanya ke rentang IP tertentu, tentukan satu atau beberapa rentang di allowedIpRanges.

  • Untuk melarang akses ke semua alamat IP, tambahkan allowedIpRanges dan jadikan daftar kosong. Jangan menentukan rentang IP di dalamnya.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "webServerNetworkAccessControl": {
      "allowedIpRanges": [
        {
          "value": "WS_IP_RANGE",
          "description": "WS_RANGE_DESCRIPTION"
        }
      ]
    }
  }
}

Ganti:

  • WS_IP_RANGE dengan rentang IP, dalam notasi CIDR, yang dapat mengakses UI Airflow.
  • WS_RANGE_DESCRIPTION dengan deskripsi rentang IP.

Contoh:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "webServerNetworkAccessControl": {
      "allowedIpRanges": [
        {
          "value": "192.0.2.0/24",
          "description": "office net 1"
        },
        {
          "value": "192.0.4.0/24",
          "description": "office net 3"
        }
      ]
    }
  }
}

Terraform

Saat Anda membuat lingkungan, blok allowed_ip_range di blok web_server_network_access_control berisi rentang IP yang dapat mengakses server web.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    web_server_network_access_control {

      allowed_ip_range {
        value = "WS_IP_RANGE"
        description = "WS_RANGE_DESCRIPTION"
      }

    }

  }
}

Ganti:

  • WS_IP_RANGE dengan rentang IP, dalam notasi CIDR, yang dapat mengakses UI Airflow.
  • WS_RANGE_DESCRIPTION dengan deskripsi rentang IP.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    web_server_network_access_control {
      allowed_ip_range {
        value = "192.0.2.0/24"
        description = "office net 1"
      },
      allowed_ip_range {
        value = "192.0.4.0/24"
        description = "office net 3"
      }

    }
}

Langkah 10. (Opsional) Menentukan penggantian konfigurasi dan variabel lingkungan Airflow

Anda dapat menyiapkan penggantian konfigurasi Airflow dan variabel lingkungan saat membuat lingkungan. Sebagai alternatif, Anda dapat melakukannya nanti setelah lingkungan dibuat.

Beberapa opsi konfigurasi Airflow diblokir dan Anda tidak dapat menggantinya.

Untuk daftar opsi konfigurasi Airflow yang tersedia, lihat Referensi konfigurasi untuk Airflow 2 dan Airflow 1.10.*

Untuk menentukan penggantian konfigurasi dan variabel lingkungan Airflow:

Konsol

Di halaman Create environment:

  1. Di bagian Environment variables, klik Add environment variable.

  2. Masukkan Nama dan Nilai untuk variabel lingkungan.

  3. Di bagian Airflow configuration override, klik Add Airflow configuration override.

  4. Masukkan Section, Key, dan Value untuk penggantian opsi konfigurasi.

    Contoh:

    Bagian Kunci Nilai
    webserver dag_orientation TB

gcloud

Saat Anda membuat lingkungan, argumen berikut akan mengontrol variabel lingkungan dan penggantian konfigurasi Airflow:

  • --env-variables menentukan daftar variabel lingkungan yang dipisahkan koma.

    Nama variabel dapat berisi huruf besar dan kecil, angka, serta garis bawah, tetapi tidak boleh diawali dengan angka.

  • --airflow-configs menentukan daftar kunci dan nilai yang dipisahkan koma untuk penggantian konfigurasi Airflow.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --env-variables ENV_VARS \
    --airflow-configs CONFIG_OVERRIDES

Ganti:

  • ENV_VARS dengan daftar pasangan NAME=VALUE yang dipisahkan koma untuk variabel lingkungan.
  • CONFIG_OVERRIDES dengan daftar pasangan SECTION-KEY=VALUE yang dipisahkan koma untuk penggantian konfigurasi. Pisahkan nama bagian konfigurasi dengan simbol -, diikuti dengan nama kunci. Contoh: core-dags_are_paused_at_creation.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --env-variables SENDGRID_MAIL_FROM=user@example.com,SENDGRID_API_KEY=example-key \
    --airflow-configs core-dags_are_paused_at_creation=True,webserver-dag_orientation=TB

API

Saat Anda membuat lingkungan, di resource Environment > EnvironmentConfig, tentukan variabel lingkungan dan penggantian konfigurasi Airflow.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "softwareConfig": {
      "airflowConfigOverrides": {
        "SECTION-KEY": "OVERRIDE_VALUE"
      },
      "envVariables": {
        "VAR_NAME": "VAR_VALUE",
      }
    }
  }
}

Ganti:

  • SECTION dengan bagian dalam file konfigurasi tempat opsi konfigurasi Airflow berada.
  • KEY dengan nama opsi konfigurasi Airflow.
  • OVERRIDE_VALUE dengan nilai opsi konfigurasi Airflow.
  • VAR_NAME dengan nama variabel lingkungan.
  • VAR_VALUE dengan nilai variabel lingkungan.

Contoh:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "softwareConfig": {
      "airflowConfigOverrides": {
        "core-dags_are_paused_at_creation": "True",
        "webserver-dag_orientation": "TB"
      },
      "envVariables": {
        "SENDGRID_MAIL_FROM": "user@example.com",
        "SENDGRID_API_KEY": "example-key"
      }
    }
  }
}

Terraform

Saat Anda membuat lingkungan, blok berikut akan mengontrol variabel lingkungan dan penggantian konfigurasi Airflow:

  • Blok env_variables dalam blok software_config menentukan variabel lingkungan.

    Nama variabel dapat berisi huruf besar dan kecil, angka, serta garis bawah, tetapi tidak boleh diawali dengan angka.

  • Blok airflow_config_overrides dalam blok software_config menentukan penggantian konfigurasi Airflow.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    software_config {

      airflow_config_overrides = {
        SECTION-KEY = "OVERRIDE_VALUE"
      }

      env_variables = {
        VAR_NAME = "VAR_VALUE"
      }
    }
  }
}

Ganti:

  • SECTION dengan bagian dalam file konfigurasi tempat opsi konfigurasi Airflow berada.
  • KEY dengan nama opsi konfigurasi Airflow.
  • OVERRIDE_VALUE dengan nilai opsi konfigurasi Airflow.
  • VAR_NAME dengan nama variabel lingkungan.
  • VAR_VALUE dengan nilai variabel lingkungan.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    software_config {

      airflow_config_overrides = {
        core-dags_are_paused_at_creation = "True"
        webserver-dag_orientation = "TB"
      }

      env_variables = {
        SENDGRID_MAIL_FROM = "user@example.com"
        SENDGRID_API_KEY = "example-key"
      }
    }
  }
}

Langkah 11. (Opsional) Menentukan masa pemeliharaan

Secara default, masa pemeliharaan adalah pukul 00.00.00 hingga 04.00.00 (GMT) pada hari Jumat, Sabtu, dan Minggu setiap minggu.

Untuk menentukan masa pemeliharaan lingkungan Anda:

Konsol

Di halaman Create environment:

  1. Di menu drop-down Timezone, pilih zona waktu untuk masa pemeliharaan.

  2. Menetapkan Start time, Days, dan Length, sehingga waktu gabungan untuk jadwal yang ditentukan setidaknya 12 jam dalam periode berputar 7 hari. Misalnya, periode 4 jam setiap hari Senin, Rabu, dan Jumat memberikan jumlah waktu yang diperlukan.

gcloud

Argumen berikut menentukan parameter masa pemeliharaan:

  • --maintenance-window-start menetapkan waktu mulai masa pemeliharaan.
  • --maintenance-window-end menetapkan waktu berakhir masa pemeliharaan.
  • --maintenance-window-recurrence menetapkan pengulangan masa pemeliharaan.
gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --maintenance-window-start 'DATETIME_START' \
    --maintenance-window-end 'DATETIME_END' \
    --maintenance-window-recurrence 'MAINTENANCE_RECURRENCE'

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.
  • DATETIME_START dengan tanggal dan waktu mulai dalam format input tanggal/waktu. Hanya waktu yang ditentukan dalam sehari yang digunakan, tanggal yang ditentukan akan diabaikan.
  • DATETIME_END dengan tanggal dan waktu akhir dalam format input tanggal/waktu. Hanya waktu yang ditentukan dalam sehari yang digunakan, tanggal yang ditentukan akan diabaikan. Tanggal dan waktu yang ditentukan harus setelah tanggal mulai.
  • MAINTENANCE_RECURRENCE dengan RRules RFC 5545 untuk pengulangan periode pemeliharaan. Cloud Composer mendukung dua format:

  • Format FREQ=DAILY menentukan pengulangan harian.

  • Format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA menentukan pengulangan pada hari yang dipilih dalam seminggu.

Contoh berikut menentukan masa pemeliharaan 6 jam antara pukul 01.00 dan 07.00 (UTC) pada hari Rabu, Sabtu, dan Minggu. Tanggal 1 Januari 2023 akan diabaikan.

gcloud composer environments create example-environment \
  --location us-central1 \
  --image-version composer-2.6.6-airflow-2.6.3 \
  --maintenance-window-start '2023-01-01T01:00:00Z' \
  --maintenance-window-end '2023-01-01T07:00:00Z' \
  --maintenance-window-recurrence 'FREQ=WEEKLY;BYDAY=SU,WE,SA'

API

Saat Anda membuat lingkungan, di resource Environment > EnvironmentConfig, tentukan parameter jendela pemeliharaan:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "config": {
    "maintenanceWindow": {
        "startTime": "DATETIME_START",
        "endTime": "DATETIME_END",
        "recurrence": "MAINTENANCE_RECURRENCE"
    }
  }
}

Ganti:

  • DATETIME_START dengan tanggal dan waktu mulai dalam format input tanggal/waktu. Hanya waktu yang ditentukan dalam sehari yang digunakan, tanggal yang ditentukan akan diabaikan.
  • DATETIME_END dengan tanggal dan waktu akhir dalam format input tanggal/waktu. Hanya waktu yang ditentukan dalam sehari yang digunakan, tanggal yang ditentukan akan diabaikan. Tanggal dan waktu yang ditentukan harus setelah tanggal mulai.
  • MAINTENANCE_RECURRENCE dengan RFC 5545 RRules untuk pengulangan masa pemeliharaan. Cloud Composer mendukung dua format:

  • Format FREQ=DAILY menentukan pengulangan harian.

  • Format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA menentukan pengulangan pada hari yang dipilih dalam seminggu.

Contoh berikut menentukan masa pemeliharaan 6 jam antara pukul 01.00 dan 07.00 (UTC) pada hari Rabu, Sabtu, dan Minggu. Tanggal 1 Januari 2023 akan diabaikan.

Contoh:

// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "config": {
    "maintenanceWindow": {
        "startTime": "2023-01-01T01:00:00Z",
        "endTime": "2023-01-01T07:00:00Z",
        "recurrence": "FREQ=WEEKLY;BYDAY=SU,WE,SA"
    }
  }
}

Terraform

Blok maintenance_window menentukan masa pemeliharaan untuk lingkungan Anda:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {
    maintenance_window {
      start_time = "DATETIME_START"
      end_time = "DATETIME_END"
      recurrence = "MAINTENANCE_RECURRENCE"
    }
  }
}

Ganti:

  • DATETIME_START dengan tanggal dan waktu mulai dalam format input tanggal/waktu. Hanya waktu yang ditentukan dalam sehari yang digunakan, tanggal yang ditentukan akan diabaikan.
  • DATETIME_END dengan tanggal dan waktu akhir dalam format input tanggal/waktu. Hanya waktu yang ditentukan dalam sehari yang digunakan, tanggal yang ditentukan akan diabaikan. Tanggal dan waktu yang ditentukan harus setelah tanggal mulai.
  • MAINTENANCE_RECURRENCE dengan RFC 5545 RRules untuk pengulangan masa pemeliharaan. Cloud Composer mendukung dua format:

    • Format FREQ=DAILY menentukan pengulangan harian.
    • Format FREQ=WEEKLY;BYDAY=SU,MO,TU,WE,TH,FR,SA menentukan pengulangan pada hari yang dipilih dalam seminggu.

Contoh berikut menentukan masa pemeliharaan 6 jam antara pukul 01.00 dan 07.00 (UTC) pada hari Rabu, Sabtu, dan Minggu. Tanggal 1 Januari 2023 akan diabaikan.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {
    maintenance_window {
      start_time = "2023-01-01T01:00:00Z"
      end_time = "2023-01-01T07:00:00Z"
      recurrence = "FREQ=WEEKLY;BYDAY=SU,WE,SA"
    }
  }
}

Langkah 12. (Opsional) Integrasi silsilah data

Silsilah data adalah fitur Dataplex yang memungkinkan Anda melacak perpindahan data. Integrasi silsilah data tersedia untuk Cloud Composer 2 versi 2.1.2 dan yang lebih baru dengan Airflow versi 2.2.5 dan yang lebih baru.

Integrasi silsilah data otomatis diaktifkan di lingkungan Cloud Composer baru jika kondisi berikut terpenuhi:

  • Data Lineage API diaktifkan di project Anda. Untuk mengetahui informasi selengkapnya, lihat Mengaktifkan Data Lineage API dalam dokumentasi Dataplex.

  • Lineage Backend kustom tidak dikonfigurasi di Airflow.

  • Kunci enkripsi yang dikelola pelanggan (CMEK) tidak diaktifkan di lingkungan. Silsilah data tidak mendukung CMEK untuk metadata yang diserap. Anda tidak dapat mengaktifkan integrasi silsilah data di lingkungan Cloud Composer yang menggunakan CMEK. Untuk informasi selengkapnya dan batasan lainnya, lihat Pertimbangan silsilah data.

Anda dapat menonaktifkan integrasi silsilah data saat membuat lingkungan. Misalnya, jika Anda ingin mengganti perilaku otomatis atau memilih untuk mengaktifkan silsilah data nanti, setelah lingkungan dibuat.

Konsol

Untuk menonaktifkan integrasi Silsilah data, di halaman Buat lingkungan:

  1. Di bagian Advanced configuration, luaskan item Show advanced configuration.

  2. Di bagian Integrasi silsilah data Dataplex, pilih Nonaktifkan integrasi dengan silsilah data Dataplex.

gcloud

Saat Anda membuat lingkungan, argumen --disable-cloud-data-lineage-integration akan menonaktifkan integrasi silsilah data.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --disable-cloud-data-lineage-integration

Ganti:

  • ENVIRONMENT_NAME dengan nama lingkungan.

    Nama harus dimulai dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Nama lingkungan digunakan untuk membuat subkomponen lingkungan. Jadi, Anda harus memberikan nama yang juga valid sebagai nama bucket Cloud Storage. Lihat Panduan penamaan bucket untuk mengetahui daftar batasan.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --disable-cloud-data-lineage-integration

Langkah 13. (Opsional) Mengonfigurasi enkripsi data (CMEK)

Secara default, data di lingkungan Anda dienkripsi dengan kunci yang disediakan oleh Google.

Untuk menggunakan kunci enkripsi yang dikelola pelanggan (CMEK) guna mengenkripsi data di lingkungan Anda, ikuti petunjuk yang diuraikan dalam Menggunakan kunci enkripsi yang dikelola pelanggan.

Langkah 14. (Opsional) Menggunakan bucket lingkungan kustom

Saat Anda membuat lingkungan, Cloud Composer membuat bucket untuk lingkungan Anda secara otomatis.

Sebagai alternatif, Anda dapat menentukan bucket Cloud Storage kustom dari project Anda. Lingkungan Anda menggunakan bucket ini dengan cara yang sama seperti bucket yang dibuat otomatis.

Untuk menggunakan bucket lingkungan kustom, ikuti petunjuk yang diuraikan dalam Menggunakan bucket lingkungan kustom.

Langkah 15. (Opsional) Menentukan label lingkungan

Anda dapat menetapkan label ke lingkungan untuk membagi biaya penagihan berdasarkan label ini.

Konsol

Di halaman Buat lingkungan, di bagian Label:

  1. Klik Tambahkan label.

  2. Di kolom Kunci dan Nilai, tentukan pasangan kunci dan nilai untuk label lingkungan.

gcloud

Saat Anda membuat lingkungan, argumen --labels akan menentukan daftar kunci dan nilai yang dipisahkan koma dengan label lingkungan.

gcloud composer environments create ENVIRONMENT_NAME \
    --location LOCATION \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --labels LABELS

Ganti:

  • LABELS dengan daftar pasangan KEY=VALUE yang dipisahkan koma untuk label lingkungan.

Contoh:

gcloud composer environments create example-environment \
    --location us-central1 \
    --image-version composer-2.6.6-airflow-2.6.3 \
    --labels owner=engineering-team,env=production

API

Saat membuat lingkungan, di resource Environment, tentukan label untuk lingkungan Anda.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
  "labels": {
    "LABEL_KEY": "LABEL_VALUE"
  }
}

Ganti:

  • LABEL_KEY dengan kunci label lingkungan.
  • LABEL_VALUE dengan nilai label lingkungan.

Contoh:


// POST https://composer.googleapis.com/v1/{parent=projects/*/locations/*}/environments

{
  "name": "projects/example-project/locations/us-central1/environments/example-environment",
  "labels": {
    "owner": "engineering-team",
    "env": "production"
  }
}

Terraform

Saat Anda membuat lingkungan, tentukan label dalam blok labels (di luar blok config).

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  labels = {
    LABEL_KEY = "LABEL_VALUE"
  }

}

Ganti:

  • LABEL_KEY dengan kunci label lingkungan.
  • LABEL_VALUE dengan nilai label lingkungan.

Contoh:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  labels = {
    owner = "engineering-team"
    env = "production"
  }

}

Langkah selanjutnya