Optimalkan penskalaan otomatis ECS klaster Amazon - Amazon Elastic Container Service

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

Optimalkan penskalaan otomatis ECS klaster Amazon

Pelanggan yang menjalankan Amazon ECS di Amazon EC2 dapat memanfaatkan penskalaan otomatis cluster untuk mengelola penskalaan grup Auto EC2 Scaling Amazon. Dengan penskalaan otomatis cluster, Anda dapat mengonfigurasi Amazon ECS untuk menskalakan grup Auto Scaling Anda secara otomatis, dan hanya fokus menjalankan tugas Anda. Amazon ECS memastikan grup Auto Scaling masuk dan keluar sesuai kebutuhan tanpa memerlukan intervensi lebih lanjut. Penyedia ECS kapasitas Amazon digunakan untuk mengelola infrastruktur di klaster Anda dengan memastikan ada cukup instance kontainer untuk memenuhi permintaan aplikasi Anda. Untuk mempelajari cara kerja penskalaan otomatis cluster di bawah kap, lihat Deep Dive di Auto Scaling Amazon ECS Cluster.

Penskalaan otomatis cluster bergantung pada integrasi CloudWatch berbasis dengan grup Auto Scaling untuk menyesuaikan kapasitas cluster. Oleh karena itu memiliki latensi inheren yang terkait dengan

  • Menerbitkan CloudWatch metrik,

  • Waktu yang dibutuhkan metrik CapacityProviderReservation untuk melanggar CloudWatch alarm (tinggi dan rendah)

  • Waktu yang dibutuhkan oleh EC2 instans Amazon yang baru diluncurkan untuk pemanasan. Anda dapat mengambil tindakan berikut untuk membuat penskalaan otomatis cluster lebih responsif untuk penerapan yang lebih cepat:

Ukuran penskalaan langkah penyedia kapasitas

Penyedia ECS kapasitas Amazon akan menumbuhkan/mengecilkan instance kontainer untuk memenuhi permintaan aplikasi Anda. Jumlah minimum instance yang ECS akan diluncurkan Amazon diatur ke 1 secara default. Ini dapat menambah waktu tambahan untuk penerapan Anda, jika beberapa instance diperlukan untuk menempatkan tugas Anda yang tertunda. Anda dapat meningkatkan minimumScalingStepSizemelalui Amazon ECS API untuk meningkatkan jumlah minimum instance yang ECS diskalakan atau dikeluarkan Amazon sekaligus. A maximumScalingStepSizeyang terlalu rendah dapat membatasi berapa banyak instance kontainer yang diskalakan masuk atau keluar sekaligus, yang dapat memperlambat penerapan Anda.

catatan

Konfigurasi ini saat ini hanya tersedia melalui CreateCapacityProvideratau UpdateCapacityProviderAPIs.

Periode pemanasan instans instans

Periode pemanasan instans adalah periode waktu setelah EC2 instans Amazon yang baru diluncurkan dapat berkontribusi pada CloudWatch metrik untuk grup Auto Scaling. Setelah periode pemanasan yang ditentukan berakhir, instance dihitung ke metrik agregat grup Auto Scaling, dan penskalaan otomatis cluster dilanjutkan dengan iterasi perhitungan berikutnya untuk memperkirakan jumlah instance yang diperlukan.

Nilai default untuk instanceWarmupPeriodadalah 300 detik, yang dapat Anda konfigurasikan ke nilai yang lebih rendah melalui CreateCapacityProvideratau UpdateCapacityProviderAPIsuntuk penskalaan yang lebih responsif.

kapasitas cadangan

Jika penyedia kapasitas Anda tidak memiliki instans kontainer yang tersedia untuk menempatkan tugas, maka perlu meningkatkan (skala) kapasitas klaster dengan meluncurkan EC2 instans Amazon dengan cepat, dan menunggu hingga boot sebelum dapat meluncurkan kontainer pada mereka. Ini dapat secara signifikan menurunkan tingkat peluncuran tugas. Anda memiliki dua opsi di sini.

Dalam hal ini, memiliki EC2 kapasitas Amazon cadangan yang sudah diluncurkan dan siap menjalankan tugas akan meningkatkan tingkat peluncuran tugas yang efektif. Anda dapat menggunakan Target Capacity konfigurasi untuk menunjukkan bahwa Anda ingin mempertahankan kapasitas cadangan di cluster Anda. Misalnya, dengan menetapkan Target Capacity 80%, Anda menunjukkan bahwa cluster Anda membutuhkan kapasitas cadangan 20% setiap saat. Kapasitas cadangan ini dapat memungkinkan tugas mandiri apa pun segera diluncurkan, memastikan peluncuran tugas tidak dibatasi. Trade-off untuk pendekatan ini adalah potensi peningkatan biaya untuk menjaga kapasitas cluster cadangan.

Pendekatan alternatif yang dapat Anda pertimbangkan adalah menambahkan ruang kepala ke layanan Anda, bukan ke penyedia kapasitas. Ini berarti bahwa alih-alih mengurangi Target Capacity konfigurasi untuk meluncurkan kapasitas cadangan, Anda dapat meningkatkan jumlah replika di layanan Anda dengan memodifikasi metrik penskalaan pelacakan target atau ambang batas penskalaan langkah dari penskalaan otomatis layanan. Perhatikan bahwa pendekatan ini hanya akan membantu untuk beban kerja yang runcing, tetapi tidak akan berpengaruh saat Anda menerapkan layanan baru dan beralih dari 0 ke N tugas untuk pertama kalinya. Untuk informasi selengkapnya tentang kebijakan penskalaan terkait, lihat Kebijakan Penskalaan Pelacakan Target atau Kebijakan Penskalaan Langkah di Panduan Pengembang Layanan Amazon Elastic Container.