View a markdown version of this page

Kelola kapasitas Amazon ECS secara otomatis dengan penskalaan otomatis cluster - Amazon Elastic Container Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kelola kapasitas Amazon ECS secara otomatis dengan penskalaan otomatis cluster

Amazon ECS dapat mengelola penskalaan instans Amazon EC2 yang terdaftar ke cluster Anda. Ini disebut sebagai penskalaan otomatis cluster Amazon ECS. Anda mengaktifkan penskalaan terkelola saat membuat penyedia kapasitas grup Amazon ECS Auto Scaling. Kemudian, Anda menetapkan persentase target (thetargetCapacity) untuk pemanfaatan instance di grup Penskalaan Otomatis ini. Amazon ECS membuat dua met CloudWatch rik khusus dan kebijakan penskalaan pelacakan target untuk grup Penskalaan Otomatis Anda. Amazon ECS kemudian mengelola tindakan scale-in dan scale-out berdasarkan pemanfaatan sumber daya yang digunakan tugas Anda.

Untuk setiap penyedia kapasitas grup Penskalaan Otomatis yang terkait dengan cluster, 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 melampirkannya ke grup Penskalaan Otomatis. Untuk memperbarui kebijakan penskalaan pelacakan target, perbarui pengaturan penskalaan yang dikelola penyedia kapasitas, bukan memperbarui kebijakan penskalaan secara langsung.

Saat Anda menonaktifkan penskalaan terkelola atau memisahkan penyedia kapasitas dari cluster, Amazon ECS 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 di grup Penskalaan Otomatis. Kemudian, Amazon ECS menerbitkan metrik ke CloudWatch. Untuk informasi selengkapnya tentang cara menghitung metrik, lihat Deep Dive on Amazon ECS Cluster Auto Scaling.

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 AWS/ECS/ManagedScaling namespace. Met CapacityProviderReservation rik menyebabkan salah satu tindakan berikut terjadi:

Nil CapacityProviderReservation ainya sama targetCapacity

Grup Penskalaan Otomatis tidak perlu menskalakan atau memperkecil skala. Persentase pemanfaatan target telah tercapai.

Nil CapacityProviderReservation ainya lebih besar dari targetCapacity

Ada lebih banyak tugas menggunakan persentase kapasitas yang lebih tinggi daripada targetCapacity persentase Anda. Peningkatan nilai CapacityProviderReservation metrik menyebabkan CloudWatch alarm terkait bertindak. Alarm ini memperbarui DesiredCapacity nilai untuk grup Auto Scaling. Grup Penskalaan Otomatis menggunakan nilai ini untuk meluncurkan instans EC2, dan kemudian mendaftarkannya ke cluster.

Jika nilai default targetCapacity adalah 100%, tugas baru berada dalam PENDING status selama scale-out karena tidak ada kapasitas yang tersedia pada instans untuk menjalankan tugas. Setelah instans baru mendaftar dengan ECS, tugas-tugas ini akan dimulai pada instans baru.

Nil CapacityProviderReservation ainya kurang dari targetCapacity

Ada lebih sedikit tugas menggunakan persentase kapasitas yang lebih rendah daripada targetCapacity persentase Anda dan setidaknya ada satu instance yang dapat dihentikan. Penurunan nilai CapacityProviderReservation metrik menyebabkan CloudWatch alarm terkait bertindak. Alarm ini memperbarui DesiredCapacity nilai untuk grup Auto Scaling. Grup Penskalaan Otomatis menggunakan nilai ini untuk mengakhiri instance kontainer EC2, dan kemudian membatalkan pendaftaran mereka dari cluster.

Grup Penskalaan Otomatis mengikuti kebijakan penghentian grup untuk menentukan instans mana yang dihentikan pertama kali selama peristiwa scale-in. Selain itu, ia menghindari instance dengan pengaturan perlindungan skala instans diaktifkan. Penskalaan otomatis cluster dapat mengelola instans mana yang memiliki setelan perlindungan skala-in instans jika Anda mengaktifkan perlindungan terminasi terkelola. Untuk informasi selengkapnya tentang perlindungan penghentian terkelola, lihatKontrol instans yang dihentikan Amazon ECS. Untuk informasi selengkapnya tentang cara grup Penskalaan Otomatis menghentikan instans, lihat Mengon trol instans Penskalaan Otomatis mana yang diakhiri selama penskalaan di Panduan Pengguna Penskalaan Otomatis Amazon EC2.

Pertimbangkan hal berikut saat menggunakan penskalaan otomatis cluster:

  • Jangan mengubah atau mengelola kapasitas yang diinginkan untuk grup Penskalaan Otomatis yang terkait dengan penyedia kapasitas dengan kebijakan penskalaan apa pun selain yang dikelola Amazon ECS.

  • Ketika Amazon ECS menskalakan dari 0 instans, secara otomatis meluncurkan 2 instans.

  • Amazon ECS menggunakan peran I AWSServiceRoleForECS AM terkait layanan untuk izin yang diperlukan untuk menelepon atas nama Anda. AWS Auto Scaling Untuk informasi selengkapnya, lihat Menggunakan peran terkait layanan untuk Amazon ECS.

  • Saat menggunakan penyedia kapasitas dengan grup Penskalaan Otomatis, pengguna, grup, atau peran yang membuat penyedia kapasitas memerlukan autoscaling:CreateOrUpdateTags izin tersebut. Ini karena Amazon ECS menambahkan tag ke grup Auto Scaling saat mengaitkannya dengan penyedia kapasitas.

    penting

    Pastikan semua perkakas yang Anda gunakan tidak menghapus AmazonECSManaged tag dari grup Penskalaan Otomatis. Jika tag ini dihapus, Amazon ECS tidak dapat mengelola penskalaan.

  • Penskalaan otomatis cluster tidak mengubah MinimumCapacity atau MaximumCapacity untuk grup. Agar grup dapat diskalakan, nilai untuk MaximumCapacity harus lebih besar dari nol.

  • Ketika Penskalaan Otomatis (penskalaan terkelola) diaktifkan, penyedia kapasitas hanya dapat dihubungkan ke satu cluster secara bersamaan. Jika penyedia kapasitas Anda menonaktifkan penskalaan terkelola, Anda dapat mengaitkannya dengan beberapa cluster.

  • Saat penskalaan terkelola dimatikan, penyedia kapasitas tidak akan melakukan skala masuk atau diperkecil. Anda dapat menggunakan strategi penyedia kapasitas untuk menyeimbangkan tugas Anda antara penyedia kapasitas.

  • binpackStrategi adalah strategi yang paling efisien dalam hal kapasitas.

  • Ketika kapasitas target kurang dari 100%, dalam strategi penempatan, binpack strategi harus memiliki urutan yang lebih tinggi daripada spread strategi. Ini mencegah penyedia kapasitas menskalakan hingga setiap tugas memiliki instance khusus atau batas tercapai.

Aktifkan penskalaan otomatis cluster

Anda dapat mengaktifkan penskalaan otomatis cluster dengan menggunakan Konsol atau AWS CLI.

Saat Anda membuat cluster yang menggunakan penyedia kapasitas EC2 menggunakan konsol, Amazon ECS membuat grup Penskalaan Otomatis atas nama Anda dan menetapkan kapasitas target. Untuk informasi selengkapnya, lihat Membuat cluster Amazon ECS untuk beban kerja Amazon EC2.

Anda juga dapat membuat grup Auto Scaling, dan kemudian menetapkannya ke cluster. Untuk informasi selengkapnya, lihat Memperbarui penyedia kapasitas Amazon ECS.

Saat Anda menggunakan AWS CLI, setelah Anda membuat cluster

  1. Sebelum membuat penyedia kapasitas, Anda perlu membuat grup Penskalaan Otomatis. Untuk informasi selengkapnya, lihat Grup Penskalaan Otom atis di Panduan Pengguna Penskalaan Otomatis Amazon EC2.

  2. Gunakan put-cluster-capacity-providers untuk memodifikasi penyedia kapasitas cluster. Untuk informasi selengkapnya, lihat Mengaktifkan penskalaan otomatis cluster Amazon ECS.