Arsitektur lingkungan

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:

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

Resource lingkungan Cloud Composer IP Publik di project tenant dan project pelanggan
Gambar 1. Arsitektur lingkungan IP publik (klik untuk memperbesar)

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

Resource lingkungan Cloud Composer IP pribadi di project tenant dan project pelanggan
Gambar 2. Arsitektur lingkungan IP pribadi (klik untuk memperbesar)

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

IP pribadi dengan resource lingkungan Cloud Composer DRS di project tenant dan project pelanggan (klik untuk memperbesar)
Gambar 3. Arsitektur lingkungan IP pribadi (klik untuk memperbesar)

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.

Langkah selanjutnya