Masalah umum

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Halaman ini mencantumkan masalah umum Cloud Composer. Untuk informasi tentang perbaikan masalah, lihat Catatan rilis.

Beberapa masalah memengaruhi versi sebelumnya, dan dapat diperbaiki dengan mengupgrade lingkungan Anda.

Rentang alamat non-RFC 1918 didukung sebagian untuk Pod dan Layanan

Cloud Composer bergantung pada GKE untuk memberikan dukungan untuk alamat non-RFC 1918 untuk Pod dan Layanan. Hanya daftar rentang Non-RFC 1918 berikut yang didukung di Cloud Composer:

  • 100.64.0.0/10
  • 192.0.0.0/24
  • 192.0.2.0/24
  • 192.88.99.0/24
  • 198.18.0.0/15
  • 198.51.100.0/24
  • 203.0.113.0/24
  • 240.0.0.0/4

UI Airflow tidak menampilkan log tugas saat Serialisasi DAG diaktifkan di Composer 1.10.2 dan Composer 1.10.3

Mengaktifkan serialisasi DAG di lingkungan yang menggunakan Composer versi 1.10.2 dan 1.10.3 akan mencegah log ditampilkan di server web Airflow. Upgrade ke versi 1.10.4 (atau yang lebih baru) untuk memperbaiki masalah ini.

Kegagalan Tugas Terputus-putus selama penjadwalan di Cloud Composer

Masalah ini terlihat di penjadwal Airflow untuk instance tugas selama eksekusi tugas. Namun, log tidak menjelaskan penyebab kegagalan tugas dan pekerja Airflow serta penjadwal Airflow terlihat relatif baik.

Pesan error di penjadwal Airflow mungkin terlihat seperti ini:

Executor reports task instance <TaskInstance: xx.xxxx
scheduled__2022-04-21T06:00:00+00:00 [queued]> finished (failed) although the
task says its queued. (Info: None) Was the task killed externally?

Atau mungkin ada error pada Airflow Worker yang mirip dengan pesan error berikut:

Log file is not found: gs://$BUCKET_NAME/logs/$DAG_NAME/$TASK_NAME/
2023-01-25T05:01:17.044759+00:00/1.log.
The task might not have been executed or worker executing it might have
finished abnormally (e.g. was evicted).

Untuk memastikan ketahanan terhadap error tersebut yang berasal dari masalah lama di Airflow, sebaiknya terapkan strategi percobaan ulang yang sesuai secara proaktif di tingkat tugas dan DAG. Dengan menerapkan langkah-langkah ini, sistem dapat secara efektif memitigasi dampak error ini, sehingga meningkatkan keandalan dan ketahanan alur kerja secara keseluruhan.

Workload Identity Federation GKE untuk GKE tidak didukung

Di Cloud Composer 1, Anda tidak dapat mengaktifkan Workload Identity Federation for GKE untuk cluster lingkungan Cloud Composer. Akibatnya, Anda mungkin melihat temuan WORKLOAD_IDENTITY_DISABLED di Security Command Center.

Label lingkungan yang ditambahkan selama update tidak disebarkan sepenuhnya

Label lingkungan yang diperbarui tidak diterapkan ke VM Compute Engine. Sebagai solusi, label tersebut dapat diterapkan secara manual.

Log tugas Airflow tidak tersedia di server web Airflow setelah mengupgrade dari Airflow 1.9.0 ke Airflow 1.10.x

Airflow 1.10.x memperkenalkan perubahan yang tidak kompatibel dengan versi lama pada konvensi penamaan untuk file log. Informasi zona kini ditambahkan ke nama log untuk tugas Airflow.

Airflow 1.9.0 menyimpan dan mengharapkan nama log dalam format berikut: BUCKET/logs/DAG/2020-03-30T10:29:06/1.log Airflow 1.10.x menyimpan dan mengharapkan nama log dalam format berikut: BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log

Akibatnya, jika Anda mengupgrade dari Airflow 1.9.0 ke Airflow 1.10.x dan ingin membaca log untuk tugas yang dijalankan dengan Airflow 1.9.0, server Web Airflow akan menampilkan pesan error berikut: Unable to read remote log from BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log

Solusi: Ganti nama log yang dihasilkan oleh Airflow 1.9.0 di bucket Cloud Storage menggunakan format: BUCKET/logs/DAG/2020-03-30T10:29:06+00:00/1.log

Tidak dapat membuat lingkungan Cloud Composer dengan batasan kebijakan organisasi/compute.disableSerialPortLogging yang diterapkan

Pembuatan lingkungan Cloud Composer akan gagal jika kebijakan organisasi constraints/compute.disableSerialPortLogging diterapkan pada project target.

Diagnosis

Untuk menentukan apakah Anda terpengaruh oleh masalah ini, ikuti prosedur berikut:

Buka menu GKE di konsol Google Cloud. Buka menu GKE

Kemudian, pilih cluster yang baru Anda buat. Periksa error berikut:

Not all instances running in IGM after 123.45s.
Expect <number of desired instances in IGM>. Current errors:

Constraint constraints/compute.disableSerialPortLogging violated for
project <target project number>.

Solusi:

  1. Nonaktifkan kebijakan organisasi di project tempat lingkungan Cloud Composer akan dibuat.

    Kebijakan organisasi selalu dapat dinonaktifkan di tingkat project meskipun resource induk (organisasi atau folder) mengaktifkannya. Lihat halaman Menyesuaikan kebijakan untuk batasan boolean untuk mengetahui detail selengkapnya.

  2. Menggunakan filter pengecualian

    Menggunakan filter pengecualian untuk log port serial. akan mencapai tujuan yang sama dengan menonaktifkan kebijakan organisasi, karena akan ada log konsol serial di Logging. Untuk mengetahui detail selengkapnya, lihat halaman Filter pengecualian.

Penggunaan Deployment Manager untuk mengelola resource Google Cloud yang dilindungi oleh Kontrol Layanan VPC

Cloud Composer 1 dan Cloud Composer 2 versi 2.0.x menggunakan Deployment Manager untuk membuat komponen lingkungan Cloud Composer.

Pada Desember 2020, Anda mungkin telah menerima informasi bahwa Anda mungkin perlu melakukan konfigurasi Kontrol Layanan VPC tambahan agar dapat menggunakan Deployment Manager untuk mengelola resource yang dilindungi oleh Kontrol Layanan VPC.

Kami ingin mengklarifikasi bahwa tidak ada tindakan yang diperlukan di pihak Anda jika Anda menggunakan Cloud Composer dan tidak menggunakan Deployment Manager secara langsung untuk mengelola resource Google Cloud yang disebutkan dalam pengumuman Deployment Manager.

Deployment Manager menampilkan informasi tentang fitur yang tidak didukung

Anda mungkin melihat peringatan berikut di tab Deployment Manager:

The deployment uses actions, which are an unsupported feature. We recommend
that you avoid using actions.

Untuk deployment Deployment Manager yang dimiliki oleh Cloud Composer, Anda dapat mengabaikan peringatan ini.

Tidak dapat menghapus lingkungan setelah clusternya dihapus

Masalah ini berlaku untuk Cloud Composer 1 dan Cloud Composer 2 versi 2.0.x.

Jika Anda menghapus cluster GKE lingkungan sebelum lingkungan itu sendiri, upaya untuk menghapus lingkungan akan menghasilkan error berikut:

 Got error "" during CP_DEPLOYMENT_DELETING [Rerunning Task. ]

Untuk menghapus lingkungan saat clusternya sudah dihapus:

  1. Di konsol Google Cloud, buka halaman Deployment Manager.

    Buka Deployment Manager

  2. Temukan semua deployment yang ditandai dengan label:

    • goog-composer-environment:<environment-name>
    • goog-composer-location:<environment-location>.

    Anda akan melihat dua deployment yang ditandai dengan label yang dijelaskan:

    • Deployment bernama <environment-location>-<environment-name-prefix>-<hash>-sd
    • Deployment bernama addons-<uuid>
  3. Hapus resource secara manual yang masih tercantum dalam dua deployment ini dan ada dalam project (misalnya, topik dan langganan Pub/Sub). Untuk melakukannya:

    1. Pilih deployment.

    2. Klik Hapus.

    3. Pilih opsi Hapus 2 deployment dan semua resource yang dibuat olehnya, seperti VM, load balancer, dan disk, lalu klik Hapus semua.

    Operasi penghapusan gagal, tetapi resource yang tersisa akan dihapus.

  4. Hapus deployment menggunakan salah satu opsi berikut:

    • Di konsol Google Cloud, pilih kedua deployment lagi. Klik Hapus, lalu pilih opsi Hapus 2 deployment, tetapi pertahankan resource yang dibuat olehnya.

    • Jalankan perintah gcloud untuk menghapus deployment dengan kebijakan ABANDON:

      gcloud deployment-manager deployments delete addons-<uuid> \
          --delete-policy=ABANDON
      
      gcloud deployment-manager deployments delete <location>-<env-name-prefix>-<hash>-sd \
          --delete-policy=ABANDON
      
  5. Menghapus lingkungan Cloud Composer.

Peringatan tentang entri duplikat tugas 'echo' yang termasuk dalam DAG 'echo-airflow_monitoring'

Anda mungkin melihat entri berikut di log Airflow:

in _query db.query(q) File "/opt/python3.6/lib/python3.6/site-packages/MySQLdb/
connections.py", line 280, in query _mysql.connection.query(self, query)
_mysql_exceptions.IntegrityError: (1062, "Duplicate entry
'echo-airflow_monitoring-2020-10-20 15:59:40.000000' for key 'PRIMARY'")

Anda dapat mengabaikan entri log ini karena error ini tidak memengaruhi DAG dan pemrosesan tugas Airflow.

Kami berupaya meningkatkan layanan Cloud Composer untuk menghapus peringatan ini dari log Airflow.

Pembuatan lingkungan gagal di project dengan Identity-Aware Proxy API yang ditambahkan ke perimeter Kontrol Layanan VPC

Dalam project yang mengaktifkan Kontrol Layanan VPC, akun cloud-airflow-prod@system.gserviceaccount.com memerlukan akses eksplisit di perimeter keamanan Anda untuk membuat lingkungan.

Untuk membuat lingkungan, Anda dapat menggunakan salah satu solusi berikut:

  • Jangan tambahkan Cloud Identity-Aware Proxy API dan Identity-Aware Proxy TCP API ke perimeter keamanan.

  • Tambahkan akun layanan cloud-airflow-prod@system.gserviceaccount.com sebagai anggota perimeter keamanan Anda dengan menggunakan konfigurasi berikut dalam file kondisi YAML:

     - members:
        - serviceAccount:cloud-airflow-prod@system.gserviceaccount.com
    

Pembuatan lingkungan Cloud Composer 1 gagal saat kebijakan compute.requireOsLogin diaktifkan

Jika kebijakan compute.requireOsLogin disetel ke true di project Anda, operasi pembuatan lingkungan Cloud Composer 1 v1 akan gagal.

Untuk membuat lingkungan Cloud Composer 1, nonaktifkan kebijakan ini di project Anda.

Untuk mengetahui informasi selengkapnya tentang kebijakan organisasi ini, lihat Batasan kebijakan organisasi.

Pembuatan atau upgrade lingkungan Cloud Composer gagal saat kebijakan compute.vmExternalIpAccess dinonaktifkan

Masalah ini berlaku untuk lingkungan Cloud Composer 1 dan Cloud Composer 2.

Cluster GKE milik Cloud Composer yang dikonfigurasi dalam mode IP Publik memerlukan konektivitas eksternal untuk VM-nya. Oleh karena itu, kebijakan compute.vmExternalIpAccess tidak dapat melarang pembuatan VM dengan alamat IP eksternal. Untuk mengetahui informasi selengkapnya tentang kebijakan organisasi ini, lihat Batasan kebijakan organisasi.

Pembuatan lingkungan Cloud Composer 1 gagal saat kebijakan compute.vmCanIpForward dinonaktifkan

Lingkungan Cloud Composer 1 yang dibuat dalam mode non-VPC-Native (menggunakan IP alias) memerlukan kebijakan ini untuk mengizinkan pembuatan VM dengan fitur IP Forwarding yang diaktifkan. Untuk mengetahui informasi selengkapnya tentang kebijakan organisasi ini, lihat Batasan kebijakan organisasi.

Operasi DAG pertama untuk file DAG yang diupload memiliki beberapa tugas yang gagal

Saat Anda mengupload file DAG, terkadang beberapa tugas pertama dari DAG pertama yang dijalankan gagal dengan error Unable to read remote log.... Masalah ini terjadi karena file DAG disinkronkan antara bucket, pekerja Airflow, dan penjadwal Airflow di lingkungan Anda. Jika penjadwal mendapatkan file DAG dan menjadwalkannya untuk dijalankan oleh pekerja, dan jika pekerja belum memiliki file DAG, eksekusi tugas akan gagal.

Untuk mengurangi masalah ini, lingkungan dengan Airflow 2 dikonfigurasi untuk melakukan dua percobaan ulang untuk tugas yang gagal secara default. Jika gagal, tugas akan dicoba ulang dua kali dengan interval 5 menit.

Untuk memitigasi masalah ini di Airflow 1, ganti opsi konfigurasi Airflow [core]default_task_retries dan tetapkan ke angka yang lebih besar dari atau sama dengan 2.

Tugas gagal dengan 'OSError: [Errno 5] Input/output error' di Airflow 1.10.15 atau versi sebelumnya

Bug dalam versi Airflow 1 menyebabkan tugas dimasukkan ke antrean Redis dua kali dalam beberapa kasus yang jarang terjadi.

Terkadang hal ini dapat menyebabkan kondisi race pada file log, dan kegagalan tugas berikutnya. Tugas gagal dengan OSError: [Errno 5] Input/output error di Cloud Logging dan Task is in the 'running' state which is not a valid state for execution. dalam log upaya tugas.

Bug ini telah diperbaiki di Airflow 2. Jika Anda mengalami masalah ini di Airflow 1 dalam tugas yang berjalan lama, tingkatkan nilai opsi konfigurasi Airflow [celery_broker_transport_options]visibility_timeout (nilai defaultnya adalah 604800 untuk Composer 1.17.0, 21600 untuk lingkungan yang lebih lama). Untuk tugas yang berjalan singkat, pertimbangkan untuk menambahkan upaya percobaan ulang tambahan ke tugas yang terpengaruh atau memigrasikan lingkungan Anda ke Airflow 2.

Operator Dataproc dan Dataflow gagal dengan Negsignal.SIGSEGV

Ini adalah masalah library grcpio yang bersifat intermiten, saat digunakan dari pekerja Celery. Masalah ini memengaruhi Airflow 1.10.14 dan versi yang lebih baru.

Solusinya adalah dengan mengubah strategi polling grpcio dengan menambahkan variabel lingkungan berikut ke lingkungan Anda: GRPC_POLL_STRATEGY=epoll1. Solusi ini sudah diterapkan di Cloud Composer 1.17.1 dan versi yang lebih baru.

Pengumuman tentang penghapusan dukungan untuk Beta API yang tidak digunakan lagi dari versi GKE

Cloud Composer mengelola cluster GKE yang dimiliki Cloud Composer. Kecuali jika Anda secara eksplisit menggunakan API tersebut di DAG dan kode Anda, Anda dapat mengabaikan pengumuman tentang penghentian penggunaan API GKE. Cloud Composer akan menangani migrasi apa pun, jika diperlukan.

Cloud Composer tidak akan terpengaruh oleh Kerentanan Apache Log4j 2 (CVE-2021-44228)

Sebagai respons terhadap Kerentanan Apache Log4j 2 (CVE-2021-44228), Cloud Composer telah melakukan investigasi mendetail dan kami yakin bahwa Cloud Composer tidak rentan terhadap eksploitasi ini.

Pekerja atau penjadwal Airflow mungkin mengalami masalah saat mengakses bucket Cloud Storage lingkungan

Cloud Composer menggunakan gcsfuse untuk mengakses folder /data di bucket lingkungan dan untuk menyimpan log tugas Airflow ke direktori /logs (jika diaktifkan). Jika gcsfuse kelebihan beban atau bucket lingkungan tidak tersedia, Anda mungkin mengalami kegagalan instance tugas Airflow dan melihat error Transport endpoint is not connected di log Airflow.

Solusi:

  • Nonaktifkan penyimpanan log ke bucket lingkungan. Opsi ini sudah dinonaktifkan secara default jika lingkungan dibuat menggunakan Cloud Composer 2.8.0 atau versi yang lebih baru.
  • Upgrade ke Cloud Composer versi 2.8.0 atau yang lebih baru.
  • Kurangi [celery]worker_concurrency dan tingkatkan jumlah pekerja Airflow.
  • Mengurangi jumlah log yang dihasilkan dalam kode DAG.
  • Ikuti rekomendasi dan praktik terbaik untuk menerapkan DAG dan mengaktifkan percobaan ulang tugas.

UI Airflow terkadang mungkin tidak memuat ulang plugin setelah diubah

Jika plugin terdiri dari banyak file yang mengimpor modul lain, UI Airflow mungkin tidak dapat mengenali fakta bahwa plugin harus dimuat ulang. Dalam kasus tersebut, mulai ulang server web Airflow di lingkungan Anda.

Masalah yang terjadi sesekali saat berkomunikasi dengan database lingkungan

Masalah umum ini hanya berlaku untuk Cloud Composer 1.

Beberapa lingkungan Cloud Composer 1 sebelumnya (1.16.3 atau yang lebih lama) yang dibuat sebelum 12 Agustus 2021 mungkin mengalami masalah sementara terkait komunikasi ke database Airflow.

Jika mengalami masalah ini, di log tugas Airflow, Anda akan melihat pesan error berikut:

"Can't connect to MySQL server on 'airflow-sqlproxy-service.default.svc.cluster.local' (104)"

Tim Cloud Composer sedang berupaya mengatasi masalah ini. Sementara itu, jika Anda yakin bahwa Anda sangat terpengaruh oleh masalah ini, Anda dapat melakukan hal berikut untuk menguranginya:

  1. Di konsol Google Cloud, buka halaman Environment Configuration dari lingkungan Cloud Composer yang terpengaruh.

  2. Ikuti link lihat detail cluster untuk membuka cluster GKE yang mendasari lingkungan.

  3. Buka tab Nodes, lalu klik default-pool yang terlihat di bagian Node Pools.

    default-pool dalam daftar Node pool
    Gambar 1. default-pool dalam daftar Node pool (klik untuk memperbesar)
  4. Klik Edit di bagian atas halaman.

  5. Ubah jenis image menjadi Container-Optimized OS dengan containerd dan simpan konfigurasi:

    Mengubah jenis image Node Pool dari Docker menjadi containerd
    Gambar 2. Mengubah jenis image Node Pool dari Docker ke containerd (klik untuk memperbesar)
  6. Setelah perubahan dikirimkan, node pool default-pool Anda akan dikonfigurasi ulang untuk menggunakan containerd sebagai runtime penampung. Beberapa tugas Airflow Anda mungkin gagal saat node pool dikonfigurasi ulang. Jika tugas tersebut telah mengonfigurasi percobaan ulang, tugas tersebut akan dijalankan ulang oleh Airflow setelah operasi di node pool selesai.

Error 504 saat mengakses UI Airflow

Anda bisa mendapatkan error 504 Gateway Timeout saat mengakses UI Airflow. Error ini dapat disebabkan oleh beberapa hal:

  • Masalah komunikasi sementara. Dalam hal ini, coba akses UI Airflow nanti. Anda juga dapat memulai ulang server web Airflow.

  • (Khusus Cloud Composer 3) Masalah konektivitas. Jika UI Airflow tidak tersedia secara permanen, dan error waktu tunggu atau 504 dihasilkan, pastikan lingkungan Anda dapat mengakses *.composer.googleusercontent.com.

  • (Khusus Cloud Composer 2) Masalah konektivitas. Jika UI Airflow tidak tersedia secara permanen, dan error waktu tunggu atau 504 dihasilkan, pastikan lingkungan Anda dapat mengakses *.composer.cloud.google.com. Jika Anda menggunakan Private Google Access dan mengirim traffic melalui Virtual IP private.googleapis.com, atau Kontrol Layanan VPC dan mengirim traffic melalui Virtual IP restricted.googleapis.com, pastikan Cloud DNS Anda juga dikonfigurasi untuk nama domain *.composer.cloud.google.com.

  • Server web Airflow tidak responsif. Jika error 504 terus terjadi, tetapi Anda masih dapat mengakses UI Airflow pada waktu tertentu, server web Airflow mungkin tidak responsif karena kelebihan beban. Coba tingkatkan parameter skala dan performa server web.

Error 502 saat mengakses UI Airflow

Error 502 Internal server exception menunjukkan bahwa UI Airflow tidak dapat menayangkan permintaan masuk. Error ini dapat disebabkan oleh beberapa hal:

  • Masalah komunikasi sementara. Coba akses UI Airflow nanti.

  • Gagal memulai server web. Untuk memulai, server web memerlukan file konfigurasi yang disinkronkan terlebih dahulu. Periksa log server web untuk menemukan entri log yang terlihat mirip dengan: GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/airflow.cfg /home/airflow/gcs/airflow.cfg.tmp atau GCS sync exited with 1: gcloud storage cp gs://<bucket-name>/env_var.json.cfg /home/airflow/gcs/env_var.json.tmp. Jika Anda melihat error ini, periksa apakah file yang disebutkan dalam pesan error masih ada di bucket lingkungan.

    Jika kebijakan tersebut tidak sengaja dihapus (misalnya, karena kebijakan retensi dikonfigurasi), Anda dapat memulihkannya:

    1. Tetapkan variabel lingkungan baru di lingkungan Anda. Anda dapat menggunakan nama dan nilai variabel apa pun.

    2. Ganti opsi konfigurasi Airflow. Anda dapat menggunakan opsi konfigurasi Airflow yang tidak ada.

UI Airflow di Airflow 2.2.3 atau versi sebelumnya rentan terhadap CVE-2021-45229

Seperti yang ditunjukkan dalam CVE-2021-45229, layar "Trigger DAG with config" rentan terhadap serangan XSS melalui argumen kueri origin.

Rekomendasi: Upgrade ke versi Cloud Composer terbaru yang mendukung Airflow 2.2.5.

Pemicu DAG melalui jaringan pribadi menggunakan fungsi Cloud Run

Memicu DAG dengan fungsi Cloud Run melalui jaringan pribadi dengan penggunaan Konektor VPC tidak didukung oleh Cloud Composer.

Rekomendasi: Gunakan fungsi Cloud Run untuk memublikasikan pesan di Pub/Sub. Peristiwa tersebut dapat mengaktifkan Sensor Pub/Sub untuk memicu DAG Airflow atau menerapkan pendekatan berdasarkan operator yang dapat ditangguhkan.

Folder kosong di Scheduler dan Workers

Cloud Composer tidak secara aktif menghapus folder kosong dari pekerja dan penjadwal Airflow. Entitas tersebut mungkin dibuat sebagai hasil dari proses sinkronisasi bucket lingkungan saat folder ini ada di bucket dan akhirnya dihapus.

Rekomendasi: Sesuaikan DAG Anda agar siap melewati folder kosong tersebut.

Entitas tersebut pada akhirnya akan dihapus dari penyimpanan lokal penjadwal dan pekerja Airflow saat komponen ini dimulai ulang (misalnya, sebagai akibat dari operasi pemeliharaan atau penskalaan ke bawah di cluster lingkungan Anda).

Dukungan untuk Kerberos

Cloud Composer tidak mendukung konfigurasi Kerberos Airflow.

Dukungan untuk Operator Google Campaign Manager 360

Operator Google Campaign Manager di Cloud Composer versi sebelum 2.1.13 didasarkan pada Campaign Manager 360 v3.5 API yang tidak digunakan lagi dan tanggal penghentiannya adalah 1 Mei 2023.

Jika Anda menggunakan operator Google Campaign Manager, upgrade lingkungan Anda ke Cloud Composer versi 2.1.13 atau yang lebih baru.

Dukungan untuk Operator Google Display & Video 360

Operator Google Display dan Video 360 di Cloud Composer versi sebelum 2.1.13 didasarkan pada Display dan Video 360 v1.1 API yang tidak digunakan lagi dan tanggal penghentiannya adalah 27 April 2023.

Jika Anda menggunakan operator Google Display dan Video 360, upgrade lingkungan Anda ke Cloud Composer versi 2.1.13 atau yang lebih baru. Selain itu, Anda mungkin perlu mengubah DAG karena beberapa operator Google Display dan Video 360 tidak digunakan lagi dan diganti dengan operator baru.

  • GoogleDisplayVideo360CreateReportOperator tidak digunakan lagi. Sebagai gantinya, gunakan GoogleDisplayVideo360CreateQueryOperator. Operator ini menampilkan query_id, bukan report_id.
  • GoogleDisplayVideo360RunReportOperator tidak digunakan lagi. Sebagai gantinya, gunakan GoogleDisplayVideo360RunQueryOperator. Operator ini menampilkan query_id dan report_id, bukan hanya report_id, dan memerlukan query_id, bukan report_id, sebagai parameter.
  • Untuk memeriksa apakah laporan sudah siap, gunakan sensor GoogleDisplayVideo360RunQuerySensor baru yang menggunakan parameter query_id dan report_id. Sensor GoogleDisplayVideo360ReportSensor yang tidak digunakan lagi hanya memerlukan report_id.
  • GoogleDisplayVideo360DownloadReportV2Operator kini memerlukan parameter query_id dan report_id.
  • Di GoogleDisplayVideo360DeleteReportOperator, tidak ada perubahan yang dapat memengaruhi DAG Anda.

Batasan nama Rentang Sekunder

CVE-2023-29247 (Halaman detail instance tugas di UI rentan terhadap XSS tersimpan)

UI Airflow di versi Airflow dari 2.0.x hingga 2.5.x rentan terhadap CVE-2023-29247.

Jika Anda menggunakan Cloud Composer versi lebih lama dari 2.4.2 dan mencurigai bahwa lingkungan Anda mungkin rentan terhadap eksploitasi, baca deskripsi berikut dan kemungkinan solusinya.

Di Cloud Composer, akses ke UI Airflow dilindungi dengan IAM dan kontrol akses UI Airflow.

Artinya, untuk mengeksploitasi kerentanan UI Airflow, penyerang harus terlebih dahulu mendapatkan akses ke project Anda beserta izin dan peran IAM yang diperlukan.

Solusi:

  • Verifikasi izin dan peran IAM di project Anda, termasuk peran Cloud Composer yang ditetapkan kepada setiap pengguna. Pastikan hanya pengguna yang disetujui yang dapat mengakses UI Airflow.

  • Verifikasi peran yang ditetapkan kepada pengguna melalui mekanisme kontrol akses UI Airflow (ini adalah mekanisme terpisah yang memberikan akses yang lebih terperinci ke UI Airflow). Pastikan hanya pengguna yang disetujui yang dapat mengakses UI Airflow dan semua pengguna baru terdaftar dengan peran yang sesuai.

  • Pertimbangkan hardening tambahan dengan Kontrol Layanan VPC.

Operasi upgrade mungkin gagal jika Sentry diaktifkan

Operasi upgrade untuk lingkungan Cloud Composer mungkin gagal jika Anda mengonfigurasi Sentry di lingkungan dan menetapkan setelan [sentry]sentry_on ke true.

Solusi:

  • Nonaktifkan Sentry di lingkungan Anda, lakukan upgrade, dan konfigurasikan Sentry lagi.

Penyimpanan Cloud SQL tidak dapat dikurangi

Cloud Composer menggunakan Cloud SQL untuk menjalankan database Airflow. Seiring waktu, penyimpanan disk untuk instance Cloud SQL dapat bertambah karena disk disk ditingkatkan skalanya agar sesuai dengan data yang disimpan oleh operasi Cloud SQL saat database Airflow bertambah.

Ukuran disk Cloud SQL tidak dapat diskalakan ke bawah.

Sebagai solusi, jika ingin menggunakan ukuran disk Cloud SQL terkecil, Anda dapat membuat ulang lingkungan Cloud Composer dengan snapshot.

Metrik Penggunaan Disk database tidak berkurang setelah menghapus data dari Cloud SQL

Database relasional, seperti Postgres atau MySQL, tidak menghapus baris secara fisik saat dihapus atau diperbarui. Sebagai gantinya, Tuple tersebut akan ditandai sebagai "tuple mati" untuk mempertahankan konsistensi data dan menghindari pemblokiran transaksi serentak.

MySQL dan Postgres menerapkan mekanisme pengembalian ruang setelah data dihapus.

Meskipun Anda dapat memaksa database untuk mengklaim kembali ruang disk yang tidak digunakan, hal ini adalah operasi yang membutuhkan banyak resource yang juga mengunci database sehingga Cloud Composer tidak tersedia. Oleh karena itu, sebaiknya Anda mengandalkan mekanisme build untuk mengklaim kembali ruang yang tidak digunakan.

Akses diblokir: Error Otorisasi

Jika masalah ini memengaruhi pengguna, dialog Akses diblokir: Error Otorisasi akan berisi pesan Error 400: admin_policy_enforced.

Jika opsi Kontrol API > Aplikasi pihak ketiga yang tidak dikonfigurasi > Jangan izinkan pengguna mengakses aplikasi pihak ketiga diaktifkan di Google Workspace dan Apache Airflow di aplikasi Cloud Composer tidak diizinkan secara eksplisit, pengguna tidak dapat mengakses UI Airflow kecuali jika mereka mengizinkan aplikasi secara eksplisit.

Untuk mengizinkan akses, lakukan langkah-langkah yang diberikan di Mengizinkan akses ke UI Airflow di Google Workspace.

Instance tugas yang berhasil di masa lalu ditandai sebagai GAGAL

Dalam beberapa situasi dan skenario yang jarang terjadi, instance tugas Airflow yang berhasil di masa lalu dapat ditandai sebagai FAILED.

Jika terjadi, biasanya hal ini dipicu oleh operasi upgrade atau update lingkungan, atau oleh pemeliharaan GKE.

Catatan: masalah itu sendiri tidak menunjukkan masalah apa pun di lingkungan dan tidak menyebabkan kegagalan aktual dalam eksekusi tugas.

Masalah ini telah diperbaiki di Cloud Composer versi 2.6.5 atau yang lebih baru.

Komponen Airflow mengalami masalah saat berkomunikasi dengan bagian lain dari konfigurasi Cloud Composer

Dalam kasus yang sangat jarang terjadi, lambatnya komunikasi ke server Metadata Compute Engine dapat menyebabkan komponen Airflow tidak berfungsi secara optimal. Misalnya, penjadwal Airflow mungkin dimulai ulang, tugas Airflow mungkin perlu dicoba ulang, atau waktu mulai tugas mungkin lebih lama.

Gejala:

Error berikut muncul di log komponen Airflow (seperti penjadwal, pekerja, atau server web Airflow):

Authentication failed using Compute Engine authentication due to unavailable metadata server

Compute Engine Metadata server unavailable on attempt 1 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 2 of 3. Reason: timed out
...
Compute Engine Metadata server unavailable on attempt 3 of 3. Reason: timed out

Solusi:

Tetapkan variabel lingkungan berikut: GCE_METADATA_TIMEOUT=30.

Diagram ukuran tas DAG dan waktu penguraian DAG yang tidak berkelanjutan dalam pemantauan

Diagram ukuran tas DAG dan waktu penguraian DAG yang tidak berkelanjutan di dasbor pemantauan menunjukkan masalah dengan waktu penguraian DAG yang lama (lebih dari 5 menit).

Waktu penguraian DAG Airflow dan grafik ukuran tas DAG yang menunjukkan serangkaian interval non-kontinu
Gambar 3. Grafik waktu penguraian DAG non-kontinu dan ukuran bag DAG (klik untuk memperbesar)

Solusi: Sebaiknya pertahankan waktu penguraian DAG total di bawah 5 menit. Untuk mengurangi waktu penguraian DAG, ikuti pedoman penulisan DAG.

Mengganti cluster lingkungan ke GKE Enterprise Edition tidak didukung

Catatan ini berlaku untuk Cloud Composer 1 dan Cloud Composer 2.

Cluster GKE lingkungan Cloud Composer dibuat dalam GKE Edisi Standar.

Mulai Desember 2024, layanan Cloud Composer tidak mendukung pembuatan lingkungan Cloud Composer dengan cluster di Enterprise Edition.

Lingkungan Cloud Composer tidak diuji dengan GKE Enterprise Edition dan memiliki model penagihan yang berbeda.

Komunikasi lebih lanjut terkait GKE Standard Edition versus edisi Enterprise akan dilakukan pada Kuartal 2 2025.

Langkah selanjutnya