Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyebarkan ECS layanan Amazon dengan mengganti tugas
Saat Anda membuat layanan yang menggunakan tipe penerapan rolling update (ECS
), penjadwal ECS layanan Amazon menggantikan tugas yang sedang berjalan dengan tugas baru. Jumlah tugas yang ECS ditambahkan atau dihapus Amazon dari layanan selama pembaruan bergulir dikendalikan oleh konfigurasi penyebaran layanan. Konfigurasi penyebaran terdiri dari yang berikut:
-
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 ECS layanan Amazon akan memulai tugas penggantian terlebih dahulu dan mempertahankan
minimumHealthyPercent
tugas sampai tugas penggantian menjadi sehat. Saat tugas pengganti diluncurkan dan menjadi sehat, tugas-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 layanan (service-name) tidak dapat menghentikan atau memulai tugas selama penerapan karena konfigurasi penerapan layanan. Perbarui maximumPercent nilai minimumHealthyPercent atau dan coba lagi..
Penyebaran bergulir menggunakan pemutus sirkuit penyebaran untuk menentukan apakah tugas mencapai kondisi mapan. Pemutus sirkuit penyebaran secara opsional dapat memutar kembali penerapan pada kegagalan.
Resolusi gambar kontainer
Untuk memastikan bahwa semua tugas dalam layanan menggunakan gambar kontainer yang sama, Amazon ECS menyelesaikan nama gambar kontainer dan tag gambar apa pun yang ditentukan dalam definisi tugas ke intisari gambar kontainer. Jika Anda membuat layanan yang menjalankan dan mempertahankan satu tugas, tugas tersebut digunakan untuk membuat intisari gambar kontainer. Jika Anda membuat layanan yang menjalankan dan memelihara beberapa tugas, penjadwal layanan akan memulai satu tugas terlebih dahulu selama penerapan. Tugas pertama ini digunakan untuk membuat intisari gambar kontainer.
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.
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.
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
Versi Amazon ECS Agent lebih rendah dari 1.31.0
tidak mendukung resolusi intisari gambar. Versi agen 1.31.0
untuk 1.69.0
mendukung resolusi intisari gambar hanya untuk gambar yang didorong ke ECR repositori Amazon. Versi agen 1.70.0
atau yang lebih tinggi mendukung resolusi intisari gambar untuk semua gambar.
catatan
-
Amazon ECS tidak menangkap intisari kontainer sespan yang dikelola oleh AmazonECS, seperti agen GuardDuty keamanan Amazon atau proxy Service Connect.
-
Untuk mengurangi potensi latensi yang terkait dengan resolusi gambar kontainer dalam layanan dengan beberapa tugas, jalankan versi ECS agen Amazon
1.83.0
atau yang lebih tinggi pada instance EC2 container. Untuk menghindari potensi latensi sama sekali, tentukan intisari gambar kontainer dalam definisi tugas Anda. -
Jika Anda membuat layanan dengan jumlah tugas nol yang diinginkan, Amazon tidak ECS dapat membuat intisari penampung 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 ini 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.
Deteksi kegagalan
Ini adalah dua metode yang menyediakan cara untuk mengidentifikasi dengan cepat kapan penerapan gagal, dan kemudian secara opsional mengembalikan kegagalan ke penerapan kerja terakhir.
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.