Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola kapasitas Amazon ECS secara otomatis dengan penskalaan otomatis cluster
Amazon ECS dapat mengelola penskalaan EC2 instans Amazon yang terdaftar ke klaster Anda. Ini disebut sebagai penskalaan otomatis cluster Amazon ECS. Anda mengaktifkan penskalaan terkelola saat membuat penyedia kapasitas grup Auto Scaling Amazon ECS. Kemudian, Anda menetapkan persentase target (thetargetCapacity
) untuk pemanfaatan instance dalam grup Auto Scaling ini. Amazon ECS membuat dua CloudWatch metrik khusus dan kebijakan penskalaan pelacakan target untuk grup Auto Scaling Anda. Amazon ECS kemudian mengelola tindakan scale-in dan scale-out berdasarkan pemanfaatan sumber daya yang digunakan tugas Anda.
Untuk setiap penyedia kapasitas grup Auto Scaling yang terkait dengan kluster, Amazon ECS membuat dan mengelola sumber daya berikut:
-
CloudWatch Alarm nilai metrik rendah
-
CloudWatch Alarm nilai metrik tinggi
-
Kebijakan penskalaan pelacakan target
catatan
Amazon ECS membuat kebijakan penskalaan pelacakan target dan menempelkannya ke grup Auto Scaling. Untuk memperbarui kebijakan penskalaan pelacakan target, perbarui pengaturan penskalaan terkelola penyedia kapasitas, daripada memperbarui kebijakan penskalaan secara langsung.
Saat Anda menonaktifkan penskalaan terkelola atau memisahkan penyedia kapasitas dari kluster, Amazon ECS akan menghapus CloudWatch metrik dan sumber daya kebijakan penskalaan pelacakan target.
Amazon ECS menggunakan metrik berikut untuk menentukan tindakan apa yang harus diambil:
CapacityProviderReservation
-
Persentase instance kontainer yang digunakan untuk penyedia kapasitas tertentu. Amazon ECS menghasilkan metrik ini.
Amazon ECS menetapkan
CapacityProviderReservation
nilai ke angka antara 0-100. Amazon ECS menggunakan rumus berikut untuk mewakili rasio berapa banyak kapasitas yang tersisa dalam grup Auto Scaling. Kemudian, Amazon ECS menerbitkan metrik ke. CloudWatch Untuk informasi selengkapnya tentang cara penghitungan metrik, lihat Deep Dive di Auto Scaling Amazon ECS Cluster. CapacityProviderReservation = (number of instances needed) / (number of running instances) x 100
DesiredCapacity
-
Jumlah kapasitas untuk grup Auto Scaling. Metrik ini tidak dipublikasikan ke CloudWatch.
Amazon ECS menerbitkan CapacityProviderReservation
metrik ke CloudWatch dalam namespace. AWS/ECS/ManagedScaling
CapacityProviderReservation
Metrik menyebabkan salah satu tindakan berikut terjadi:
CapacityProviderReservation
Nilainya sama dengantargetCapacity
-
Grup Auto Scaling tidak perlu menskalakan atau memperkecil skala. Target persentase pemanfaatan telah tercapai.
CapacityProviderReservation
Nilainya lebih besar daritargetCapacity
-
Ada lebih banyak tugas menggunakan persentase kapasitas yang lebih tinggi daripada
targetCapacity
persentase Anda. Peningkatan nilaiCapacityProviderReservation
metrik menyebabkan CloudWatch alarm terkait bertindak. Alarm ini memperbaruiDesiredCapacity
nilai untuk grup Auto Scaling. Grup Auto Scaling menggunakan nilai ini untuk meluncurkan EC2 instance, dan kemudian mendaftarkannya ke cluster.Ketika
targetCapacity
adalah nilai default 100%, tugas baru berada dalamPENDING
status selama scale-out karena tidak ada kapasitas yang tersedia pada instance untuk menjalankan tugas. Setelah instans baru mendaftar dengan ECS, tugas-tugas ini akan dimulai pada instans baru. CapacityProviderReservation
Nilainya kurang daritargetCapacity
-
Ada lebih sedikit tugas yang menggunakan persentase kapasitas yang lebih rendah daripada
targetCapacity
persentase Anda dan setidaknya ada satu contoh yang dapat dihentikan. NilaiCapacityProviderReservation
metrik yang menurun menyebabkan CloudWatch alarm terkait bertindak. Alarm ini memperbaruiDesiredCapacity
nilai untuk grup Auto Scaling. Grup Auto Scaling menggunakan nilai ini untuk menghentikan instance EC2 kontainer, dan kemudian membatalkan pendaftarannya dari cluster.Grup Auto Scaling mengikuti kebijakan penghentian grup untuk menentukan instance mana yang dihentikan terlebih dahulu selama peristiwa penskalaan. Selain itu, ini menghindari instance dengan pengaturan perlindungan skala masuk instance diaktifkan. Penskalaan otomatis cluster dapat mengelola instance mana yang memiliki setelan perlindungan penskalaan instans jika Anda mengaktifkan perlindungan terminasi terkelola. Untuk informasi selengkapnya tentang perlindungan terminasi terkelola, lihatKontrol instans Amazon ECS berakhir. Untuk informasi selengkapnya tentang cara grup Auto Scaling menghentikan instans, lihat Mengontrol instans Auto Scaling mana yang dihentikan selama penskalaan di Panduan Pengguna Amazon Auto Scaling. EC2
Pertimbangkan hal berikut saat menggunakan penskalaan otomatis cluster:
-
Jangan mengubah atau mengelola kapasitas yang diinginkan untuk grup Auto Scaling yang terkait dengan penyedia kapasitas dengan kebijakan penskalaan apa pun selain yang dikelola Amazon ECS.
-
Saat Amazon ECS keluar dari 0 instans, Amazon ECS akan secara otomatis meluncurkan 2 instans.
-
Amazon ECS menggunakan peran IAM
AWSServiceRoleForECS
terkait layanan untuk izin yang diperlukan untuk memanggil atas nama Anda. AWS Auto Scaling Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon ECS. -
Saat menggunakan penyedia kapasitas dengan grup Auto Scaling, pengguna, grup, atau peran yang membuat penyedia kapasitas memerlukan izin.
autoscaling:CreateOrUpdateTags
Ini karena Amazon ECS menambahkan tag ke grup Auto Scaling saat mengaitkannya dengan penyedia kapasitas.penting
Pastikan alat apa pun yang Anda gunakan tidak menghapus
AmazonECSManaged
tag dari grup Auto Scaling. Jika tag ini dihapus, Amazon ECS tidak dapat mengelola penskalaan. -
Penskalaan otomatis cluster tidak mengubah MinimumCapacityatau MaximumCapacityuntuk grup. Agar kelompok dapat diskalakan, nilai untuk MaximumCapacityharus lebih besar dari nol.
-
Saat Auto Scaling (penskalaan terkelola) diaktifkan, penyedia kapasitas hanya dapat dihubungkan ke satu cluster pada saat yang bersamaan. Jika penyedia kapasitas Anda telah mengelola penskalaan dimatikan, Anda dapat mengaitkannya dengan beberapa cluster.
-
Saat penskalaan terkelola dimatikan, penyedia kapasitas tidak akan menskalakan atau memperkecil skala. Anda dapat menggunakan strategi penyedia kapasitas untuk menyeimbangkan tugas Anda antara penyedia kapasitas.
-
binpack
Strategi adalah strategi yang paling efisien dalam hal kapasitas. -
Ketika kapasitas target kurang dari 100%, strategi penempatan yang perlu menggunakan
binpack
strategi harus memiliki urutan yang lebih tinggi daripadaspread
strategi. Ini mencegah penyedia kapasitas dari skala hingga setiap tugas memiliki instance khusus atau batasnya tercapai.
Aktifkan penskalaan otomatis cluster
Anda dapat mengaktifkan penskalaan otomatis cluster dengan menggunakan Konsol atau. AWS CLI
Saat Anda membuat klaster untuk jenis EC2 peluncuran menggunakan konsol, Amazon ECS membuat grup Auto Scaling atas nama Anda dan menetapkan kapasitas target. Untuk informasi selengkapnya, lihat Membuat cluster Amazon ECS untuk jenis EC2 peluncuran Amazon.
Anda juga dapat membuat grup Auto Scaling, lalu menetapkannya ke cluster. Untuk informasi selengkapnya, lihat Memperbarui penyedia kapasitas Amazon ECS.
Saat Anda menggunakan AWS CLI, setelah Anda membuat cluster
-
Sebelum Anda membuat penyedia kapasitas, Anda perlu membuat grup Auto Scaling. Untuk informasi selengkapnya, lihat grup Auto Scaling di Panduan Pengguna Amazon Auto EC2 Scaling.
-
Gunakan
put-cluster-capacity-providers
untuk memodifikasi penyedia kapasitas cluster. Untuk informasi selengkapnya, lihat Mengaktifkan penskalaan otomatis cluster Amazon ECS.