Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyebarkan layanan Amazon ECS dengan mengganti tugas
Saat Anda membuat layanan yang menggunakan tipe penerapan rolling update (ECS
), penjadwal layanan Amazon ECS menggantikan tugas yang sedang berjalan dengan tugas baru. Jumlah tugas yang ditambahkan atau dihapus Amazon ECS dari layanan selama pembaruan bergulir dikendalikan oleh konfigurasi penyebaran layanan.
Amazon ECS menggunakan parameter berikut untuk menentukan jumlah tugas:
-
minimumHealthyPercent
mewakili batas bawah pada jumlah tugas yang seharusnya berjalan untuk layanan selama deployment atau saat instans kontainer dikosongkan, sebagai persentase dari jumlah tugas yang diinginkan untuk layanan. Nilai ini dibulatkan ke atas. Sebagai contoh, jika persentase minimum yang sehat adalah50
dan jumlah tugas yang diinginkan adalah empat, maka penjadwal dapat menghentikan dua tugas yang sudah 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.Jika tugas menjadi tidak sehat, penjadwal layanan Amazon ECS akan memulai tugas penggantian terlebih dahulu dan mempertahankan
minimumHealthyPercent
tugas hingga tugas penggantian menjadi sehat. Saat tugas pengganti diluncurkan dan menjadi sehat, tugas yang tidak sehat secara bertahap akan dihentikan. -
maximumPercent
mewakili batas atas jumlah tugas yang harus berjalan untuk layanan selama deployment atau saat instans kontainer dikosongkan, sebagai persentase dari jumlah tugas yang diinginkan untuk layanan. Nilai ini dibulatkan ke bawah. Misalnya jika persentase maksimum adalah200
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 adalah125
dan jumlah tugas yang diinginkan adalah tiga, maka penjadwal tidak dapat memulai tugas apa pun karena nilai yang dihasilkan juga tiga.
penting
Saat menetapkan persen sehat minimum atau persen maksimum, Anda harus memastikan bahwa penjadwal dapat menghentikan atau memulai setidaknya satu tugas saat penerapan dimulai. Jika layanan Anda memiliki deployment yang macet akibat konfigurasi deployment yang tidak valid, maka pesan kejadian layanan akan dikirimkan. Untuk informasi selengkapnya, lihat service (service-name) tidak dapat menghentikan atau memulai tugas selama penerapan karena konfigurasi penerapan layanan. Perbarui nilai minimumHealthyPercent atau MaximumPercent dan coba lagi..
Penerapan bergulir memiliki 2 metode yang menyediakan cara untuk mengidentifikasi dengan cepat kapan penerapan layanan gagal:
Metode ini dapat digunakan secara terpisah atau bersama-sama. Ketika kedua metode digunakan, penerapan disetel ke gagal segera setelah kriteria kegagalan untuk salah satu metode kegagalan terpenuhi.
Gunakan panduan berikut untuk membantu menentukan metode mana yang akan digunakan:
-
Pemutus sirkuit - Gunakan metode ini saat Anda ingin menghentikan penerapan saat tugas tidak dapat dimulai.
-
CloudWatch alarm - Gunakan metode ini ketika Anda ingin menghentikan penyebaran berdasarkan metrik aplikasi.
Kedua metode mendukung pengguliran kembali ke revisi layanan sebelumnya.
Resolusi gambar kontainer
Secara default, Amazon ECS menyelesaikan tag gambar kontainer yang ditentukan dalam definisi tugas ke intisari gambar kontainer. Jika Anda membuat layanan yang menjalankan dan mempertahankan satu tugas, tugas tersebut akan digunakan untuk membuat intisari gambar untuk kontainer dalam tugas tersebut. Jika Anda membuat layanan yang menjalankan dan memelihara beberapa tugas, tugas pertama yang dimulai oleh penjadwal layanan selama penerapan akan digunakan untuk membuat intisari gambar untuk kontainer dalam tugas.
Jika tiga atau lebih upaya untuk membuat intisari gambar kontainer gagal, penerapan berlanjut tanpa resolusi intisari gambar. Jika pemutus sirkuit penyebaran diaktifkan, penerapan juga gagal dan diputar kembali.
Setelah intisari gambar kontainer dibuat, Amazon ECS menggunakan intisari untuk memulai tugas lain yang diinginkan, dan untuk pembaruan layanan di masa mendatang. Ini mengarah ke semua tugas dalam layanan yang selalu menjalankan gambar kontainer yang identik, menghasilkan konsistensi versi untuk perangkat lunak Anda.
Anda dapat mengonfigurasi perilaku ini untuk setiap kontainer dalam tugas Anda dengan menggunakan versionConsistency
parameter dalam definisi penampung. Untuk informasi selengkapnya, lihat versionConsistency.
catatan
-
Amazon ECS Agent versi lebih rendah dari
1.31.0
tidak mendukung resolusi intisari gambar. Versi agen1.31.0
untuk1.69.0
mendukung resolusi intisari gambar hanya untuk gambar yang didorong ke repositori Amazon ECR. Versi agen1.70.0
atau yang lebih tinggi mendukung resolusi intisari gambar untuk semua gambar. -
Versi platform Fargate Linux minimum untuk resolusi intisari gambar adalah.
1.3.0
Versi platform Fargate Windows minimum untuk resolusi intisari gambar adalah.1.0.0
-
Amazon ECS tidak menangkap intisari kontainer sespan yang dikelola oleh Amazon ECS, seperti GuardDuty agen keamanan Amazon atau proxy Service Connect.
-
Untuk mengurangi potensi latensi yang terkait dengan resolusi gambar kontainer dalam layanan dengan beberapa tugas, jalankan versi agen Amazon ECS
1.83.0
atau yang lebih tinggi pada instans EC2 penampung. Untuk menghindari potensi latensi, tentukan intisari gambar kontainer dalam definisi tugas Anda. -
Jika Anda membuat layanan dengan jumlah tugas nol yang diinginkan, Amazon ECS tidak dapat membuat intisari kontainer hingga Anda memicu penerapan layanan lain dengan jumlah tugas yang diinginkan lebih besar dari nol.
-
Untuk membuat intisari gambar yang diperbarui, Anda dapat memaksa penerapan baru. Intisari yang diperbarui akan digunakan untuk memulai tugas baru dan tidak akan memengaruhi tugas yang sudah berjalan. Untuk informasi selengkapnya tentang pemaksaan penerapan baru, lihat forceNewDeploymentdi referensi Amazon ECS API.