Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jika Anda memiliki penyedia kapasitas grup Auto Scaling yang menggunakan penskalaan terkelola, Amazon ECS memperkirakan jumlah instans optimal yang akan ditambahkan ke klaster Anda dan menggunakan nilainya untuk menentukan berapa banyak instans yang akan diminta atau dirilis.
Perilaku penskalaan keluar yang terkelola
Amazon ECS memilih penyedia kapasitas untuk setiap tugas dengan mengikuti strategi penyedia kapasitas dari layanan, tugas mandiri, atau default cluster. Amazon ECS mengikuti langkah-langkah lainnya untuk penyedia kapasitas tunggal.
Tugas tanpa strategi penyedia kapasitas diabaikan oleh penyedia kapasitas. Tugas yang tertunda yang tidak memiliki strategi penyedia kapasitas tidak akan menyebabkan penyedia kapasitas untuk meningkatkan skala. Tugas atau layanan tidak dapat menetapkan strategi penyedia kapasitas jika tugas atau layanan tersebut menetapkan jenis peluncuran.
Berikut ini menjelaskan perilaku penskalaan keluar secara lebih rinci.
-
Kelompokkan semua tugas penyediaan untuk penyedia kapasitas ini sehingga setiap kelompok memiliki persyaratan sumber daya yang sama persis.
-
Bila Anda menggunakan beberapa tipe instans dalam grup Auto Scaling, tipe instans dalam grup Auto Scaling akan diurutkan berdasarkan parameternya. Parameter ini termasuk vCPU, memori, antarmuka jaringan elastis (ENIs), port, dan. GPUs Jenis instance terkecil dan terbesar untuk setiap parameter dipilih. Untuk informasi selengkapnya tentang cara memilih jenis instans, lihatInstans EC2 kontainer Amazon untuk Amazon ECS.
penting
Jika sekelompok tugas memiliki persyaratan sumber daya yang lebih besar dari jenis instans terkecil di grup Auto Scaling, maka grup tugas tersebut tidak dapat dijalankan dengan penyedia kapasitas ini. Penyedia kapasitas tidak menskalakan grup Auto Scaling. Tugas tetap di
PROVISIONING
negara bagian.Untuk mencegah tugas tetap berada dalam
PROVISIONING
status, kami sarankan Anda membuat grup Auto Scaling terpisah dan penyedia kapasitas untuk persyaratan sumber daya minimum yang berbeda. Saat menjalankan tugas atau membuat layanan, tambahkan saja penyedia kapasitas ke strategi penyedia kapasitas yang dapat menjalankan tugas pada jenis instans terkecil di grup Auto Scaling. Untuk parameter lain, Anda dapat menggunakan batasan penempatan -
Untuk setiap grup tugas, Amazon ECS menghitung jumlah instance yang diperlukan untuk menjalankan tugas yang tidak ditempatkan. Perhitungan ini menggunakan
binpack
strategi. Strategi ini memperhitungkan vCPU, memori, antarmuka jaringan elastis (ENI), port, dan GPUs persyaratan tugas. Ini juga memperhitungkan ketersediaan sumber daya dari EC2 instans Amazon. Nilai untuk jenis instans terbesar diperlakukan sebagai jumlah instans terhitung maksimum. Nilai untuk jenis instance terkecil digunakan sebagai perlindungan. Jika jenis instance terkecil tidak dapat menjalankan setidaknya satu instance tugas, perhitungan menganggap tugas sebagai tidak kompatibel. Akibatnya, tugas tersebut dikecualikan dari perhitungan scale-out. Ketika semua tugas tidak kompatibel dengan jenis instance terkecil, penskalaan otomatis cluster berhenti danCapacityProviderReservation
nilainya tetap padatargetCapacity
nilainya. -
Amazon ECS menerbitkan
CapacityProviderReservation
metrik sehubungan CloudWatch denganminimumScalingStepSize
jika salah satu dari berikut ini adalah kasusnya.-
Jumlah instans maksimum yang dihitung kurang dari ukuran langkah penskalaan minimum.
-
Nilai yang lebih rendah dari jumlah instans yang dihitung
maximumScalingStepSize
atau maksimum.
-
-
CloudWatch alarm menggunakan
CapacityProviderReservation
metrik untuk penyedia kapasitas. KetikaCapacityProviderReservation
metrik lebih besar daritargetCapacity
nilainya, alarm juga meningkatkan grupDesiredCapacity
Auto Scaling.targetCapacity
Nilainya adalah pengaturan penyedia kapasitas yang dikirim ke CloudWatch alarm selama fase aktivasi penskalaan otomatis cluster.targetCapacity
Defaultnya adalah 100%. -
Grup Auto Scaling meluncurkan instance tambahan. EC2 Untuk mencegah penyediaan berlebih, Auto Scaling memastikan bahwa kapasitas EC2 instans yang baru diluncurkan distabilkan sebelum meluncurkan instance baru. Auto Scaling memeriksa apakah semua instance yang ada telah melewati
instanceWarmupPeriod
(sekarang dikurangi waktu peluncuran instance). Penskalaan diblokir untuk instance yang ada di dalam.instanceWarmupPeriod
Jumlah detik default untuk instance yang baru diluncurkan untuk pemanasan adalah 300.
Untuk informasi selengkapnya, lihat Menyelam mendalam tentang penskalaan otomatis cluster Amazon ECS
Pertimbangan skala
Pertimbangkan hal berikut untuk proses scale-out:
-
Meskipun ada beberapa kendala penempatan, kami menyarankan Anda hanya menggunakan kendala penempatan
distinctInstance
tugas. Ini mencegah proses scale-out berhenti karena Anda menggunakan batasan penempatan yang tidak kompatibel dengan instance sampel. -
Penskalaan terkelola berfungsi paling baik jika grup Auto Scaling Anda menggunakan jenis instans yang sama atau serupa.
-
Ketika proses scale-out diperlukan dan tidak ada instance container yang sedang berjalan, Amazon ECS selalu melakukan scale-out ke dua instance pada awalnya, dan kemudian melakukan proses scale-out atau scale-in tambahan. Setiap scale-out tambahan menunggu periode pemanasan instance. Untuk proses scale-in, Amazon ECS menunggu 15 menit setelah proses scale-out sebelum memulai proses scale-in setiap saat.
-
Langkah scale-out kedua harus menunggu sampai
instanceWarmupPeriod
habis masa berlakunya, yang mungkin mempengaruhi batas skala keseluruhan. Jika Anda perlu mengurangi waktu ini, pastikan waktu tersebutinstanceWarmupPeriod
cukup besar untuk EC2 meluncurkan dan memulai agen Amazon ECS (yang mencegah penyediaan berlebih). -
Penskalaan otomatis cluster mendukung Konfigurasi Peluncuran, Template Peluncuran, dan beberapa jenis instans di grup Auto Scaling penyedia kapasitas. Anda juga dapat menggunakan pemilihan tipe instans berbasis atribut tanpa beberapa jenis instance.
-
Saat menggunakan grup Auto Scaling dengan instans Sesuai Permintaan dan beberapa jenis instans atau Instans Spot, tempatkan jenis instans yang lebih besar lebih tinggi dalam daftar prioritas dan jangan tentukan bobot. Menentukan bobot tidak didukung saat ini. Untuk informasi selengkapnya, lihat grup Auto Scaling dengan beberapa jenis instans di AWS Auto Scaling Panduan Pengguna.
-
Amazon ECS kemudian meluncurkan
minimumScalingStepSize
, jika jumlah instans maksimum yang dihitung kurang dari ukuran langkah penskalaan minimum, atau yang lebih rendah dari nilai hitungan instans terhitung maksimummaximumScalingStepSize
atau maksimum. -
Jika layanan Amazon ECS atau
run-task
meluncurkan tugas dan instans wadah penyedia kapasitas tidak memiliki sumber daya yang cukup untuk memulai tugas, Amazon ECS membatasi jumlah tugas dengan status ini untuk setiap cluster dan mencegah tugas apa pun melebihi batas ini. Untuk informasi selengkapnya, lihat Kuota layanan Amazon ECS.
Perilaku scale-in yang dikelola
Amazon ECS memantau instans kontainer untuk setiap penyedia kapasitas dalam klaster. Saat instance container tidak menjalankan tugas apa pun, instance container dianggap kosong dan Amazon ECS memulai proses scale-in.
CloudWatch alarm scale-in memerlukan 15 titik data (15 menit) sebelum proses scale-in untuk grup Auto Scaling dimulai. Setelah proses penskalaan dimulai hingga Amazon ECS perlu mengurangi jumlah instans kontainer yang terdaftar, grup Auto Scaling menetapkan DesireCapacity
nilainya menjadi lebih besar dari satu instans dan kurang dari 50% setiap menit.
Saat Amazon ECS meminta scale-out (bila CapacityProviderReservation
lebih besar dari 100) saat proses scale-in sedang berlangsung, proses scale-in dihentikan dan dimulai dari awal jika diperlukan.
Berikut ini menjelaskan perilaku scale-in secara lebih rinci:
-
Amazon ECS menghitung jumlah instance kontainer yang kosong. Sebuah instance container dianggap kosong bahkan ketika tugas daemon sedang berjalan.
-
Amazon ECS menetapkan
CapacityProviderReservation
nilai ke angka antara 0-100 yang menggunakan rumus berikut untuk mewakili rasio seberapa besar kelompok Auto Scaling harus relatif terhadap seberapa besar sebenarnya, dinyatakan sebagai persentase. Kemudian, Amazon ECS menerbitkan metrik ke. CloudWatch Untuk informasi selengkapnya tentang cara penghitungan metrik, lihat Deep Dive di Auto Scaling Amazon ECS ClusterCapacityProviderReservation = (number of instances needed) / (number of running instances) x 100
-
CapacityProviderReservation
Metrik menghasilkan CloudWatch alarm. Alarm ini memperbaruiDesiredCapacity
nilai untuk grup Auto Scaling. Kemudian, salah satu tindakan berikut terjadi:-
Jika Anda tidak menggunakan penghentian terkelola penyedia kapasitas, grup Auto Scaling akan memilih EC2 instans menggunakan kebijakan penghentian grup Auto Scaling dan mengakhiri instans hingga jumlah instans mencapai. EC2
DesiredCapacity
Instance kontainer kemudian dideregistrasi dari cluster. -
Jika semua instance container menggunakan proteksi terminasi terkelola, Amazon ECS akan menghapus proteksi scale-in pada instance container yang kosong. Grup Auto Scaling kemudian akan dapat menghentikan instance. EC2 Instance kontainer kemudian dideregistrasi dari cluster.
-