Mempercepat penyediaan kapasitas cluster Amazon ECS dengan penyedia kapasitas di Amazon EC2 - Amazon Elastic Container Service

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

Mempercepat penyediaan kapasitas cluster Amazon ECS dengan penyedia kapasitas di Amazon EC2

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

Karena CAS bergantung pada integrasi CloudWatch berbasis dengan ASG untuk menyesuaikan kapasitas cluster, ia memiliki latensi bawaan yang terkait dengan penerbitan CloudWatch metrik, waktu yang dibutuhkan metrik CapacityProviderReservation untuk melanggar CloudWatch alarm (baik tinggi maupun rendah), dan waktu yang dibutuhkan oleh instans Amazon yang baru diluncurkan untuk pemanasan. EC2 Anda dapat mengambil tindakan berikut untuk membuat CAS lebih responsif untuk penerapan yang lebih cepat:

Ukuran penskalaan langkah penyedia kapasitas

Penyedia kapasitas Amazon ECS pada akhirnya akan grow/shrink menggunakan instans kontainer untuk memenuhi permintaan aplikasi Anda. Jumlah minimum instans yang akan diluncurkan Amazon ECS 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 minimumScalingStepSizedengan menggunakan Amazon ECS API untuk meningkatkan jumlah minimum instans yang diskalakan Amazon ECS masuk atau keluar 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 dengan menggunakan CreateCapacityProvideratau UpdateCapacityProvider APIs.

Periode pemanasan contoh

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 terhadap metrik agregat ASG, dan CAS melanjutkan 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 dengan menggunakan CreateCapacityProvideratau UpdateCapacityProvider APIs untuk 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 di dalamnya. 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 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