Secara otomatis menskalakan layanan Amazon ECS Anda - Amazon Elastic Container Service

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

Secara otomatis menskalakan layanan Amazon ECS Anda

Penskalaan otomatis adalah kemampuan untuk menambah atau mengurangi jumlah tugas yang diinginkan di layanan Amazon ECS Anda secara otomatis. Amazon ECS memanfaatkan layanan Application Auto Scaling untuk menyediakan fungsionalitas ini. Untuk informasi selengkapnya, lihat Panduan Pengguna Application Auto Scaling.

Amazon ECS menerbitkan CloudWatch metrik dengan penggunaan CPU dan memori rata-rata layanan Anda. Untuk informasi selengkapnya, lihat Metrik pemanfaatan layanan Amazon ECS. Anda dapat menggunakan metrik ini dan CloudWatch metrik lainnya untuk meningkatkan skala layanan Anda (menambahkan lebih banyak tugas) untuk menangani permintaan tinggi pada waktu puncak, dan untuk meningkatkan skala dalam layanan Anda (menjalankan lebih sedikit tugas) untuk mengurangi biaya selama periode pemanfaatan rendah.

Amazon ECS Service Auto Scaling mendukung jenis penskalaan otomatis berikut:

Pertimbangan

Saat menggunakan kebijakan penskalaan, pertimbangkan hal berikut:

  • Amazon ECS mengirimkan metrik dalam interval 1 menit ke. CloudWatch Metrik tidak tersedia sampai kluster dan layanan mengirimkan metrik CloudWatch, dan Anda tidak dapat membuat CloudWatch alarm untuk metrik yang tidak ada.

  • Kebijakan penskalaan mendukung periode pendinginan. Ini adalah jumlah detik untuk menunggu hingga aktivitas penskalaan sebelumnya berlaku.

    • Dengan kebijakan penskalaan, tujuannya adalah untuk terus menerus (tetapi tidak berlebihan) menskalakan naik. Setelah Service Auto Scaling berhasil diskalakan menggunakan kebijakan penskalaan, maka mulai menghitung waktu cooldown. Kebijakan penskalaan tidak akan meningkatkan kapasitas yang diinginkan lagi kecuali jika skala yang lebih besar dimulai atau periode cooldown berakhir. Selama periode pendinginan penskalaan keluar berlaku, kapasitas yang ditambahkan dengan cara memulai aktivitas penskalaan keluar dihitung sebagai bagian dari kapasitas yang diinginkan untuk aktivitas penskalaan keluar berikutnya.

    • Untuk kejadian penskalaan kedalam, tujuannya adalah untuk melakukan penskalaan kedalam secara konservatif guna melindungi ketersediaan aplikasi Anda, sehingga aktivitas penskalaan kedalam diblokir hingga periode pendinginan berakhir. Namun, jika alarm lain memulai aktivitas scale-out selama periode cooldown scale-in, Service Auto Scaling segera menskalakan target. Dalam hal ini, periode pendinginan penskalaan kedalam berhenti dan tidak selesai.

  • Penjadwal layanan menghormati jumlah yang diinginkan setiap saat, tetapi selama Anda memiliki kebijakan penskalaan aktif dan alarm pada layanan, Service Auto Scaling dapat mengubah hitungan yang diinginkan yang ditetapkan secara manual oleh Anda.

  • Jika jumlah yang diinginkan layanan ditetapkan di bawah nilai kapasitas minimumnya, dan alarm memulai aktivitas scale-out, Service Auto Scaling menskalakan jumlah yang diinginkan hingga nilai kapasitas minimum dan kemudian melanjutkan skala sesuai kebutuhan, berdasarkan kebijakan penskalaan yang terkait dengan alarm. Namun, kegiatan penskalaan kedalam tidak menyesuaikan jumlah yang diinginkan, karena sudah di bawah nilai kapasitas minimal.

  • Jika jumlah yang diinginkan layanan ditetapkan di atas nilai kapasitas maksimumnya, dan alarm memulai skala dalam aktivitas, Auto Scaling Service menskalakan hitungan yang diinginkan ke nilai kapasitas maksimum dan kemudian melanjutkan penskalaan sesuai kebutuhan, berdasarkan kebijakan penskalaan yang terkait dengan alarm. Namun, aktivitas penskalaan keluar tidak menyesuaikan jumlah yang diinginkan, karena sudah di atas nilai kapasitas maksimal.

  • Selama aktivitas penskalaan, jumlah tugas yang sebenarnya berjalan dalam layanan adalah nilai yang digunakan Service Auto Scaling sebagai titik awalnya, sebagai lawan dari hitungan yang diinginkan. Inilah yang seharusnya menjadi kapasitas pemrosesan. Ini mencegah penskalaan berlebihan (runaway) yang mungkin tidak terpenuhi, misalnya, jika tidak ada sumber daya instance kontainer yang cukup untuk menempatkan tugas tambahan. Jika nantinya kapasitas instans kontainer tersedia, maka aktivitas penskalaan yang tertunda kemungkinan akan berhasil, dan kemudian aktivitas penskalaan lebih lanjut dapat diteruskan setelah periode pendinginan.

  • Jika Anda ingin jumlah tugas Anda menjadi nol ketika tidak ada pekerjaan yang harus dilakukan, tetapkan kapasitas minimum 0. Dengan kebijakan penskalaan pelacakan target, ketika kapasitas aktual adalah 0 dan metrik menunjukkan bahwa ada permintaan beban kerja, Service Auto Scaling menunggu satu titik data dikirim sebelum penskalaan keluar. Dalam hal ini, penskalaan otomatis layanan akan menskalakan keluar berdasarkan jumlah minimal yang memungkinkan sebagai titik awal, dan kemudian melanjutkan penskalaan berdasarkan jumlah tugas berjalan yang aktual.

  • Application Auto Scaling menonaktifkan proses scale-in saat penerapan Amazon ECS sedang berlangsung. Namun, proses penskalaan keluar terus terjadi, kecuali ditangguhkan, selama deployment. Untuk informasi selengkapnya, lihat penskalaan otomatis dan deployment layanan.

  • Anda memiliki beberapa opsi Application Auto Scaling untuk tugas Amazon ECS. Pelacakan target adalah mode termudah untuk digunakan. Dengan itu, yang perlu Anda lakukan adalah menetapkan nilai target untuk metrik, seperti pemanfaatan rata-rata CPU. Kemudian, auto scaler secara otomatis mengelola jumlah tugas yang diperlukan untuk mencapai nilai itu. Dengan penskalaan langkah, Anda dapat bereaksi lebih cepat terhadap perubahan permintaan, karena Anda menentukan ambang batas tertentu untuk metrik penskalaan Anda, dan berapa banyak tugas yang harus ditambahkan atau dihapus saat ambang batas dilewati. Dan, yang lebih penting, Anda dapat bereaksi sangat cepat terhadap perubahan permintaan dengan meminimalkan jumlah waktu alarm ambang batas dilanggar.

penskalaan otomatis dan deployment layanan

Application Auto Scaling menonaktifkan proses scale-in saat penerapan Amazon ECS sedang berlangsung. Namun, proses penskalaan keluar terus terjadi, kecuali ditangguhkan, selama deployment. Jika Anda ingin menangguhkan proses penskalaan keluar saat deployment dalam progres, lakukan langkah-langkah berikut.

  1. Panggil describe-scalable-targetsperintah, tentukan ID sumber daya layanan yang terkait dengan target yang dapat diskalakan di Application Auto Scaling (Contoh:). service/default/sample-webapp Catat outputnya. Anda akan membutuhkannya saat memanggil perintah berikutnya.

  2. Panggil register-scalable-targetperintah, tentukan ID sumber daya, namespace, dan dimensi yang dapat diskalakan. Tentukan true, baik untuk DynamicScalingInSuspended maupun DynamicScalingOutSuspended.

  3. Setelah penerapan selesai, Anda dapat memanggil register-scalable-targetperintah untuk melanjutkan penskalaan.

Untuk informasi lebih lanjut, lihat Menangguhkan dan melanjutkan penskalaan untuk Application Auto Scaling.