Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan strategi untuk menentukan penempatan tugas Amazon ECS
Untuk tugas yang menggunakan tipe EC2 peluncuran, Amazon ECS harus menentukan tempat untuk menempatkan tugas berdasarkan persyaratan yang ditentukan dalam definisi tugas, seperti CPU dan memori. Demikian pula, saat Anda menurunkan jumlah tugas, Amazon ECS harus menentukan tugas mana yang akan dihentikan. Anda dapat menerapkan strategi dan batasan penempatan tugas untuk menyesuaikan cara Amazon ECS menempatkan dan mengakhiri tugas.
Strategi penempatan tugas default bergantung pada apakah Anda menjalankan tugas secara manual (tugas mandiri) atau dalam layanan. Untuk tugas yang berjalan sebagai bagian dari layanan Amazon ECS, strategi penempatan tugas spread
menggunakan. attribute:ecs.availability-zone
Tidak ada batasan penempatan tugas default untuk tugas yang tidak ada di layanan. Untuk informasi selengkapnya, lihat Jadwalkan wadah Anda di Amazon ECS.
catatan
Strategi penempatan tugas adalah upaya terbaik. Amazon ECS masih mencoba untuk menempatkan tugas bahkan ketika opsi penempatan paling optimal tidak tersedia. Namun, kendala penempatan tugas bersifat mengikat, dan mereka dapat mencegah penempatan tugas.
Anda dapat menggunakan strategi dan kendala penempatan tugas bersama-sama. Misalnya, Anda dapat menggunakan strategi penempatan tugas dan kendala penempatan tugas untuk mendistribusikan tugas di tugas Availability Zone dan paket bin berdasarkan memori dalam setiap Availability Zone, tetapi hanya untuk instans G2.
Saat Amazon ECS menempatkan tugas, Amazon menggunakan proses berikut untuk memilih instance container:
-
Identifikasi instance kontainer yang memenuhi persyaratan CPU, GPU, memori, dan port dalam definisi tugas.
-
Identifikasi instance kontainer yang memenuhi kendala penempatan tugas.
-
Identifikasi instance kontainer yang memenuhi strategi penempatan tugas.
-
Pilih instance kontainer untuk penempatan tugas.
Anda menentukan strategi penempatan tugas dalam definisi layanan, atau definisi tugas menggunakan placementStrategy
parameter.
"placementStrategy": [ { "field": "The field to apply the placement strategy against", "type": "The placement strategy to use" } ]
Anda dapat menentukan strategi saat menjalankan task (RunTask), membuat layanan baru (CreateService), atau memperbarui layanan yang ada (UpdateService).
Tabel berikut menjelaskan jenis dan bidang yang tersedia.
jenis | Nilai bidang yang valid |
---|---|
binpack Tugas ditempatkan pada instans kontainer sehingga meninggalkan jumlah paling sedikit untuk CPU atau memori yang tidak terpakai. Strategi ini meminimalkan jumlah instans kontainer yang digunakan. Ketika strategi ini digunakan dan tindakan scale-in diambil, Amazon ECS menghentikan tugas. Ini dilakukan berdasarkan jumlah sumber daya yang tersisa pada instance kontainer setelah tugas dihentikan. Instance kontainer yang memiliki sumber daya paling banyak yang tersisa setelah penghentian tugas telah menghentikan tugas tersebut. |
|
random Tugas ditempatkan secara acak. |
Tidak digunakan |
spread Tugas ditempatkan secara merata berdasarkan nilai yang ditentukan. Tugas layanan tersebar berdasarkan tugas dari layanan tersebut. Tugas mandiri tersebar berdasarkan tugas dari grup tugas yang sama. Untuk informasi selengkapnya tentang grup tugas, lihat Tugas Amazon ECS terkait grup .Saat |
|
Strategi penempatan tugas dapat diperbarui untuk layanan yang ada juga. Untuk informasi selengkapnya, lihat Bagaimana Amazon ECS menempatkan tugas pada instans kontainer.
Anda dapat membuat strategi penempatan tugas yang menggunakan beberapa strategi dengan membuat array strategi sesuai urutan yang Anda inginkan. Misalnya, jika Anda ingin menyebarkan tugas di seluruh Availability Zones dan kemudian bin pack task berdasarkan memori dalam setiap Availability Zone, tentukan strategi Availability Zone yang diikuti oleh strategi memori. Misalnya strategi, lihatContoh strategi penempatan tugas Amazon ECS.