Cloud Composer 1 | Cloud Composer 2
Apache Airflow mencakup antarmuka pengguna (UI) web yang dapat Anda gunakan untuk mengelola alur kerja (DAG), mengelola lingkungan Airflow, dan melakukan tindakan administratif. Misalnya, Anda dapat menggunakan antarmuka web untuk meninjau progres DAG, menyiapkan koneksi data baru, atau meninjau log dari DAG sebelumnya yang dijalankan.
Server web Airflow
Setiap lingkungan Cloud Composer memiliki server web yang menjalankan antarmuka web Airflow. Server web adalah bagian dari arsitektur lingkungan Cloud Composer.
Server web mengurai file definisi DAG dalam folder dags/
dan harus dapat mengakses data serta resource DAG untuk memuat DAG dan melayani permintaan HTTP.
Server web memperbarui DAG setiap 60 detik, yang merupakan worker_refresh_interval
default di Cloud Composer. Error server web dapat
terjadi jika server web tidak dapat mengurai semua DAG dalam interval refresh.
Melebihi 60 detik untuk memuat DAG dapat terjadi jika ada file DAG
dalam jumlah besar atau beban kerja yang berat untuk memuat file DAG. Untuk memastikan bahwa
server web tetap dapat diakses terlepas dari waktu pemuatan DAG, Anda dapat
mengonfigurasi pemuatan DAG asinkron untuk mengurai dan memuat DAG
di latar belakang pada interval yang telah dikonfigurasi sebelumnya (tersedia di
composer-1.7.1-airflow-1.10.2
dan versi yang lebih baru).
Konfigurasi ini juga dapat mengurangi waktu refresh DAG.
Selain melebihi interval refresh pekerja, server web dapat menangani dengan baik kegagalan pemuatan DAG dalam sebagian besar kasus. DAG yang menyebabkan server web error atau keluar dapat menyebabkan error ditampilkan di browser. Untuk informasinya, lihat Memecahkan masalah DAG.
Jika Anda terus mengalami masalah server web karena penguraian DAG, sebaiknya gunakan pemuatan DAG asinkron.
Sebelum memulai
Anda harus memiliki peran yang dapat melihat lingkungan Cloud Composer. Untuk mengetahui informasi selengkapnya, lihat Kontrol akses.
Selama pembuatan lingkungan, Cloud Composer mengonfigurasi URL untuk server web yang menjalankan antarmuka web Airflow. URL tidak dapat disesuaikan.
- Fitur Airflow UI Access Control (Airflow Role-Based Access Control) untuk antarmuka web Airflow didukung untuk lingkungan Cloud Composer yang menjalankan Composer versi 1.13.4 atau yang lebih baru, Airflow versi 1.10.10 atau yang lebih baru, dan Python 3.
Mengakses antarmuka web Airflow
Layanan server web Airflow di-deploy ke domain appspot.com
dan menyediakan akses ke antarmuka web Airflow. Cloud Composer 1 memberikan akses ke antarmuka berdasarkan identitas pengguna dan binding kebijakan IAM yang ditentukan untuk pengguna. Cloud Composer 1 menggunakan Identity-Aware Proxy untuk tujuan ini.
Setelah membuat lingkungan Cloud Composer baru, perlu waktu hingga 25 menit agar antarmuka web selesai menghosting dan dapat diakses.
Mengakses antarmuka web dari Konsol Google Cloud
Untuk mengakses antarmuka web Airflow dari Konsol Google Cloud:
Di konsol Google Cloud, buka halaman Environments.
Di kolom server web Airflow, ikuti link Airflow untuk lingkungan Anda.
Login dengan akun Google yang memiliki izin yang sesuai.
Membatasi akses ke server web Airflow
Lingkungan Composer memungkinkan Anda membatasi akses ke server web Airflow:
- Anda dapat memblokir semua akses, atau mengizinkan akses dari rentang IP eksternal IPv4 atau IPv6 tertentu.
- Rentang IP yang diizinkan tidak dapat dikonfigurasi menggunakan alamat IP pribadi.
Mengambil URL antarmuka web melalui alat command line gcloud
Anda dapat mengakses antarmuka web Airflow dari browser web apa pun. Untuk mendapatkan URL
antarmuka web, masukkan perintah gcloud
berikut:
gcloud composer environments describe ENVIRONMENT_NAME \
--location LOCATION
Ganti kode berikut:
ENVIRONMENT_NAME
: nama lingkungan Anda.LOCATION
: region tempat lingkungan berada.
Perintah gcloud
menampilkan properti lingkungan Cloud Composer, termasuk URL untuk antarmuka web. URL akan
dicantumkan sebagai airflowUri
.
config:
airflowUri: https://example-tp.appspot.com
Mengonfigurasi pemuatan DAG asinkron
Saat pemuatan DAG asinkron diaktifkan, server web Airflow akan membuat proses baru. Proses ini memuat DAG di latar belakang,
mengirim DAG yang baru dimuat pada interval yang ditentukan oleh opsi dagbag_sync_interval
, lalu tidur.
Proses ini aktif secara berkala untuk memuat ulang DAG, intervalnya ditentukan oleh opsi collect_dags_interval
.
Untuk mengaktifkan pemuatan DAG asinkron:
Nonaktifkan serialisasi DAG. Pemuatan DAG asinkron tidak dapat digunakan dengan serialisasi DAG. Penggunaan opsi konfigurasi Airflow
async_dagbag_loader
danstore_serialized_dags
akan menghasilkan error HTTP 503 dan merusak lingkungan Anda.Ganti opsi konfigurasi Airflow berikut:
Bagian Kunci Nilai Notes webserver
async_dagbag_loader
True
Nilai defaultnya adalah False
.webserver
collect_dags_interval
30
Nilai defaultnya adalah 30
. Gunakan nilai yang lebih kecil untuk refresh yang lebih cepat.webserver
dagbag_sync_interval
10
Nilai defaultnya adalah 10
.webserver
worker_refresh_interval
3600
Nilai defaultnya adalah 60
. Dengan pemuatan DAG asinkron, Anda dapat menggunakan interval refresh yang lebih lama.
Memulai ulang server web
Saat melakukan proses debug atau memecahkan masalah lingkungan Cloud Composer, beberapa masalah mungkin dapat diselesaikan dengan memulai ulang server web Airflow. Anda dapat memulai ulang server web menggunakan restartWebServer API atau perintah gcloud restart-web-server
:
gcloud beta composer environments restart-web-server ENVIRONMENT_NAME \
--location=LOCATION