Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Logika throttle ECS layanan Amazon
Penjadwal ECS layanan Amazon menyertakan logika yang membatasi seberapa sering tugas layanan diluncurkan jika berulang kali gagal untuk memulai.
Jika tugas untuk layanan berulang kali gagal memasuki RUNNING
status (maju langsung dari a PENDING
ke STOPPED
status), maka waktu antara upaya restart berikutnya secara bertahap ditingkatkan hingga maksimum 27 menit. Periode maksimum ini dapat berubah di masa depan. Perilaku ini mengurangi efek tugas yang gagal terhadap sumber daya ECS klaster Amazon atau biaya infrastruktur Fargate Anda. Jika layanan Anda memulai logika throttle, Anda menerima pesan peristiwa layanan berikut:
(service
service-name
) is unable to consistently start tasks successfully.
Amazon ECS tidak pernah menghentikan layanan yang gagal untuk mencoba lagi. Itu juga tidak mencoba untuk memodifikasinya dengan cara apa pun selain meningkatkan waktu antara restart. Logika throttle layanan tidak menyediakan parameter yang dapat disetel pengguna.
Jika Anda memperbarui layanan untuk menggunakan penentuan tugas baru, maka layanan Anda akan segera kembali ke status normal dan bukan di-throttling. Untuk informasi selengkapnya, lihat Memperbarui ECS layanan Amazon menggunakan konsol.
Berikut ini adalah beberapa penyebab umum yang memulai logika ini. Kami menyarankan Anda mengambil tindakan manual untuk mengatasi masalah ini:
-
Kurangnya sumber daya untuk meng-host tugas Anda, seperti port, memori, atau CPU unit di cluster Anda. Dalam hal ini, Anda juga melihat pesan kejadian layanan sumber daya tidak mencukupi.
-
Agen ECS penampung Amazon tidak dapat menarik gambar Docker tugas Anda. Ini mungkin karena nama gambar kontainer yang buruk, gambar, atau tag, atau kurangnya otentikasi registri pribadi atau izin. Dalam hal ini, Anda juga melihat
CannotPullContainerError
di menghentikan kesalahan tugas. -
Ruang disk pada instans kontainer Anda tidak cukup untuk membuat kontainer. Dalam hal ini, Anda juga melihat
CannotCreateContainerError
di menghentikan kesalahan tugas. Untuk informasi selengkapnya, lihat Memecahkan masalah Docker di Amazon API error (500): devmapper ECS.
penting
Tugas yang dihentikan setelah mencapai RUNNING
status tidak memulai logika throttle atau pesan peristiwa layanan terkait. Misalnya, asumsikan bahwa pemeriksaan kesehatan Elastic Load Balancing yang gagal untuk suatu layanan menyebabkan tugas ditandai sebagai tidak sehat, dan Amazon ECS membatalkan pendaftarannya dan menghentikan tugas. Pada titik ini, tugas tidak dibatasi. Bahkan jika perintah kontainer tugas segera keluar dengan kode keluar bukan nol, tugas sudah dipindahkan ke status. RUNNING
Tugas yang segera gagal karena kesalahan perintah tidak menyebabkan throttle atau pesan peristiwa layanan.