Arsitektur lingkungan

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

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 project pelanggan dan project tenant:

  • Project pelanggan adalah Google Cloud project tempat Anda membuat lingkungan. Anda dapat membuat lebih dari satu lingkungan dalam satu project pelanggan.

  • Project tenant adalah project tenant yang dikelola Google dan termasuk dalam organisasi Google.com. Project tenant menyediakan kontrol akses terpadu dan lapisan keamanan data tambahan untuk lingkungan Anda. Setiap lingkungan Cloud Composer memiliki project tenant-nya 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 Standard mode VPC native atau Berbasis rute di 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 masa 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 berada di project pelanggan.

Saat Anda mengupload file DAG ke folder /dags di bucket lingkungan Anda, 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 pengikatan kebijakan IAM yang ditentukan untuk pengguna.

Di Cloud Composer 1, server web Airflow berjalan di akun layanan yang berbeda dengan pekerja Airflow dan scheduler 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 layanan adalah [email protected].

Database Airflow

Database Airflow adalah instance Cloud SQL yang berjalan di project tenant lingkungan Anda. Menghosting database metadata Airflow.

Untuk melindungi informasi koneksi dan alur kerja yang sensitif, Cloud Composer hanya mengizinkan akses database ke akun layanan lingkungan Anda.

Komponen airflow lainnya

Komponen Airflow lain yang berjalan di lingkungan Anda adalah:

  • Scheduler Airflow mengurai file definisi DAG, menjadwalkan eksekusi DAG berdasarkan interval jadwal, dan mengantrekan tugas untuk dieksekusi oleh worker Airflow. Di Cloud Composer 1 Prosesor DAG Airflow berjalan sebagai bagian dari komponen penjadwal.

  • Worker 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.
  • Scheduler dan pekerja Airflow di project pelanggan berkomunikasi dengan database Airflow melalui instance proxy Cloud SQL yang berada di project pelanggan.
  • Server web Airflow di project tenant berkomunikasi dengan database Airflow melalui instance proxy Cloud SQL yang berada 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 menyeimbangkan beban 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 yang Dibatasi Domain (DRS) diaktifkan di project Anda, Cloud Composer akan menggunakan arsitektur lingkungan IP Pribadi dengan 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 menyeimbangkan beban 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 Anda, sehingga Anda memiliki satu tempat terpusat untuk melihat log Airflow dan DAG. Google Cloud

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 melihat log yang dikeluarkan oleh komponen Airflow secara langsung, bukan menunggu log Airflow muncul di bucket Cloud Storage lingkungan Anda.

Untuk membatasi jumlah log dalam project Google Cloud , Anda dapat menghentikan semua penyerapan log. Jangan menonaktifkan Logging.

Langkah berikutnya