Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Halaman ini menjelaskan arsitektur lingkungan Cloud Composer.
Konfigurasi arsitektur lingkungan
Lingkungan Cloud Composer 1 dapat memiliki konfigurasi arsitektur berikut:
- Arsitektur IP publik
- Arsitektur IP pribadi dengan peering VPC
- IP pribadi dengan arsitektur Berbagi dengan domain terbatas (DRS)
Project pelanggan dan tenant
Saat Anda membuat lingkungan, Cloud Composer mendistribusikan resource lingkungan antara tenant dan project pelanggan:
- Project pelanggan adalah project Google Cloud tempat Anda membuat lingkungan. Anda dapat membuat lebih dari satu lingkungan dalam satu project konsumen.
Project tenant adalah project tenant yang dikelola Google. Project tenant menyediakan kontrol akses terpadu dan lapisan keamanan data tambahan ke lingkungan Anda. Setiap lingkungan Cloud Composer memiliki project tenantnya sendiri.
Komponen lingkungan
Lingkungan Cloud Composer terdiri dari komponen lingkungan.
Komponen lingkungan adalah elemen infrastruktur Airflow terkelola yang berjalan di Google Cloud, sebagai bagian dari lingkungan Anda. Komponen lingkungan berjalan di tenant atau di project pelanggan lingkungan Anda.
Cluster lingkungan
Cluster lingkungan adalah cluster Google Kubernetes Engine mode Standar native VPC atau Berbasis rute dari lingkungan Anda:
Secara default, Cloud Composer mengaktifkan upgrade otomatis node dan perbaikan otomatis node untuk melindungi cluster lingkungan Anda dari kerentanan keamanan. Operasi ini terjadi selama periode pemeliharaan yang Anda tentukan untuk lingkungan Anda.
Bucket lingkungan
Bucket lingkungan adalah bucket Cloud Storage yang menyimpan DAG, plugin, dependensi data, dan log Airflow. Bucket lingkungan terletak di project pelanggan.
Saat Anda mengupload file DAG ke folder /dags
di bucket lingkungan, Cloud Composer akan menyinkronkan DAG ke komponen Airflow di lingkungan Anda.
Server web Airflow
Server web Airflow menjalankan UI Airflow di lingkungan Anda.
Di Cloud Composer 1, server web Airflow berjalan di project tenant lingkungan Anda.
Server web Airflow terintegrasi dengan Identity-Aware Proxy. Cloud Composer menyembunyikan detail integrasi IAP, dan memberikan akses ke server web berdasarkan identitas pengguna dan binding kebijakan IAM yang ditentukan untuk pengguna.
Di Cloud Composer 1, server web Airflow berjalan di akun layanan yang berbeda
dari pekerja Airflow dan penjadwal Airflow. Akun layanan untuk server web dibuat secara otomatis selama pembuatan lingkungan dan berasal dari domain server web. Misalnya, jika domainnya adalah example.appspot.com
, akun layanannya adalah example@
.
Database Airflow
Database Airflow adalah instance Cloud SQL yang berjalan di project tenant lingkungan Anda. Database ini menghosting database metadata Airflow.
Untuk melindungi informasi alur kerja dan koneksi sensitif, Cloud Composer hanya mengizinkan akses database ke akun layanan lingkungan Anda.
Komponen aliran udara lainnya
Komponen Airflow lainnya yang berjalan di lingkungan Anda adalah:
Penjadwal Airflow mengurai file definisi DAG, menjadwalkan DAG berjalan berdasarkan interval jadwal, dan mengantrekan tugas untuk dieksekusi oleh pekerja Airflow. Di Cloud Composer 1, pemroses DAG Airflow berjalan sebagai bagian dari komponen penjadwal.
Pekerja Airflow menjalankan tugas yang dijadwalkan oleh penjadwal Airflow.
Arsitektur lingkungan IP publik
Dalam arsitektur lingkungan IP Publik untuk Cloud Composer 1:
- Project tenant menghosting instance Cloud SQL, penyimpanan Cloud SQL, dan instance App Engine Flex yang menjalankan server web Airflow.
- Project pelanggan menghosting semua komponen lingkungan lainnya.
- Penjadwal dan pekerja Airflow di project pelanggan berkomunikasi dengan database Airflow melalui instance proxy Cloud SQL yang terletak di project pelanggan.
- Server web Airflow di project tenant berkomunikasi dengan database Airflow melalui instance proxy Cloud SQL yang terletak di project tenant.
Arsitektur lingkungan IP pribadi
Dalam arsitektur lingkungan IP Pribadi:
- Project tenant menghosting instance Cloud SQL, penyimpanan Cloud SQL, dan dua instance App Engine yang menjalankan server web Airflow.
- Project pelanggan menghosting semua komponen lingkungan lainnya.
- Penjadwal dan pekerja Airflow terhubung ke database Airflow melalui proses HAProxy di cluster lingkungan.
- Proses HAProxy melakukan load balancing traffic ke instance Cloud SQL antara dua instance Proxy Cloud SQL yang berada di project tenant. Lingkungan IP pribadi menggunakan dua instance Proxy Cloud SQL karena project pelanggan tidak mengakses database secara langsung karena batasan jaringan. Dua instance diperlukan untuk memastikan bahwa komponen lingkungan Anda memiliki akses ke database setiap saat.
IP pribadi dengan DRS
Jika kebijakan organisasi Berbagi Terbatas Domain (DRS) diaktifkan di project Anda, Cloud Composer akan menggunakan IP Pribadi dengan arsitektur lingkungan DRS.
Dalam arsitektur lingkungan IP Pribadi dengan DRS:
Project tenant menghosting instance Cloud SQL, penyimpanan Cloud SQL, dan dua instance App Engine yang menjalankan server web Airflow.
Project tenant menghosting bucket lingkungan tambahan. Server web Airflow mengakses bucket ini secara langsung.
Project pelanggan menghosting semua komponen lingkungan lainnya.
Project pelanggan menghosting Proses Sinkronisasi Bucket di cluster lingkungan. Proses ini menyinkronkan dua bucket lingkungan.
Penjadwal dan pekerja Airflow terhubung ke database Airflow melalui proses HAProxy di cluster lingkungan.
Proses HAProxy melakukan load balancing traffic ke instance Cloud SQL antara dua instance Proxy Cloud SQL yang berada di project tenant. Lingkungan IP pribadi menggunakan dua instance Proxy Cloud SQL karena project pelanggan tidak mengakses database secara langsung karena batasan jaringan. Dua instance diperlukan untuk memastikan bahwa komponen lingkungan Anda memiliki akses ke database setiap saat.
Integrasi dengan Cloud Logging dan Cloud Monitoring
Cloud Composer terintegrasi dengan Cloud Logging dan Cloud Monitoring project Google Cloud Anda, sehingga Anda memiliki tempat terpusat untuk melihat log Airflow dan DAG.
Cloud Monitoring mengumpulkan dan menyerap metrik, peristiwa, dan metadata dari Cloud Composer untuk menghasilkan insight melalui dasbor dan diagram.
Karena sifat streaming Cloud Logging, Anda dapat langsung melihat log yang dikeluarkan oleh komponen Airflow, bukan menunggu log Airflow muncul di bucket Cloud Storage lingkungan Anda.
Untuk membatasi jumlah log di project Google Cloud, Anda dapat menghentikan semua penyerapan log. Jangan nonaktifkan Logging.