Memecahkan masalah Amazon ECS Service Connect dengan ruang nama bersama AWS Cloud Map - Amazon Elastic Container Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Memecahkan masalah Amazon ECS Service Connect dengan ruang nama bersama AWS Cloud Map

Gunakan informasi berikut untuk memecahkan masalah dengan AWS Cloud Map ruang nama bersama dan Service Connect. Untuk informasi selengkapnya tentang menemukan pesan galat, lihat pemecahan masalah Amazon ECS.

Pesan kesalahan yang terkait dengan masalah izin muncul karena izin yang hilang, atau jika akses ke namespace dicabut.

penting

Anda harus menggunakan izin AWSRAMPermissionCloudMapECSFullPermission terkelola untuk berbagi namespace agar Service Connect berfungsi dengan baik dengan namespace.

Pesan kesalahan muncul dalam salah satu format berikut:

Terjadi kesalahan (ClientException) saat memanggil < OperationName > operation: User: arn:aws:iam: ::user/ is not authorized to perform: < > ActionName on resource: < > ResourceArn karena tidak ada kebijakan berbasis sumber daya yang mengizinkan tindakan < > ActionName <account-id><user-name>

Skenario berikut dapat menghasilkan pesan kesalahan dalam format ini:

Pembuatan cluster atau kegagalan pembaruan

Masalah ini terjadi ketika operasi Amazon ECS seperti CreateCluster atau UpdateCluster gagal karena AWS Cloud Map izin yang hilang. Operasi memerlukan izin untuk AWS Cloud Map tindakan berikut:

  • servicediscovery:GetNamespace

Pastikan bahwa undangan berbagi sumber daya telah diterima di akun konsumen dan bahwa ARN namespace yang benar digunakan dalam konfigurasi Service Connect.

Pembuatan layanan atau kegagalan pembaruan

Masalah ini terjadi ketika operasi Amazon ECS seperti CreateService atau UpdateService gagal karena AWS Cloud Map izin yang hilang. Operasi memerlukan izin untuk AWS Cloud Map tindakan berikut:

  • servicediscovery:CreateService

  • servicediscovery:GetNamespace

  • servicediscovery:GetOperation(untuk membuat AWS Cloud Map layanan baru)

  • servicediscovery:GetService(untuk ketika AWS Cloud Map layanan sudah ada)

Pastikan bahwa undangan berbagi sumber daya telah diterima di akun konsumen dan bahwa ARN namespace yang benar digunakan dalam konfigurasi Service Connect.

ListServicesByNamespaceoperasi gagal

Masalah ini terjadi ketika ListServicesByNamespace operasi Amazon ECS gagal. Operasi memerlukan izin untuk AWS Cloud Map tindakan berikut:

  • servicediscovery:GetNamespace

Untuk menyelesaikan masalah ini:

  • Verifikasi bahwa akun konsumen memiliki servicediscovery:GetNamespace izin.

  • Gunakan namespace ARN saat memanggil API, bukan namanya.

  • Pastikan pembagian sumber daya aktif dan undangan telah diterima.

User: tidak diizinkan untuk melakukan: < ActionName > on resource: < ResourceArn > dengan penolakan eksplisit dalam kebijakan berbasis identitas. <iam-user>

Skenario berikut dapat menghasilkan pesan kesalahan dalam format ini:

Penghapusan layanan gagal dan macet dalam status DRAINING

Masalah ini terjadi ketika DeleteService operasi Amazon ECS gagal karena servicediscovery:DeleteService izin yang hilang saat akses ke namespace dicabut. Layanan mungkin tampak berhasil dihapus pada awalnya tetapi akan macet di DRAINING negara bagian. Pesan kesalahan muncul sebagai acara layanan Amazon ECS.

Untuk mengatasi masalah ini, pemilik namespace harus membagikan namespace dengan akun konsumen agar penghapusan layanan selesai.

Tugas dalam layanan gagal dijalankan

Masalah ini terjadi ketika tugas gagal dimulai karena izin yang hilang. Pesan kesalahan muncul sebagai kesalahan tugas yang dihentikan. Untuk informasi selengkapnya, lihat Mengatasi kesalahan tugas Amazon ECS yang dihentikan.

AWS Cloud Map Tindakan berikut diperlukan untuk menjalankan tugas:

  • servicediscovery:GetOperation

  • servicediscovery:RegisterInstance

Pastikan akun konsumen memiliki izin yang diperlukan dan namespace bersama dapat diakses.

Tugas gagal berhenti dengan bersih atau terjebak dalam DEACTIVATING atau keadaan DEPROVISIONING

Masalah ini terjadi ketika tugas gagal deregister dari AWS Cloud Map layanan selama shutdown karena izin yang hilang. Kesalahan muncul sebagai lampiran tugas statusReason yang dapat diulang menggunakan API. DescribeTasks Untuk informasi selengkapnya, lihat DescribeTasksdi Referensi API Amazon Elastic Container Service.

AWS Cloud Map Tindakan berikut diperlukan untuk menghentikan tugas:

  • servicediscovery:DeregisterInstance

  • servicediscovery:GetOperation

Jika akses ke namespace bersama dicabut, tugas mungkin tetap dalam DEPROVISIONING status DEACTIVATING atau sampai akses namespace dipulihkan. Minta pemilik namespace untuk memulihkan akses ke namespace.