Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Halaman ini memberikan informasi pemecahan masalah untuk masalah yang mungkin Anda alami saat membuat lingkungan Cloud Composer.
Untuk mengetahui informasi pemecahan masalah terkait update dan upgrade lingkungan, lihat Memecahkan masalah update dan upgrade lingkungan.
Saat lingkungan Cloud Composer dibuat, sebagian besar masalah terjadi karena alasan berikut:
Masalah izin akun layanan.
Informasi Firewall, DNS, atau perutean salah.
Masalah terkait jaringan. Misalnya, konfigurasi VPC tidak valid, konflik alamat IP, atau rentang IP jaringan yang terlalu sempit.
Masalah terkait kuota.
Kebijakan Organisasi yang Tidak Kompatibel.
Izin tidak memadai untuk membuat lingkungan
Jika Cloud Composer tidak dapat membuat lingkungan karena akun Anda tidak memiliki izin yang memadai, Cloud Composer akan menampilkan pesan error berikut:
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: The caller
does not have permission
atau
ERROR: (gcloud.composer.environments.create) PERMISSION_DENIED: User not
authorized to act as service account <service-account-name>.
The user must be granted iam.serviceAccounts.actAs permission, included in
Owner, Editor, Service Account User role. See https://cloud.google.com/iam/docs
/understanding-service-accounts for additional details.
Solusi: Tetapkan peran ke akun Anda dan akun layanan lingkungan Anda seperti yang dijelaskan dalam Kontrol akses.
Di Cloud Composer 2, pastikan akun layanan Agen Layanan Cloud Composer (
service-PROJECT_NUMBER@cloudcomposer-accounts.iam.gserviceaccount.com
) telah diberi peran Ekstensi Agen Layanan Cloud Composer v2 API.Pastikan peran Editor ditetapkan untuk Agen Layanan Google API (
PROJECT_NUMBER@cloudservices.gserviceaccount.com
).Dalam konfigurasi VPC Bersama, ikuti petunjuk Mengonfigurasi VPC Bersama.
Akun layanan lingkungan tidak memiliki izin yang memadai
Saat membuat lingkungan Cloud Composer, Anda menentukan akun layanan yang menjalankan node cluster GKE lingkungan. Jika akun layanan ini tidak memiliki izin yang memadai untuk operasi yang diminta, Cloud Composer akan menampilkan error berikut:
Errors in: [Web server]; Error messages:
Creation of airflow web server version failed. This may be an intermittent
issue of the App Engine service. You may retry the operation later.
{"ResourceType":"appengine.v1.version","ResourceErrorCode":"504","ResourceError
Message":"Your deployment has failed to become healthy in the allotted time
and therefore was rolled back. If you believe this was an error, try adjusting
the 'app_start_timeout_sec' setting in the 'readiness_check' section."}
Solusi: Tetapkan peran ke akun Anda dan akun layanan lingkungan Anda seperti yang dijelaskan dalam Kontrol akses.
Peringatan tentang peran IAM yang tidak ada di akun layanan
Jika pembuatan lingkungan gagal, Cloud Composer akan menghasilkan pesan peringatan
berikut setelah terjadi error:
The issue may be caused by missing IAM roles in the following Service Accounts
...
.
Pesan peringatan ini menunjukkan kemungkinan penyebab error. Cloud Composer memeriksa peran yang diperlukan pada akun layanan di project Anda, dan jika peran ini tidak ada, Cloud Composer akan membuat pesan peringatan ini.
Solusi: Periksa apakah akun layanan yang disebutkan dalam pesan peringatan memiliki peran yang diperlukan. Untuk mengetahui informasi selengkapnya tentang peran dan izin di Cloud Composer, lihat Kontrol akses.
Dalam beberapa kasus, Anda dapat mengabaikan peringatan ini. Cloud Composer tidak memeriksa izin individual yang ditetapkan ke peran. Misalnya, jika Anda menggunakan peran IAM kustom, akun layanan yang disebutkan dalam pesan peringatan mungkin sudah memiliki semua izin yang diperlukan. Dalam kasus ini, Anda dapat mengabaikan peringatan ini.
Kebijakan organisasi tidak kompatibel
Kebijakan berikut harus dikonfigurasi dengan tepat agar lingkungan Cloud Composer dapat dibuat dengan berhasil.
Kebijakan Organisasi | Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1 |
---|---|---|---|
compute.disableSerialPortLogging |
Semua nilai diizinkan | Harus dinonaktifkan | Dinonaktifkan untuk versi sebelum 1.13.0; jika tidak, nilai apa pun |
compute.requireOsLogin |
Semua nilai diizinkan | Semua nilai diizinkan | Harus dinonaktifkan |
compute.vmCanIpForward |
Semua nilai diizinkan | Semua nilai diizinkan | Harus diizinkan (diperlukan untuk cluster GKE milik Cloud Composer) jika mode VPC-native (menggunakan alias IP) tidak dikonfigurasi |
compute.vmExternalIpAccess |
Semua nilai diizinkan | Harus diizinkan untuk lingkungan IP Publik | Harus diizinkan untuk lingkungan IP Publik |
compute.restrictVpcPeering |
Dapat diberlakukan | Tidak dapat diterapkan | Tidak dapat diterapkan |
compute.disablePrivateServiceConnectCreationForConsumers |
Semua nilai diizinkan | Tidak dapat menolak PRODUSEN_LAYANAN untuk lingkungan IP Pribadi dan Publik. Tidak memengaruhi lingkungan yang ada, yang dapat beroperasi saat kebijakan ini diaktifkan. | Tidak dapat melarang SERVICE_PRODUCERS untuk lingkungan IP Pribadi. Tidak memengaruhi lingkungan yang ada, yang dapat beroperasi saat kebijakan ini diaktifkan. |
compute.restrictPrivateServiceConnectProducer |
Jika aktif, masukkan organisasi google.com ke daftar yang diizinkan |
Jika aktif, masukkan organisasi google.com ke daftar yang diizinkan |
Semua nilai diizinkan |
Kebijakan batas akses prinsipal yang tidak kompatibel
Kebijakan batas akses prinsipal yang dikonfigurasi di organisasi Anda dapat dikonfigurasi sedemikian rupa sehingga memblokir beberapa operasi lingkungan Anda atau mencegah pembuatan lingkungan baru.
Jika demikian, Anda mungkin melihat baris berikut dalam pesan error:
Operations on resource are denied due to an IAM Principal Access Boundary Policy.
Komponen lingkungan Anda berada di project pelanggan dan tenant. Project tenant dikelola oleh Google dan bukan milik organisasi tempat lingkungan berada. Akun layanan lingkungan Anda harus memiliki izin untuk melakukan operasi di project tenant.
Solusi:
- Tambahkan ekspresi kondisi ke binding kebijakan untuk mengecualikan akun layanan lingkungan dari kebijakan. Untuk contoh cara mengecualikan akun utama agar kebijakan tidak berlaku untuknya, lihat Binding kebijakan bersyarat untuk kebijakan batas akses akun utama dalam dokumentasi Identity and Access Management.
Membatasi layanan yang digunakan dalam organisasi atau project
Administrator organisasi atau project dapat membatasi layanan Google yang dapat digunakan dalam project mereka menggunakan batasan kebijakan organisasi gcp.restrictServiceUsage
.
Saat menggunakan kebijakan organisasi ini, penting untuk mengizinkan semua layanan yang diperlukan oleh Cloud Composer.