Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pesan peristiwa layanan
Ketika memecahkan permasalahan menggunakan layanan, hal pertama yang harus Anda periksa untuk informasi diagnostik adalah pencatatan peristiwa layanan. Anda dapat melihat peristiwa layanan menggunakan DescribeServices
API, file AWS CLI, atau dengan menggunakan AWS Management Console.
Saat melihat pesan peristiwa layanan menggunakan Amazon ECS API, hanya peristiwa dari penjadwal layanan yang dikembalikan. Hal Ini termasuk penempatan tugas terbaru dan peristiwa kondisi instans. Namun, konsol Amazon ECS menampilkan peristiwa layanan dari sumber berikut.
-
Penempatan tugas dan kejadian kesehatan instans dari penjadwal layanan Amazon ECS. Peristiwa ini memiliki awalan layanan
(nama layanan)
. Untuk memastikan bahwa tampilan peristiwa ini dapat membantu, kami hanya menampilkan peristiwa terbaru100
dan pesan peristiwa duplikat yang dihilangkan hingga salah satu penyebab sudah diselesaikan atau sudah melewati waktu enam jam. Jika penyebabnya tidak terselesaikan dalam waktu enam jam, Anda menerima pesan acara layanan lain untuk tujuan itu. -
Peristiwa Auto Scaling layanan. Peristiwa ini memiliki awalan Pesan. Peristiwa penskalaan
10
terbaru ditampilkan. Peristiwa ini hanya terjadi ketika layanan dikonfigurasi dengan kebijakan penskalaan Application Auto Scaling.
Gunakan langkah-langkah berikut untuk melihat pesan peristiwa layanan Anda saat ini.
Pesan peristiwa layanan
Berikut ini adalah contoh pesan acara layanan yang mungkin Anda lihat di konsol Amazon ECS.
Penjadwal layanan mengirimkan acara service (
layanan ketika layanan sehat dan pada jumlah tugas yang diinginkan, sehingga mencapai kondisi mapan.service-name
) has
reached a steady state.
Penjadwal layanan melaporkan status secara berkala, sehingga Anda mungkin menerima pesan ini beberapa kali.
Penjadwal layanan mengirimkan pesan peristiwa ini ketika tidak dapat menemukan sumber daya yang tersedia untuk menambahkan tugas lain. Kemungkinan penyebab untuk ini adalah:
- Tidak ada instans kontainer yang ditemukan di klaster Anda
-
Jika tidak ada instance kontainer yang terdaftar di cluster tempat Anda mencoba menjalankan tugas, Anda menerima kesalahan ini. Anda harus menambahkan instans kontainer untuk klaster Anda. Untuk informasi selengkapnya, lihat Meluncurkan instans penampung Amazon ECS Linux.
- Port tidak cukup
-
Jika tugas Anda menggunakan pemetaan host port tetap (misalnya, tugas Anda menggunakan port 80 pada host untuk server web), Anda harus memiliki setidaknya satu instans kontainer per tugas, karena hanya satu kontainer yang dapat menggunakan port host tunggal pada satu waktu. Anda harus menambahkan instans kontainer ke klaster milik Anda atau mengurangi jumlah tugas yang diinginkan.
- Terlalu banyak port yang terdaftar
-
Instance pencocokan kontainer terdekat untuk penempatan tugas tidak dapat melebihi batas port cadangan maksimum yang diizinkan sebesar 100 port host per instance kontainer. Menggunakan pemetaan port host dinamis dapat memperbaiki masalah.
- Port sudah digunakan
-
Definisi tugas tugas ini menggunakan port yang sama dalam pemetaan portnya sebagai tugas yang sudah berjalan pada instance kontainer yang dipilih. Pesan acara layanan akan memiliki ID instance kontainer yang dipilih sebagai bagian dari pesan di bawah ini.
The closest matching container-instance is already using a port required by your task.
- Memori tidak cukup
-
Jika ketentuan tugas Anda menentukan memori sejumlah 1000 MiB, dan masing-masing klaster Anda pada instans kontainer memiliki memori sejumlah 1024 MiB, Anda hanya dapat menjalankan satu salinan tugas ini per instans kontainer. Anda dapat bereksperimen dengan memori yang lebih sedikit pada ketentuan tugas Anda sehingga Anda bisa meluncurkan lebih dari satu tugas per instans kontainer, atau meluncurkan lebih banyak instans kontainer menuju klaster Anda.
catatan
Jika Anda mencoba memaksimalkan pemanfaatan sumber daya Anda dengan menyediakan memori sebanyak mungkin untuk jenis instans tertentu, lihatManajemen memori instance kontainer.
- CPU tidak cukup
-
Sebuah instans kontainer memiliki 1.024 unit CPU untuk setiap inti CPU. Jika ketentuan tugas Anda menentukan 1.000 unit CPU, dan setiap instans kontainer di klaster Anda memiliki 1.024 unit CPU, Anda hanya dapat menjalankan satu salinan tugas ini per instans kontainer. Anda dapat bereksperimen dengan unit CPU yang lebih sedikit dalam ketentuan tugas Anda sehingga Anda bisa meluncurkan lebih dari satu tugas per instans kontainer, atau meluncurkan lebih banyak instans kontainer menuju klaster Anda.
- Poin lampiran ENI yang tersedia tidak cukup
-
Tugas yang menggunakan mode
awsvpc
jaringan masing-masing menerima elastic network interface (ENI) mereka sendiri, yang dilampirkan ke instance container yang menghostingnya. Instans Amazon EC2 memiliki batasan jumlah ENI yang dapat dilampirkan padanya dan tidak ada instance kontainer di cluster yang memiliki kapasitas ENI yang tersedia.Batas ENI untuk instans kontainer individu tergantung pada kondisi berikut:
-
Jika Anda belum menyertakan untuk Pengaturan akun
awsvpcTrunking
, batas ENI untuk setiap instans kontainer tergantung pada tipe instans. Untuk informasi selengkapnya, lihat Alamat IP Per Antarmuka Jaringan Per Tipe Instans dalam Panduan Pengguna Amazon EC2 untuk Instans Linux. -
Jika Anda telah memilih untuk masuk ke setelan
awsvpcTrunking
akun tetapi Anda belum meluncurkan instance container baru menggunakan tipe instans yang didukung setelah memilih, batas ENI untuk setiap instance container masih pada nilai default. Untuk informasi selengkapnya, lihat Alamat IP Per Antarmuka Jaringan Per Tipe Instans dalam Panduan Pengguna Amazon EC2 untuk Instans Linux. -
Jika Anda sudah menyertakan untuk pengaturan akun
awsvpcTrunking
dan Anda telah meluncurkan instans kontainer yang baru dengan menggunakan tipe instans yang didukung setelah menyertakannya, ENI tambahan akan tersedia. Untuk informasi selengkapnya, lihat Tipe instans Amazon EC2 yang didukung.
Untuk informasi lebih lanjut tentang penyertaan pada pengaturan akun
awsvpcTrunking
, lihat Pembuatan torso antarmuka jaringan elastis.Anda dapat menambahkan instans kontainer untuk klaster Anda untuk menyediakan lebih banyak adapter jaringan yang tersedia.
-
- Instans kontainer kehilangan atribut wajib
-
Beberapa parameter ketentuan tugas memerlukan versi API Docker jarak jauh tertentu untuk diinstal pada instans kontainer. Hal lainnya, seperti opsi pencatatan driver, mengharuskan instans kontainer untuk mendaftarkan pencatatan driver tersebut dengan variabel konfigurasi agen
ECS_AVAILABLE_LOGGING_DRIVERS
. Jika definisi tugas Anda berisi parameter yang memerlukan atribut instance kontainer tertentu, dan Anda tidak memiliki instance kontainer yang tersedia yang dapat memenuhi persyaratan ini, tugas tidak dapat ditempatkan.Penyebab umum kesalahan ini adalah jika layanan Anda menggunakan tugas yang menggunakan mode
awsvpc
jaringan dan jenis peluncuran EC2. Cluster yang Anda tentukan tidak memiliki instance kontainer yang terdaftar di subnet yang sama yang ditentukan padaawsvpcConfiguration
saat layanan dibuat.Untuk informasi lebih lanjut tentang atribut yang diperlukan untuk parameter ketentuan tugas tertentu dan variabel konfigurasi agen, lihat Parameter ketentuan tugas dan Konfigurasi agen kontainer Amazon ECS.
Instance pencocokan kontainer terdekat untuk penempatan tugas tidak berisi unit CPU yang cukup untuk memenuhi persyaratan dalam definisi tugas. Tinjau persyaratan CPU di kedua parameter ukuran tugas dan ketentuan kontainer dari ketentuan tugas.
Agen kontainer Amazon ECS pada instance kontainer pencocokan terdekat untuk penempatan tugas terputus. Jika Anda dapat terhubung ke instans kontainer dengan SSH, Anda dapat memeriksa pencatatan agen; untuk informasi lebih lanjut, lihat Log Agen Kontainer Amazon ECS. Anda juga harus memverifikasi bahwa agen sedang berjalan pada instans. Jika Anda menggunakan AMI Amazon ECS yang dioptimalkan, Anda dapat mencoba menghentikan dan memulai ulang agen dengan perintah berikut.
-
Untuk Amazon ECS yang dioptimalkan Amazon Linux 2 AMI dan Amazon ECS yang dioptimalkan Amazon Linux 2023 AMI
sudo systemctl restart ecs
-
Untuk Amazon ECS yang dioptimalkan Amazon Linux AMI
sudo stop ecs && sudo start ecs
Layanan ini terdaftar dengan penyeimbang beban dan pemeriksaan kondisi penyeimbang beban gagal. Untuk informasi selengkapnya, lihat Pemecahan permasalahan terhadap layanan penyeimbang beban.
Layanan ini berisi tugas yang gagal untuk dimulai setelah upaya dilakukan secara berturut-turut. Pada titik ini, penjadwal layanan mulai meningkatkan tambahan waktu antara pengulangan. Anda harus memecahkan masalah mengapa tugas Anda gagal untuk diluncurkan. Untuk informasi selengkapnya, lihat Logika throttle layanan Amazon ECS.
Setelah layanan diperbarui, misalnya dengan ketentuan tugas yang diperbarui, penjadwal layanan melanjutkan perilakunya secara normal.
Layanan ini tidak dapat meluncurkan lebih banyak tugas dikarenakan batas throttling API. Setelah penjadwal layanan dapat meluncurkan lebih banyak tugas, maka akan dilanjutkan.
Untuk meminta kenaikan tingkat batas kuota API, buka halaman AWS Support Pusat
Tugas pada layanan ini tidak dapat dihentikan atau dimulai saat layanan deployment dikarenakan konfigurasi pada deployment. Konfigurasi penyebaran terdiri dari minimumHealthyPercent
dan maximumPercent
nilai-nilai, yang didefinisikan ketika layanan dibuat. Nilai-nilai tersebut juga dapat diperbarui pada layanan yang ada.
minimumHealthyPercent
Ini mewakili batas bawah pada jumlah tugas yang harus dijalankan untuk layanan selama penerapan atau ketika instance kontainer terkuras. Ini adalah persen dari jumlah tugas yang diinginkan untuk layanan ini. Nilai ini dibulatkan ke atas. Misalnya, jika persen sehat minimum adalah 50
dan jumlah tugas yang diinginkan adalah empat, maka penjadwal dapat menghentikan dua tugas yang ada sebelum memulai dua tugas baru. Demikian juga, jika persentase minimum yang sehat adalah 75% dan jumlah tugas yang diinginkan adalah dua, maka penjadwal tidak dapat menghentikan tugas apa pun karena nilai yang dihasilkan juga dua.
maximumPercent
Ini mewakili batas atas jumlah tugas yang harus dijalankan untuk layanan selama penerapan atau saat instance kontainer terkuras. Ini adalah persentase dari jumlah tugas yang diinginkan untuk suatu layanan. Nilai ini dibulatkan ke bawah. Misalnya, jika persentase maksimum adalah 200
dan jumlah tugas yang diinginkan adalah empat, maka penjadwal dapat memulai empat tugas baru sebelum menghentikan empat tugas yang ada. Demikian juga, jika persentase maksimum adalah 125
dan jumlah tugas yang diinginkan adalah tiga, maka penjadwal tidak dapat memulai tugas apa pun karena nilai yang dihasilkan juga tiga.
Ketika menetapkan jumlah minimum persen kondisi atau persen maksimum, Anda harus memastikan bahwa penjadwal dapat menghentikan atau memulai setidaknya satu tugas ketika deployment telah dipicu.
Anda dapat meminta peningkatan kuota untuk sumber daya yang menyebabkan kesalahan. Untuk informasi selengkapnya, lihat Kuota layanan Amazon ECS. Untuk meminta penambahan kuota, lihat Meminta penambahan kuota di Panduan Pengguna Service Quotas.
Berikut ini adalah kemungkinan alasan untuk kesalahan ini:
-
Layanan tidak dapat memulai tugas karena subnet berada di Availability Zone yang tidak didukung.
Untuk informasi tentang Wilayah Fargate dan Zona Ketersediaan yang didukung, lihat. Wilayah yang Didukung untuk Amazon ECS di Fargate AWS
Untuk informasi tentang cara melihat Zona Ketersediaan subnet, lihat Melihat subnet Anda di Panduan Pengguna Amazon VPC.
-
Anda mencoba menjalankan definisi tugas yang menggunakan arsitektur ARM di Fargate Spot.
Anda dapat meminta peningkatan kuota untuk sumber daya yang menyebabkan kesalahan. Untuk informasi selengkapnya, lihat Kuota layanan Amazon ECS. Untuk meminta penambahan kuota, lihat Meminta penambahan kuota di Panduan Pengguna Service Quotas.
Anda dapat meminta peningkatan kuota untuk sumber daya yang menyebabkan kesalahan. Untuk informasi selengkapnya, lihat Kuota layanan Amazon ECS. Untuk meminta penambahan kuota, lihat Meminta penambahan kuota di Panduan Pengguna Service Quotas.
AWS Fargate sedang bertransisi dari kuota berbasis hitungan tugas ke kuota berbasis VCPU.
Anda dapat meminta kenaikan kuota untuk kuota berbasis VCPU Fargate. Untuk informasi selengkapnya, lihat Kuota layanan Amazon ECS. Untuk meminta peningkatan kuota Fargate, lihat Meminta kenaikan kuota pada Panduan Pengguna Service Quotas.
Layanan ini memiliki tugas yang lebih terlindungi daripada jumlah tugas yang diinginkan. Anda dapat melakukan salah satu hal berikut:
-
Tunggu hingga perlindungan pada tugas saat ini kedaluwarsa, memungkinkan mereka untuk dihentikan.
-
Tentukan tugas mana yang dapat dihentikan dan gunakan
UpdateTaskProtection
API denganprotectionEnabled
opsi yang disetelfalse
ke unset protection untuk tugas-tugas ini. -
Tingkatkan jumlah tugas yang diinginkan dari layanan menjadi lebih dari jumlah tugas yang dilindungi.
Penjadwal layanan mengirimkan pesan peristiwa ini ketika tidak dapat menemukan sumber daya yang tersedia untuk menambahkan tugas lain. Kemungkinan penyebab untuk ini adalah:
- Tidak ada instans kontainer yang ditemukan di klaster Anda
-
Jika tidak ada instance kontainer yang terdaftar di cluster tempat Anda mencoba menjalankan tugas, Anda menerima kesalahan ini. Anda harus menambahkan instans kontainer untuk klaster Anda. Untuk informasi selengkapnya, lihat Meluncurkan instans penampung Amazon ECS Linux.
- Port tidak cukup
-
Jika tugas Anda menggunakan pemetaan port host tetap (misalnya, tugas Anda menggunakan port 80 pada host untuk server web), Anda harus memiliki setidaknya satu instance kontainer per tugas. Hanya satu kontainer yang dapat menggunakan port host tunggal pada satu waktu. Anda harus menambahkan instans kontainer ke klaster milik Anda atau mengurangi jumlah tugas yang diinginkan.
- Terlalu banyak port yang terdaftar
-
Instance pencocokan kontainer terdekat untuk penempatan tugas tidak dapat melebihi batas port cadangan maksimum yang diizinkan sebesar 100 port host per instance kontainer. Menggunakan pemetaan port host dinamis dapat memperbaiki masalah.
- Port sudah digunakan
-
Definisi tugas tugas ini menggunakan port yang sama dalam pemetaan portnya sebagai tugas yang sudah berjalan pada instance kontainer yang dipilih. Pesan acara layanan akan memiliki ID instance kontainer yang dipilih sebagai bagian dari pesan di bawah ini.
The closest matching container-instance is already using a port required by your task.
- Memori tidak cukup
-
Jika ketentuan tugas Anda menentukan memori sejumlah 1000 MiB, dan masing-masing klaster Anda pada instans kontainer memiliki memori sejumlah 1024 MiB, Anda hanya dapat menjalankan satu salinan tugas ini per instans kontainer. Anda dapat bereksperimen dengan memori yang lebih sedikit pada ketentuan tugas Anda sehingga Anda bisa meluncurkan lebih dari satu tugas per instans kontainer, atau meluncurkan lebih banyak instans kontainer menuju klaster Anda.
catatan
Jika Anda mencoba untuk memaksimalkan pemanfaatan sumber daya Anda dengan menyediakan memori pada tugas sebanyak mungkin untuk tipe instans tertentu, lihat Manajemen memori instance kontainer.
- Poin lampiran ENI yang tersedia tidak cukup
-
Tugas yang menggunakan mode
awsvpc
jaringan masing-masing menerima elastic network interface (ENI) mereka sendiri, yang dilampirkan ke instance container yang menghostingnya. Instans Amazon EC2 memiliki batasan jumlah ENI yang dapat dilampirkan padanya, dan tidak ada instance kontainer di cluster yang memiliki kapasitas ENI yang tersedia.Batas ENI untuk instans kontainer individu tergantung pada kondisi berikut:
-
Jika Anda belum menyertakan untuk Pengaturan akun
awsvpcTrunking
, batas ENI untuk setiap instans kontainer tergantung pada tipe instans. Untuk informasi selengkapnya, lihat Alamat IP Per Antarmuka Jaringan Per Tipe Instans dalam Panduan Pengguna Amazon EC2 untuk Instans Linux. -
Jika Anda telah memilih untuk masuk ke setelan
awsvpcTrunking
akun tetapi Anda belum meluncurkan instance container baru menggunakan tipe instans yang didukung setelah memilih, batas ENI untuk setiap instance container masih pada nilai default. Untuk informasi selengkapnya, lihat Alamat IP Per Antarmuka Jaringan Per Tipe Instans dalam Panduan Pengguna Amazon EC2 untuk Instans Linux. -
Jika Anda sudah menyertakan untuk pengaturan akun
awsvpcTrunking
dan Anda telah meluncurkan instans kontainer yang baru dengan menggunakan tipe instans yang didukung setelah menyertakannya, ENI tambahan akan tersedia. Untuk informasi selengkapnya, lihat Tipe instans Amazon EC2 yang didukung.
Untuk informasi lebih lanjut tentang penyertaan pada pengaturan akun
awsvpcTrunking
, lihat Pembuatan torso antarmuka jaringan elastis.Anda dapat menambahkan instans kontainer untuk klaster Anda untuk menyediakan lebih banyak adapter jaringan yang tersedia.
-
- Instans kontainer kehilangan atribut wajib
-
Beberapa parameter ketentuan tugas memerlukan versi API Docker jarak jauh tertentu untuk diinstal pada instans kontainer. Hal lainnya, seperti opsi pencatatan driver, mengharuskan instans kontainer untuk mendaftarkan pencatatan driver tersebut dengan variabel konfigurasi agen
ECS_AVAILABLE_LOGGING_DRIVERS
. Jika definisi tugas Anda berisi parameter yang memerlukan atribut instance kontainer tertentu, dan Anda tidak memiliki instance kontainer yang tersedia yang dapat memenuhi persyaratan ini, tugas tidak dapat ditempatkan.Penyebab umum kesalahan ini adalah jika layanan Anda menggunakan tugas yang menggunakan mode
awsvpc
jaringan dan tipe peluncuran EC2 dan cluster yang Anda tentukan tidak memiliki instance kontainer yang terdaftar di subnet yang sama yang ditentukan padaawsvpcConfiguration
saat layanan dibuat.Untuk informasi lebih lanjut tentang atribut yang diperlukan untuk parameter ketentuan tugas tertentu dan variabel konfigurasi agen, lihat Parameter ketentuan tugas dan Konfigurasi agen kontainer Amazon ECS.
Saat ini tidak ada kapasitas yang tersedia untuk menjalankan layanan Anda.
Anda dapat melakukan salah satu hal berikut:
-
Tunggu hingga kapasitas Fargate atau instans kontainer EC2 tersedia.
-
Luncurkan kembali layanan dan tentukan subnet tambahan.
Tugas dalam layanan Anda gagal dimulai.
Untuk informasi tentang cara men-debug tugas yang dihentikan. lihat. Kode kesalahan tugas yang berhenti
Agen kontainer Amazon ECS pada instance kontainer pencocokan terdekat untuk penempatan tugas terputus. Jika Anda dapat terhubung ke instance kontainer dengan SSH, Anda dapat memeriksa log agen. Untuk informasi selengkapnya, lihat Log Agen Kontainer Amazon ECS. Anda juga harus memverifikasi bahwa agen sedang berjalan pada instans. Jika Anda menggunakan AMI Amazon ECS yang dioptimalkan, Anda dapat mencoba menghentikan dan memulai ulang agen dengan perintah berikut.
-
Untuk Amazon ECS yang dioptimalkan Amazon Linux 2 AMI
sudo systemctl restart ecs
-
Untuk Amazon ECS yang dioptimalkan Amazon Linux AMI
sudo stop ecs && sudo start ecs
Tugas yang ditetapkan untuk layanan ini gagal dalam pemeriksaan kesehatan karena kelompok sasaran tidak ditemukan. Anda harus menghapus dan membuat ulang layanan. Jangan menghapus grup target Elastic Load Balancing kecuali layanan Amazon ECS yang sesuai telah dihapus.
Tugas yang ditetapkan untuk layanan ini gagal dalam pemeriksaan kesehatan karena target tidak ditemukan.