View a markdown version of this page

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 EC2 Auto Scaling (ASG). Dengan CAS, Anda dapat mengonfigurasi Amazon ECS untuk menskalakan ASG Anda secara otomatis, dan hanya fokus menjalankan tugas Anda. Amazon ECS akan memastikan ASG masuk dan keluar sesuai kebutuhan tanpa perlu intervensi lebih lanjut. Penyedia kapasitas Amazon ECS digunakan untuk mengelola infrastruktur di cluster Anda dengan memastikan ada instans kontainer yang cukup untuk memenuhi tuntutan aplikasi Anda. Untuk mempelajari cara kerja Amazon ECS CAS, lihat Deep Dive di Amazon ECS Cluster Auto Scaling.

Karena CAS mengandalkan integrasi CloudWatch berbasis dengan ASG untuk menyesuaikan kapasitas cluster, CAS memiliki latensi inheren terkait dengan penerbitan CloudWatch metrik, waktu yang dibutuhkan metrik CapacityProviderReservation untuk menembus CloudWatch alarm (baik tinggi maupun rendah), dan waktu yang dibutuhkan oleh instans Amazon EC2 yang baru diluncurkan untuk pemanasan. 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 membuat instance kontainer untuk memenuhi tuntutan 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 instans diperlukan untuk menempatkan tugas yang tertunda. Anda dapat meningkatkan minimumScalingStepSize dengan menggunakan Amazon ECS API untuk meningkatkan jumlah minimum instans yang dapat diskalakan atau dikeluarkan Amazon ECS pada satu waktu. A maximumScalingStepSize yang terlalu rendah dapat membatasi berapa banyak instance kontainer yang diskalakan masuk atau keluar pada satu waktu, yang dapat memperlambat penerapan Anda.

catatan

Konfigurasi ini saat ini hanya tersedia dengan menggunakan UpdateCapacityProvider API CreateCapacityProvider or.

Periode pemanasan contoh

Periode pemanasan instans adalah periode waktu setelah itu instans Amazon EC2 yang baru diluncurkan dapat berkontribusi pada CloudWatch metrik untuk grup Penskalaan Otomatis. 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 instanceWarmupPeriod adalah 300 detik, yang dapat Anda konfigurasikan ke nilai yang lebih rendah dengan menggunakan UpdateCapacityProvider API CreateCapacityProvider or untuk penskalaan yang lebih responsif.

Kapasitas cadangan

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

Dalam hal ini, memiliki kapasitas cadangan Amazon EC2 yang sudah diluncurkan dan tugas siap dijalankan 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 20% kapasitas cadangan setiap saat. Kapasitas cadangan ini dapat memungkinkan setiap tugas mandiri segera diluncurkan, memastikan peluncuran tugas tidak dibatasi. Pengorbanan untuk pendekatan ini adalah potensi peningkatan biaya untuk menjaga kapasitas cluster cadangan.

Pendekatan alternatif yang dapat Anda pertimbangkan adalah menambahkan headroom 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 dalam layanan Anda dengan memodifikasi metrik penskalaan pelacakan target atau ambang 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 tugas 0 ke N untuk pertama kalinya. Untuk informasi selengkapnya tentang kebijakan penskalaan terkait, lihat Kebijakan Penskalaan Pelacakan Target atau Kebijakan Penskalaan Langkah