Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini menjelaskan cara membuat lingkungan Cloud Composer.
- Untuk mengetahui informasi selengkapnya tentang lingkungan, lihat Arsitektur lingkungan.
- Untuk mengetahui informasi selengkapnya tentang cara membuat lingkungan dengan Terraform, lihat Membuat lingkungan (Terraform).
Sebelum memulai
Aktifkan Cloud Composer API. Untuk daftar lengkap yang digunakan oleh Cloud Composer, lihat Layanan yang diperlukan oleh Cloud Composer.
Perkiraan waktu untuk membuat lingkungan adalah 25 menit.
Selama pembuatan lingkungan, Anda menentukan layanan menggunakan akun layanan. Cloud Composer mengikat akun ini ke akun layanan Kubernetes cluster lingkungan Anda.
Secara {i>default<i}, Lingkungan Cloud Composer menggunakan layanan akun layanan Compute Engine default. Sebaiknya buat layanan yang dikelola pengguna akun yang memiliki peran khusus untuk Cloud Composer dan menggunakannya bagi lingkungan Anda.
Jika Anda membuat lingkungan dengan Terraform, akun layanan yang digunakan oleh Terraform harus memiliki peran dengan izin
composer.environments.create
diaktifkan.Untuk mengetahui informasi selengkapnya tentang akun layanan untuk Terraform, lihat Referensi Konfigurasi Penyedia Google.
Untuk informasi selengkapnya tentang penggunaan Terraform dalam membuat Lingkungan Cloud Composer, lihat Dokumentasi Terraform.
Untuk informasi selengkapnya tentang parameter tambahan, lihat Referensi Argumen Terraform.
VPC SC: Untuk men-deploy lingkungan Cloud Composer di dalam keamanan perimeter, lihat Mengonfigurasi VPC SC. Bila digunakan dengan Cloud Composer, Kontrol Layanan VPC memiliki beberapa keterbatasan yang diketahui.
Langkah 1. Penyiapan dasar
Langkah ini akan membuat lingkungan Cloud Composer dengan default di lokasi yang ditentukan.
Konsol
Di konsol Google Cloud, buka halaman Create environment.
Di kolom Nama, masukkan nama untuk lingkungan Anda.
Nama harus diawali dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil huruf, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Lingkungan digunakan untuk membuat subkomponen untuk lingkungan, jadi Anda harus memberikan nama yang juga valid sebagai Cloud Storage nama bucket. Baca Panduan penamaan bucket untuk mengetahui daftarnya pembatasan.
Di menu drop-down Lokasi, pilih lokasi bagi lingkungan Anda.
Lokasi adalah wilayah tempat lingkungan berada.
Di menu drop-down Versi image, pilih image Cloud Composer dengan versi Airflow.
gcloud
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version IMAGE_VERSION
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.Nama harus diawali dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil huruf, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Lingkungan digunakan untuk membuat subkomponen untuk lingkungan, jadi Anda harus memberikan nama yang juga valid sebagai Cloud Storage nama bucket. Baca Panduan penamaan bucket untuk mengetahui daftarnya pembatasan.
LOCATION
dengan region untuk lingkungan.Lokasi adalah wilayah tempat lingkungan berada.
IMAGE_VERSION
dengan nama gambar Cloud Composer.
Contoh:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-3-airflow-2.9.1-build.6
API
Buat permintaan environments.create
API. Tentukan
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 wilayah tempat lingkungan berada.
ENVIRONMENT_NAME
dengan nama lingkungan.Nama harus diawali dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil huruf, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Lingkungan digunakan untuk membuat subkomponen untuk lingkungan, jadi Anda harus memberikan nama yang juga valid sebagai Cloud Storage nama bucket. Baca Panduan penamaan bucket untuk mengetahui daftarnya pembatasan.
IMAGE_VERSION
dengan nama gambar 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-3-airflow-2.9.1-build.6"
}
}
}
Terraform
Untuk membuat lingkungan dengan parameter default adalah lokasi yang ditentukan,
tambahkan blok resource berikut ke konfigurasi Terraform Anda dan 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 diawali dengan huruf kecil, diikuti dengan maksimal 62 huruf kecil huruf, angka, atau tanda hubung, dan tidak boleh diakhiri dengan tanda hubung. Lingkungan digunakan untuk membuat subkomponen untuk lingkungan, jadi Anda harus memberikan nama yang juga valid sebagai Cloud Storage nama bucket. Baca Panduan penamaan bucket untuk mengetahui daftarnya pembatasan.
LOCATION
dengan region untuk lingkungan.Lokasi adalah wilayah tempat lingkungan berada.
IMAGE_VERSION
dengan nama gambar Cloud Composer.
Contoh:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
software_config {
image_version = "composer-3-airflow-2.9.1-build.6"
}
}
}
Langkah 2. (Opsional) Pilih akun layanan untuk lingkungan Anda
Cloud Composer mengikat akun layanan ini ke layanan Kubernetes Google Cloud Platform. 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.
Secara default, lingkungan Cloud Composer menggunakan akun layanan Compute Engine default. Saran dari kami Anda dapat 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 drop-down Service account pilih akun layanan untuk lingkungan Anda.
gcloud
Saat Anda membuat lingkungan, --service-account
menentukan
akun layanan untuk lingkungan Anda.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.9.1-build.6 \
--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-3-airflow-2.9.1-build.6 \
--service-account "example-account@example-project.iam.gserviceaccount.com"
API
Saat Anda membuat lingkungan, di bagian Lingkungan > EnvironmentConfig, menentukan 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
di
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. (Opsional) Mengonfigurasi skala lingkungan dan parameter performa
Untuk menentukan konfigurasi performa dan skala lingkungan Anda, memilih ukuran lingkungan dan konfigurasi workload.
Anda dapat mengubah semua parameter performa dan skala setelah Anda membuat lingkungan.
Parameter berikut mengontrol skala dan performa:
Ukuran lingkungan. Mengontrol parameter performa aplikasi yang dikelola Infrastruktur Cloud Composer yang mencakup Airflow di skrip untuk menyiapkan database. Pertimbangkan untuk memilih ukuran lingkungan yang lebih besar jika Anda ingin menjalankan sejumlah besar DAG dan tugas.
Konfigurasi beban kerja. Mengontrol skala dan performa komponen lingkungan yang berjalan di cluster GKE: Airflow penjadwal, server web Airflow, dan pekerja Airflow.
Penjadwal aliran udara. Mengurai file definisi DAG, menjadwalkan operasi DAG berdasarkan interval jadwal, dan mengantrekan tugas untuk dieksekusi Pekerja aliran udara.
Lingkungan Anda dapat menjalankan lebih dari satu penjadwal Airflow secara bersamaan baik. Gunakan beberapa penjadwal untuk mendistribusikan beban antara beberapa penjadwal untuk performa dan keandalan yang lebih baik.
Meningkatkan jumlah penjadwal tidak selalu meningkatkan Airflow tingkat tinggi. Misalnya, memiliki hanya satu penjadwal mungkin memberikan hasil menghasilkan performa daripada memiliki dua. Hal ini dapat terjadi jika penjadwal tambahan tidak digunakan, sehingga menghabiskan sumber daya lingkungan Anda tanpa berkontribusi terhadap performa secara keseluruhan. Performa penjadwal yang sebenarnya bergantung pada jumlah pekerja Airflow, jumlah DAG, dan tugas yang berjalan di lingkungan, dan konfigurasi Airflow serta lingkungan.
Sebaiknya mulai dengan dua penjadwal lalu pantau performanya yang optimal. Jika mengubah jumlah penjadwal, Anda selalu dapat skalakan lingkungan Anda kembali ke jumlah penjadwal asli.
Untuk informasi selengkapnya tentang cara mengonfigurasi beberapa penjadwal, lihat Dokumentasi Airflow.
Pemicu Airflow. Memantau semua tugas yang ditangguhkan secara asinkron lingkungan fleksibel App Engine. Jika Anda memiliki setidaknya satu instance pemicu di (atau setidaknya dua di lingkungan yang sangat tangguh), Anda dapat menggunakan operator yang dapat ditangguhkan di DAG.
Prosesor DAG Airflow. Memproses file DAG dan mengubahnya menjadi objek DAG. Di Cloud Composer 3, bagian penjadwal ini berjalan sebagai komponen lingkungan terpisah.
Server web Airflow. Menjalankan antarmuka web Airflow tempat Anda dapat memantau, mengelola, dan memvisualisasikan DAG.
Pekerja aliran udara. Menjalankan tugas yang dijadwalkan oleh Airflow penjadwal. Jumlah minimum dan maksimum pekerja di lingkungan berubah secara dinamis tergantung pada jumlah tugas dalam antrean.
Konsol
Anda dapat memilih preset untuk lingkungan Anda. Saat Anda memilih preset, parameter skala dan performa untuk preset tersebut dipilih secara otomatis. Anda juga memiliki opsi untuk memilih {i>frame<i} khusus dan menentukan semua skala dan parameter performa untuk lingkungan Anda.
Untuk memilih konfigurasi performa dan skala bagi lingkungan Anda, di halaman Create environment:
Untuk menggunakan nilai yang telah ditetapkan, di bagian Resource lingkungan, klik Kecil, Sedang, atau Besar.
Untuk menentukan nilai kustom parameter skala dan performa:
Di bagian Resource lingkungan, klik Kustom.
Di bagian Scheduler, tetapkan jumlah penjadwal yang ingin Anda digunakan, dan alokasi sumber daya untuk CPU, memori, dan penyimpanannya.
Di bagian Pemicu, gunakan kolom Jumlah pemicu untuk memasukkan jumlah pemicu di lingkungan Anda. Anda dapat mengatur angka ini ke 0 jika Anda tidak ingin menggunakan operator yang dapat ditangguhkan di DAG Anda.
Jika Anda menetapkan setidaknya satu pemicu untuk lingkungan Anda, gunakan kolom CPU, dan Memory untuk mengonfigurasi alokasi resource untuk pemicu Anda.
Di bagian Prosesor DAG, tentukan jumlah pemroses DAG di lingkungan Anda dan jumlah CPU, memori, dan penyimpanan untuk setiap prosesor DAG.
Di bagian Web server, tentukan jumlah CPU, memori, dan penyimpanan untuk server web.
Di bagian Worker, tentukan:
- Jumlah minimum dan maksimum worker untuk batas penskalaan otomatis di lingkungan Anda.
- Alokasi CPU, memori, dan penyimpanan untuk pekerja Anda
Di bagian Infrastruktur inti, di bagian Ukuran lingkungan daftar {i>drop-down<i}, pilih ukuran lingkungan.
gcloud
Saat Anda membuat lingkungan, argumen berikut akan 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 Airflow {i>scheduler<i} (penjadwal).--scheduler-storage
menentukan jumlah kapasitas disk untuk Airflow {i>scheduler<i} (penjadwal).--triggerer-count
menentukan jumlah pemicu Airflow di lingkungan fleksibel App Engine. Nilai default untuk tanda ini adalah0
. Anda memerlukan pemicu jika ingin menggunakan operator yang dapat ditangguhkan di DAG Anda.- Untuk lingkungan ketahanan standar, gunakan nilai antara
0
dan10
. - Untuk lingkungan yang sangat tangguh, gunakan
0
atau nilai antara2
dan10
.
- Untuk lingkungan ketahanan standar, gunakan nilai antara
--triggerer-cpu
menentukan jumlah CPU untuk Airflow pemicu, dalam unit vCPU. Nilai yang diizinkan:0.5
,0.75
,1
. Default nilainya adalah0.5
.--triggerer-memory
menentukan jumlah memori untuk Pemicu Airflow, dalam GB. Nilai defaultnya adalah0.5
.Memori minimum yang dibutuhkan sama dengan jumlah CPU yang dialokasikan pemicunya. Nilai maksimum yang diizinkan sama dengan jumlah CPU pemicu dikalikan dengan 6,5.
Misalnya, jika Anda menetapkan flag
--triggerer-cpu
ke1
, nilai minimum untuk--triggerer-memory
adalah1
dan nilai minimum nilai maksimum adalah6.5
.--dag-processor-cpu
menentukan jumlah CPU untuk prosesor DAG.--dag-processor-memory
menentukan jumlah memori untuk DAG Prosesor Google Cloud.--dag-processor-storage
menentukan jumlah kapasitas disk untuk DAG Prosesor Google Cloud.--web-server-cpu
menentukan jumlah CPU untuk server web Airflow.--web-server-memory
menentukan jumlah memori untuk web Airflow server tertentu.--web-server-storage
menentukan jumlah kapasitas disk untuk Airflow server web Anda.--worker-cpu
menentukan jumlah CPU untuk pekerja Airflow.--worker-memory
menentukan jumlah memori untuk pekerja Airflow.--worker-storage
menentukan jumlah kapasitas disk untuk Airflow pekerja.--min-workers
menentukan jumlah minimum pekerja Airflow. Nama cluster lingkungan menjalankan setidaknya jumlah worker ini.--max-workers
menentukan jumlah maksimum pekerja Airflow. Nama cluster lingkungan bekerja paling banyak dengan jumlah worker ini.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.9.1-build.6 \
--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 \
--dag-processor-cpu DAG_PROCESSOR_CPU \
--dag-processor-memory DAG_PROCESSOR_MEMORY \
--dag-processor-storage DAG_PROCESSOR_STORAGE \
--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
dengansmall
,medium
, ataularge
.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.DAG_PROCESSOR_CPU
dengan jumlah CPU untuk prosesor DAG.DAG_PROCESSOR_MEMORY
dengan jumlah memori untuk DAG Prosesor Google Cloud.DAG_PROCESSOR_STORAGE
dengan jumlah kapasitas disk untuk DAG Prosesor Google Cloud.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 tetap berjalan. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban tersebut.WORKERS_MAX
dengan jumlah maksimum worker Airflow yang tetap berjalan. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, bahkan jika jumlah pekerja yang diperlukan lebih tinggi menangani beban.
Contoh:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-3-airflow-2.9.1-build.6 \
--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 \
--dag-processor-cpu 0.5 \
--dag-processor-memory 2GB \
--dag-processor-storage 1GB \
--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 bagian Lingkungan > EnvironmentConfig > Resource WorkloadsConfig, tentukan lingkungan parameter skala dan performa.
{
"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
},
"dagProcessor": {
"count": 1,
"cpu": DAG_PROCESSOR_CPU,
"memoryGb": DAG_PROCESSOR_MEMORY,
"storageGb": DAG_PROCESSOR_STORAGE
},
"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 adalah0
. Anda memerlukan pemicu jika ingin menggunakan operator yang dapat ditangguhkan di DAG Anda.- Untuk lingkungan ketahanan standar, gunakan nilai antara
0
dan10
. - Untuk lingkungan yang sangat tangguh, gunakan
0
atau nilai antara2
dan10
.
Jika menggunakan minimal satu pemicu, Anda juga harus menentukan Parameter
TRIGGERER_CPU
, danTRIGGERER_MEMORY
:- Untuk lingkungan ketahanan standar, gunakan nilai antara
TRIGGERER_CPU
menentukan 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 dibutuhkan sama dengan jumlah CPU yang dialokasikan untuk pemicu. Nilai maksimum yang diizinkan adalah sama dengan jumlah CPU pemicu dikalikan dengan 6,5.Misalnya, jika Anda menetapkan
TRIGGERER_CPU
ke1
, nilai minimum untukTRIGGERER_MEMORY
adalah1
dan nilai minimum nilai maksimum adalah6.5
.DAG_PROCESSOR_CPU
dengan jumlah CPU untuk prosesor DAG, dalam vCPU unit iklan.DAG_PROCESSOR_MEMORY
dengan jumlah memori untuk DAG prosesor, dalam GB.DAG_PROCESSOR_STORAGE
dengan jumlah kapasitas disk untuk DAG prosesor, 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 tetap berjalan. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban tersebut.WORKERS_MAX
dengan jumlah maksimum worker Airflow yang tetap berjalan. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, bahkan jika jumlah pekerja yang diperlukan lebih tinggi menangani beban.ENVIRONMENT_SIZE
dengan ukuran lingkungan,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
, atauENVIRONMENT_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
},
"dagProcessor": {
"count": 1,
"cpu": 0.5,
"memoryGb": 2,
"storageGb": 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 skala dan parameter performa lingkungan Anda.
Di blok
config
:- Kolom
environment_size
mengontrol ukuran lingkungan.
- Kolom
Di blok
workloads_config
:- Kolom
scheduler.cpu
menentukan jumlah CPU untuk Airflow {i>scheduler<i} (penjadwal). - Kolom
scheduler.memory_gb
menentukan jumlah memori untuk Penjadwal aliran udara. - Isian
scheduler.storage_gb
menentukan jumlah kapasitas {i>disk<i} untuk {i>scheduler<i} (penjadwal). - Kolom
scheduler.count
menentukan jumlah penjadwal di lingkungan fleksibel App Engine. - Kolom
triggerer.cpu
menentukan jumlah CPU untuk Airflow pemicu. - Kolom
triggerer.memory_gb
menentukan jumlah memori untuk Pemicu Airflow. Kolom
triggerer.count
menentukan jumlah pemicu dalam lingkungan fleksibel App Engine.Kolom
dag_processor.cpu
menentukan jumlah CPU untuk DAG Prosesor Google Cloud.Kolom
dag_processor.memory_gb
menentukan jumlah memori untuk prosesor DAG.Kolom
dag_processor.storage_gb
menentukan jumlah kapasitas disk untuk prosesor DAG.Kolom
dag_processor.count
menentukan jumlah pemroses DAG.Kolom
web_server.cpu
menentukan jumlah CPU untuk Airflow server web Anda.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 Airflow pekerja.Kolom
worker.memory_gb
menentukan jumlah memori untuk Pekerja aliran udara.Kolom
worker.storage_gb
menentukan jumlah kapasitas disk untuk Pekerja aliran udara.Kolom
worker.min_count
menentukan jumlah minimum pekerja di lingkungan Anda.Kolom
worker.max_count
menentukan jumlah maksimum pekerja di lingkungan Anda.
- Kolom
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 tetap berjalan. Jumlah pekerja di lingkungan Anda tidak melebihi angka ini, meskipun jumlah pekerja yang lebih rendah dapat menangani beban tersebut.WORKERS_MAX
dengan jumlah maksimum worker Airflow yang tetap berjalan. Jumlah pekerja di lingkungan Anda tidak melebihi jumlah ini, bahkan jika jumlah pekerja yang diperlukan lebih tinggi menangani beban.ENVIRONMENT_SIZE
dengan ukuran lingkungan,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
, atauENVIRONMENT_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 4. (Opsional) Tentukan zona untuk database lingkungan
Anda dapat menentukan zona Cloud SQL pilihan untuk lingkungan Anda.
Konsol
Di halaman Create environment:
Di bagian Advanced configuration, luaskan item Show advanced configuration.
Di daftar Airflow database zone, pilih yang diinginkan zona Cloud SQL.
gcloud
Saat Anda membuat lingkungan, argumen --cloud-sql-preferred-zone
menentukan zona Cloud SQL pilihan.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.9.1-build.6 \
--cloud-sql-preferred-zone SQL_ZONE
Ganti kode berikut:
SQL_ZONE
: zona Cloud SQL pilihan. Zona ini harus berada di region tempat lingkungan tersebut berada.
Contoh:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-3-airflow-2.9.1-build.6 \
--cloud-sql-preferred-zone us-central1-a
API
Saat Anda membuat lingkungan, di bagian Lingkungan > DatabaseConfig, tentukan zona Cloud SQL pilihan Anda.
{
"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 tersebut 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
di 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 tersebut berada.
Langkah 5. (Opsional) Mengonfigurasi jaringan lingkungan
Anda dapat mengonfigurasi jaringan Cloud Composer 3 dengan cara berikut:
- Di lingkungan IP Publik, komponen Airflow lingkungan Anda dapat mengakses internet.
- Dalam lingkungan IP Pribadi, komponen Airflow lingkungan Anda tidak memiliki akses ke internet.
- Lingkungan IP Pribadi dan IP Publik dapat terhubung ke jaringan VPC Anda sebagai opsi terpisah.
- Anda dapat menentukan rentang IP internal lingkungan Anda. Rentang ini tidak dapat diubah nanti.
Anda dapat mengaktifkan akses ke internet saat menginstal paket PyPI. Misalnya, lingkungan IP Pribadi Anda dapat masih menginstal paket PyPI dari Indeks Paket Python jika Anda mengaktifkan sebelumnya.
Untuk lingkungan VPC Bersama, Anda harus melakukan penyiapan jaringan tambahan project host, lalu membuat lingkungan Publik atau IP Pribadi di project layanan. Ikuti petunjuk di Halaman Mengonfigurasi VPC Bersama.
Konsol
Pastikan jaringan Anda dikonfigurasi sesuai jenis lingkungan yang ingin Anda buat.
Di bagian Konfigurasi jaringan, luaskan item Show network configuration.
Jika Anda ingin menghubungkan lingkungan Anda ke jaringan VPC, Lampiran jaringan, pilih lampiran jaringan. Anda juga dapat membuat lampiran jaringan baru. Untuk informasi selengkapnya, lihat Menghubungkan lingkungan ke jaringan VPC.
Jika Anda ingin membuat lingkungan IP Pribadi, dalam Networking type pilih opsi Lingkungan IP pribadi.
Jika Anda ingin menambahkan tag jaringan, lihat Menambahkan tag jaringan untuk informasi selengkapnya.
gcloud
Pastikan jaringan Anda dikonfigurasi untuk jenis lingkungan yang ingin Anda buat.
Saat Anda membuat lingkungan, argumen berikut akan mengontrol parameter jaringan. Jika Anda menghilangkan parameter, nilai defaultnya adalah data
--enable-private-environment
mengaktifkan lingkungan IP Pribadi.--network
menentukan ID jaringan VPC Anda.--subnetwork
menentukan ID subnetwork VPC Anda.
--composer-internal-ipv4-cidr-block
menentukan rentang IP internal lingkungan. Rentang ini digunakan oleh Cloud Composer di project tenant di lingkungan Anda.
Contoh (Lingkungan IP Pribadi dengan jaringan VPC yang terhubung)
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.9.1-build.6 \
--enable-private-environment \
--network NETWORK_ID \
--subnetwork SUBNETWORK_ID \
Ganti:
NETWORK_ID
dengan ID jaringan VPC Anda.SUBNETWORK_ID
dengan ID subnetwork VPC Anda.
Langkah 6. (Opsional) Tambahkan tag jaringan
Tag jaringan diterapkan ke semua VM node di lingkungan Anda . Tag digunakan untuk mengidentifikasi sumber atau target yang valid untuk jaringan {i>firewall<i}. Setiap tag dalam daftar harus mematuhi RFC 1035.
Misalnya, Anda mungkin ingin menambahkan tag jaringan jika Anda berencana untuk membatasi traffic untuk lingkungan IP Pribadi dengan aturan firewall.
Konsol
Di halaman Create environment:
- Temukan bagian Konfigurasi jaringan.
- 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-3-airflow-2.9.1-build.6 \
--tags TAGS
Ganti:
TAGS
dengan daftar tag jaringan yang dipisahkan koma.
Contoh:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-3-airflow-2.9.1-build.6 \
--tags group1,production
API
Saat Anda membuat lingkungan, di bagian Lingkungan > Resource 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 bloknode_config
menentukan daftar yang dipisahkan koma dari tag jaringan 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 7. (Opsional) Mengonfigurasi akses jaringan server web
Parameter akses server web Airflow tidak bergantung pada jenis lingkungan fleksibel App Engine. Sebagai gantinya, Anda dapat mengonfigurasi akses server web secara terpisah. Sebagai misalnya, lingkungan IP Pribadi tetap dapat memiliki UI Airflow dari internet.
Anda tidak dapat mengonfigurasi rentang IP yang diizinkan menggunakan alamat IP pribadi.
Konsol
Di halaman Create environment:
Di bagian Konfigurasi jaringan, luaskan Tampilkan jaringan konfigurasi.
Di bagian Web server network access control:
Untuk memberikan akses ke server web Airflow dari semua alamat IP, pilih Izinkan akses dari semua alamat IP.
Untuk membatasi akses hanya ke rentang IP tertentu, pilih Izinkan akses hanya dari alamat IP tertentu. Dalam rentang IP , tentukan rentang IP dalam notasi CIDR. Di beberapa kolom Description, tentukan deskripsi opsional untuk {i>range<i}. Jika Anda ingin menentukan lebih dari satu rentang, klik Tambahkan IP rentang.
Untuk melarang akses bagi semua alamat IP, pilih Izinkan akses hanya dari alamat IP tertentu dan klik Hapus item di samping yang kosong entri rentang.
gcloud
Saat Anda membuat lingkungan, argumen berikut akan mengontrol server web {i>access level<i} (tingkat akses):
--web-server-allow-all
memberikan akses ke Airflow dari semua alamat IP. Opsi ini adalah opsi default.--web-server-allow-ip
hanya membatasi akses ke IP sumber tertentu rentang. 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-3-airflow-2.9.1-build.6 \
--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-3-airflow-2.9.1-build.6 \
--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 bagian Lingkungan > Resource EnvironmentConfig, tentukan server web parameter akses.
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 bagi semua alamat IP, tambahkan
allowedIpRanges
dan jadikan daftar kosong. Jangan tentukan 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 Anda.
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 8. (Opsional) Menentukan penggantian konfigurasi Airflow dan variabel lingkungan
Anda dapat menyiapkan penggantian konfigurasi Airflow dan variabel lingkungan saat Anda membuat lingkungan. Sebagai seorang 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 Airflow dan variabel lingkungan:
Konsol
Di halaman Create environment:
Di bagian Variabel lingkungan, klik Tambahkan variabel lingkungan.
Masukkan Nama dan Nilai untuk variabel lingkungan.
Di bagian Penggantian konfigurasi Airflow, klik Menambahkan penggantian konfigurasi Airflow.
Masukkan Section, Key, dan Value untuk konfigurasi penggantian opsi.
Contoh:
Bagian Kunci Nilai webserver
dag_orientation
TB
gcloud
Saat Anda membuat lingkungan, mengikuti lingkungan kontrol argumen variabel dan penggantian konfigurasi Airflow:
--env-variables
menentukan daftar lingkungan yang dipisahkan koma variabel.Nama variabel dapat berisi huruf besar dan kecil, angka, dan garis bawah, tetapi mungkin tidak dimulai 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-3-airflow-2.9.1-build.6 \
--env-variables ENV_VARS \
--airflow-configs CONFIG_OVERRIDES
Ganti:
ENV_VARS
dengan daftar pasanganNAME=VALUE
yang dipisahkan koma untuk variabel lingkungan.CONFIG_OVERRIDES
dengan daftarSECTION-KEY=VALUE
yang dipisahkan koma yang sama untuk penggantian konfigurasi. Pisahkan nama 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-3-airflow-2.9.1-build.6 \
--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 bagian Lingkungan > Resource 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 di file konfigurasi tempat Airflow opsi konfigurasi tersedia.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, tindakan berikut akan memblokir lingkungan kontrol variabel dan penggantian konfigurasi Airflow:
Blok
env_variables
dalam bloksoftware_config
menentukan variabel lingkungan.Nama variabel dapat berisi huruf besar dan kecil, angka, dan garis bawah, tetapi mungkin tidak dimulai dengan angka.
Blok
airflow_config_overrides
dalam bloksoftware_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 di file konfigurasi tempat Airflow opsi konfigurasi tersedia.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 9. (Opsional) Menentukan masa pemeliharaan
Masa pemeliharaan default di Cloud Composer 3 ditentukan dengan cara berikut:
- Semua waktu menggunakan zona waktu lokal wilayah tempat lingkungan Anda berada ditemukan, namun dengan waktu musim panas diabaikan.
- Waktu pemeliharaan dimulai dari hari Selasa, Rabu, Kamis, dan Jumat 00:00:00 hingga 02:00:00.
- Masa pemeliharaan untuk hari Sabtu, Minggu, dan Senin dimulai dari pukul 00:00:00 ke 04:00:00.
Untuk menentukan masa pemeliharaan kustom bagi lingkungan Anda:
Konsol
Di halaman Buat lingkungan
Temukan bagian Pemeliharaan Windows.
Di menu drop-down Zona Waktu, pilih zona waktu untuk pemeliharaan Windows.
Tetapkan Waktu mulai, Hari, dan Durasi, sehingga Waktu gabungan untuk jadwal yang ditentukan setidaknya 12 jam dalam 7 hari periode bergulir. Misalnya, jangka waktu 4 jam setiap hari Senin, Rabu dan Jumat memberikan durasi waktu yang diperlukan.
gcloud
Argumen berikut menentukan parameter masa pemeliharaan:
--maintenance-window-start
menetapkan waktu mulai pemeliharaan jendela.--maintenance-window-end
menetapkan waktu berakhir masa pemeliharaan.--maintenance-window-recurrence
kumpulan pengulangan masa pemeliharaan.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.9.1-build.6 \
--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 untuk hari digunakan, tanggal yang ditentukan akan diabaikan.DATETIME_END
dengan tanggal dan waktu berakhir dalam kolom format input tanggal/waktu. Hanya waktu yang ditentukan untuk hari digunakan, tanggal yang ditentukan akan diabaikan. Tanggal dan waktu harus setelah tanggal mulai.MAINTENANCE_RECURRENCE
dengan Raturan RFC 5545 untuk pemeliharaan pengulangan windows. 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.
Contoh berikut menentukan masa pemeliharaan 6 jam antara pukul 01.00 dan 07.00 (UTC) pada hari Rabu, Sabtu, dan Minggu. 1 Januari 2023 tanggal akan diabaikan.
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-3-airflow-2.9.1-build.6 \
--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 Lingkungan > Resource EnvironmentConfig, tentukan parameter masa 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 tertentu dalam sehari akan digunakan, tanggal yang ditentukan akan diabaikan.DATETIME_END
dengan tanggal dan waktu berakhir dalam kolom format input tanggal/waktu. Hanya waktu tertentu dalam sehari akan digunakan, tanggal yang ditentukan akan diabaikan. Tujuan tanggal dan waktu yang ditentukan harus setelah tanggal mulai.MAINTENANCE_RECURRENCE
dengan RFC 5545 RRules untuk masa pemeliharaan pengulangan. 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.
Contoh berikut menentukan masa pemeliharaan 6 jam antara pukul 01.00 dan 07.00 (UTC) pada hari Rabu, Sabtu, dan Minggu. 1 Januari 2023 tanggal 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:
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 tertentu dalam sehari akan digunakan, tanggal yang ditentukan akan diabaikan.DATETIME_END
dengan tanggal dan waktu berakhir dalam kolom format input tanggal/waktu. Hanya waktu tertentu dalam sehari akan digunakan, tanggal yang ditentukan akan diabaikan. Tujuan tanggal dan waktu yang ditentukan harus setelah tanggal mulai.MAINTENANCE_RECURRENCE
dengan RFC 5545 RRules untuk masa pemeliharaan pengulangan. 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.
- Format
Contoh berikut menentukan masa pemeliharaan 6 jam antara pukul 01.00 dan 07.00 (UTC) pada hari Rabu, Sabtu, dan Minggu. 1 Januari 2023 tanggal 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 10. (Opsional) Integrasi silsilah data
Silsilah data adalah fitur Dataplex yang memungkinkan Anda melacak perpindahan data.
Integrasi silsilah data tersedia di semua versi dari Cloud Composer 3.Integrasi silsilah data diaktifkan secara otomatis di Lingkungan Cloud Composer jika kondisi berikut terpenuhi:
Data Lineage API diaktifkan di project Anda. Untuk informasi selengkapnya, lihat Mengaktifkan Data Lineage API di Dokumentasi Dataplex.
Kustom Backend Silsilah tidak dikonfigurasi di Airflow.
Anda dapat menonaktifkan integrasi silsilah data saat membuat lingkungan. Sebagai 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:
Di bagian Advanced configuration, luaskan item Show advanced configuration.
Di bagian Dataplex data lineage integration, pilih Menonaktifkan integrasi dengan silsilah data Dataplex.
gcloud
Saat Anda membuat lingkungan, --disable-cloud-data-lineage-integration
akan menonaktifkan integrasi silsilah data.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.9.1-build.6 \
--disable-cloud-data-lineage-integration
Ganti:
ENVIRONMENT_NAME
dengan nama lingkungan.LOCATION
dengan region tempat lingkungan berada.
Contoh:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-3-airflow-2.9.1-build.6 \
--disable-cloud-data-lineage-integration
Langkah 11. (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 (Customer-Managed Encryption Key/CMEK) untuk mengenkripsi data di lingkungan, ikuti petunjuk yang diuraikan di Menggunakan kunci enkripsi yang dikelola pelanggan.
Langkah 12. (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 proyek. Lingkungan Anda menggunakan bucket ini dengan cara yang sama seperti lingkungan bucket yang dibuat.
Untuk menggunakan bucket lingkungan kustom, ikuti petunjuk yang diuraikan di Menggunakan bucket lingkungan kustom.
Langkah 13. (Opsional) Menentukan label lingkungan
Anda dapat menetapkan label ke lingkungan untuk mengelompokkan biaya penagihan berdasarkan label ini.
Konsol
Di halaman Buat lingkungan, di bagian Label:
Klik Tambahkan label.
Di kolom Kunci dan Nilai, tentukan pasangan kunci dan nilai untuk label lingkungan.
gcloud
Saat Anda membuat lingkungan, argumen --labels
menentukan daftar kunci dan nilai yang dipisahkan koma beserta label lingkungan.
gcloud composer environments create ENVIRONMENT_NAME \
--location LOCATION \
--image-version composer-3-airflow-2.9.1-build.6 \
--labels LABELS
Ganti:
LABELS
dengan daftar pasanganKEY=VALUE
yang dipisahkan koma untuk lingkungan label.
Contoh:
gcloud composer environments create example-environment \
--location us-central1 \
--image-version composer-3-airflow-2.9.1-build.6 \
--labels owner=engineering-team,env=production
API
Saat Anda membuat lingkungan, di bagian Lingkungan menentukan 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 di 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
- Memecahkan masalah pembuatan lingkungan
- Mengonfigurasi VPC Bersama
- Mengonfigurasi Kontrol Layanan VPC
- Menambahkan dan memperbarui DAG
- Mengakses UI Airflow
- Memperbarui dan menghapus lingkungan
- Tentang versi Cloud Composer