Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Halaman ini memberikan langkah-langkah dan informasi pemecahan masalah untuk masalah server web Airflow umum.
Server web Airflow adalah komponen Airflow yang menyediakan antarmuka pengguna untuk mengelola DAG dan tugas Airflow. Halaman ini menjelaskan langkah-langkah pemecahan masalah untuk berbagai masalah terkait akses ke server web Airflow di lingkungan Anda atau untuk peringatan terkait server web yang terlihat di log Airflow.
Tidak dapat mengakses UI Airflow saat kontrol akses jaringan diaktifkan
Gejala: Setelah kontrol akses server web dikonfigurasi, UI Airflow tidak dapat diakses. Biasanya, kode error yang ditampilkan dalam situasi ini adalah 403.
Informasi tentang masalah ini: Cloud Composer mendukung kontrol akses jaringan server web, yang memungkinkan Anda menentukan rentang IP yang diizinkan untuk terhubung ke server web.
Masalah saat mengakses UI Airflow biasanya menghasilkan error 403. Untuk memeriksa apakah error terkait dengan kontrol akses jaringan server web, lakukan hal berikut:
- Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
- Buka tab Konfigurasi lingkungan.
- Periksa apakah item Kontrol akses server web disetel ke Semua alamat IP memiliki akses (default).
- Jika nilai yang berbeda dengan Semua alamat IP memiliki akses (default) dikonfigurasi, maka kontrol akses jaringan diaktifkan dan visibilitas UI Airflow dibatasi ke rentang alamat IPv4 dan IPv6 yang diberikan. Dalam hal ini, masalahnya mungkin terkait dengan kontrol akses jaringan server web.
Dalam kebanyakan kasus, penyebab masalahnya adalah ketidakcocokan antara IP yang dimaksud yang Anda tentukan dan IP yang sebenarnya di-resolve untuk terhubung ke UI Airflow. Untuk memecahkan masalah, lakukan langkah-langkah berikut:
Dalam daftar lingkungan, klik nama lingkungan Anda. Halaman Environment details akan terbuka.
Buka tab Konfigurasi lingkungan.
Temukan item Kontrol akses server web, lalu klik Edit.
Dalam dialog Web server network access control, pilih Allow access from all IP addresses.
Akses UI Airflow beberapa kali dan pastikan UI berfungsi tanpa masalah:
Jika Anda tidak mengalami masalah, lanjutkan ke langkah berikutnya.
Jika Anda mengalami masalah pada tahap ini, artinya masalah tersebut mungkin terkait dengan konfigurasi izin IAM Anda. Untuk mengetahui informasi selengkapnya tentang izin IAM untuk Cloud Composer, lihat Kontrol akses.
Dalam dialog Web server network access control, pilih Allow access only from specific IP addresses.
Tambahkan rentang IP
0.0.0.0/0
, lalu akses UI Airflow beberapa kali dan verifikasi bahwa UI berfungsi tanpa masalah:Jika Anda tidak mengalami masalah, berarti IP yang Anda gunakan untuk terhubung adalah alamat IPv4.
Jika Anda mengalami masalah pada tahap ini, berarti IP yang Anda gunakan untuk terhubung adalah alamat IPv6.
Hapus rentang IP
0.0.0.0/0
, lalu tambahkan rentang IP::/0
.Jika Anda tidak mengalami masalah, berarti IP yang Anda gunakan untuk terhubung adalah alamat IPv6.
Jika Anda mengalami masalah pada tahap ini, berarti IP yang Anda gunakan untuk terhubung adalah alamat IPv4.
Sekarang Anda telah menentukan apakah alamat yang di-resolve adalah IPv4 atau IPv6.
Bergantung pada jenis alamat, persempit rentang
::/0
atau0.0.0.0/0
ke rentang yang lebih spesifik, untuk memverifikasi rentang terluas saat akses berhenti berfungsi:Anda dapat memulai dengan subnet mask yang luas (seperti
192.0.2.0/8
) yang mencakup alamat yang Anda anggap sebagai alamat IP Anda.Untuk menentukan alamat IP Anda, Anda dapat menggunakan layanan pihak ketiga yang memberikan alamat IP eksternal Anda saat Anda membuka halamannya. Anda dapat menelusuri layanan tersebut dengan kueri penelusuran "apa alamat IP saya").
Nilai konfigurasi tidak ditampilkan di halaman konfigurasi
Beberapa parameter konfigurasi Airflow disembunyikan di halaman konfigurasi untuk mencegah akses ke informasi yang berpotensi sensitif. Misalnya, kredensial untuk mengakses database Airflow tidak ditampilkan.
Untuk menampilkan kolom tersembunyi, ganti opsi konfigurasi Airflow berikut. Sebaiknya kembalikan perubahan setelah Anda mendapatkan nilai yang diperlukan.
Bagian | Kunci | Nilai | Catatan |
---|---|---|---|
webserver
|
expose_config
|
True
|
Nilai defaultnya adalah non-sensitive-only . Tetapkan ke False untuk menyembunyikan semua parameter konfigurasi. |
DAG menyebabkan server web Airflow mengalami error atau menampilkan error '502 gateway timeout'
Kegagalan server web dapat terjadi karena beberapa alasan yang berbeda. Periksa
log airflow-webserver di
Cloud Logging untuk menentukan penyebab error
502 gateway timeout
.
Komputasi beban berat
Bagian ini hanya berlaku untuk Cloud Composer 1.
Tidak seperti node pekerja dan penjadwal, yang jenis mesinnya dapat disesuaikan untuk memiliki kapasitas CPU dan memori yang lebih besar, server web menggunakan jenis mesin tetap, yang dapat menyebabkan kegagalan penguraian DAG jika komputasi waktu penguraian terlalu berat.
Perhatikan bahwa server web memiliki 2 vCPU dan memori 2 GB.
Nilai default untuk core-dagbag_import_timeout
adalah 30 detik. Nilai
waktu tunggu ini menentukan batas atas durasi Airflow memuat modul
Python di folder /dags
.
Izin salah
Bagian ini hanya berlaku untuk Cloud Composer 1.
Server web tidak berjalan dengan akun layanan yang sama dengan pekerja dan penjadwal. Dengan demikian, pekerja dan penjadwal mungkin dapat mengakses resource yang dikelola pengguna yang tidak dapat diakses oleh server web.
Sebaiknya hindari mengakses resource non-publik selama penguraian DAG. Terkadang, hal ini tidak dapat dihindari, dan Anda harus memberikan izin ke akun layanan server web. Nama akun layanan berasal dari domain server web Anda. Misalnya, jika domainnya
adalah example-tp.appspot.com
, akun layanannya adalah
example-tp@appspot.gserviceaccount.com
.
Error DAG
Bagian ini hanya berlaku untuk Cloud Composer 1.
Server web berjalan di App Engine dan terpisah dari
cluster GKE lingkungan Anda. Server web menguraikan file definisi DAG, dan 502 gateway timeout
dapat terjadi jika ada error dalam DAG. Airflow berfungsi normal tanpa server web yang berfungsi jika DAG yang bermasalah tidak mengganggu proses apa pun yang berjalan di GKE.
Dalam hal ini, Anda dapat menggunakan gcloud composer environments run
untuk mengambil
detail dari lingkungan Anda dan sebagai solusi jika server web menjadi
tidak tersedia.
Dalam kasus lain, Anda dapat menjalankan parsing DAG di GKE dan mencari DAG yang memunculkan pengecualian Python fatal atau yang waktunya habis (default 30 detik). Untuk memecahkan masalah, hubungkan ke shell jarak jauh di penampung pekerja Airflow dan uji error sintaksis. Untuk mengetahui informasi selengkapnya, lihat Menguji DAG.