Penskalaan dinamis untuk EC2 Auto Scaling Amazon - EC2Auto Scaling Amazon

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

Penskalaan dinamis untuk EC2 Auto Scaling Amazon

Penskalaan dinamis menskalakan kapasitas grup Auto Scaling Anda saat terjadi perubahan lalu lintas.

Amazon EC2 Auto Scaling mendukung jenis kebijakan penskalaan dinamis berikut:

  • Penskalaan pelacakan target —Tingkatkan dan kurangi kapasitas grup saat ini berdasarkan CloudWatch metrik Amazon dan nilai target. Ini bekerja mirip dengan cara termostat Anda mempertahankan suhu rumah Anda—Anda memilih suhu dan termostat melakukan sisanya.

  • Penskalaan langkah — Meningkatkan dan mengurangi kapasitas grup saat ini berdasarkan serangkaian penyesuaian penskalaan, yang dikenal sebagai penyesuaian langkah, yang bervariasi berdasarkan ukuran pelanggaran alarm.

  • Penskalaan sederhana —Meningkatkan dan mengurangi kapasitas grup saat ini berdasarkan penyesuaian penskalaan tunggal, dengan periode cooldown antara setiap aktivitas penskalaan.

Kami sangat menyarankan agar Anda menggunakan kebijakan penskalaan pelacakan target dan memilih metrik yang berubah berbanding terbalik dengan perubahan kapasitas grup Auto Scaling Anda. Jadi, jika Anda menggandakan ukuran grup Auto Scaling Anda, metriknya berkurang 50 persen. Hal ini memungkinkan data metrik untuk secara akurat memicu peristiwa penskalaan proporsional. Termasuk metrik seperti CPU pemanfaatan rata-rata atau jumlah permintaan rata-rata per target.

Dengan pelacakan target, grup Auto Scaling Anda menskalakan dalam proporsi langsung dengan beban aktual pada aplikasi Anda. Itu berarti bahwa selain memenuhi kebutuhan mendesak akan kapasitas dalam menanggapi perubahan beban, kebijakan pelacakan target juga dapat beradaptasi dengan perubahan beban yang terjadi dari waktu ke waktu, misalnya, karena variasi musim.

Kebijakan pelacakan target juga menghilangkan kebutuhan untuk menentukan CloudWatch alarm dan penyesuaian penskalaan secara manual. Amazon EC2 Auto Scaling menangani ini secara otomatis berdasarkan target yang Anda tetapkan.

Cara kerja kebijakan penskalaan dinamis

Kebijakan penskalaan dinamis menginstruksikan Amazon EC2 Auto Scaling untuk melacak metrik CloudWatch tertentu, dan menentukan tindakan apa yang harus diambil saat alarm terkait masuk. CloudWatch ALARM Metrik yang digunakan untuk memanggil status alarm adalah agregasi metrik yang berasal dari semua instance dalam grup Auto Scaling. (Misalnya, katakanlah Anda memiliki grup Auto Scaling dengan dua contoh di mana satu instance berada pada 60 persen CPU dan yang lainnya adalah 40 persen. CPU Rata-rata, mereka berada di 50 persenCPU.) Saat kebijakan diberlakukan, EC2 Auto Scaling Amazon menyesuaikan kapasitas yang diinginkan grup naik atau turun saat ambang alarm dilanggar.

Ketika kebijakan penskalaan dinamis dipanggil, jika penghitungan kapasitas menghasilkan angka di luar rentang ukuran minimum dan maksimum grup, Amazon Auto EC2 Scaling memastikan bahwa kapasitas baru tidak pernah melampaui batas ukuran minimum dan maksimum. Kapasitas diukur dengan salah satu dari dua cara: menggunakan unit yang sama yang Anda pilih saat Anda mengatur kapasitas yang diinginkan dalam hal instance, atau menggunakan unit kapasitas (jika bobot instance diterapkan).

  • Contoh 1: Grup Auto Scaling memiliki kapasitas maksimum 3, kapasitas saat ini 2, dan kebijakan penskalaan dinamis yang menambahkan 3 instans. Saat menjalankan kebijakan ini, Amazon EC2 Auto Scaling hanya menambahkan 1 instance ke grup untuk mencegah grup melebihi ukuran maksimumnya.

  • Contoh 2: Grup Auto Scaling memiliki kapasitas minimum 2, kapasitas saat ini 3, dan kebijakan penskalaan dinamis yang menghapus 2 instans. Saat menjalankan kebijakan ini, Amazon EC2 Auto Scaling hanya menghapus 1 instance dari grup untuk mencegah grup menjadi kurang dari ukuran minimumnya.

Ketika kapasitas yang diinginkan mencapai batas ukuran maksimum, penskalaan berhenti. Jika permintaan turun dan kapasitas menurun, Amazon EC2 Auto Scaling dapat meningkatkan skala lagi.

Pengecualiannya adalah saat Anda menggunakan bobot instance. Dalam hal ini, Amazon EC2 Auto Scaling dapat meningkatkan skala di atas batas ukuran maksimum, tetapi hanya hingga berat instans maksimum Anda. Tujuannya adalah untuk sedekat mungkin dengan kapasitas baru yang diinginkan tetapi tetap mematuhi strategi alokasi yang ditentukan untuk grup. Strategi alokasi menentukan jenis instance yang akan diluncurkan. Bobot tersebut menentukan berapa banyak unit kapasitas yang dikontribusikan tiap-tiap instance pada kapasitas yang diinginkan grup berdasarkan tipe instance.

  • Contoh 3: Grup Auto Scaling memiliki kapasitas maksimum 12, kapasitas saat ini 10, dan kebijakan penskalaan dinamis yang menambahkan 5 unit kapasitas. Jenis instance memiliki satu dari tiga bobot yang ditetapkan: 1, 4, atau 6. Saat menjalankan kebijakan, Amazon EC2 Auto Scaling memilih untuk meluncurkan jenis instans dengan bobot 6 berdasarkan strategi alokasi. Hasil dari peristiwa peningkatan skala ini adalah grup dengan kapasitas yang diinginkan sebesar 12 dan kapasitas saat ini sebesar 16.

Beberapa kebijakan penskalaan dinamis

Dalam sebagian besar kasus, kebijakan penskalaan pelacakan target cukup untuk mengonfigurasi grup Auto Scaling Anda untuk menaikkan atau menurunkan skala secara otomatis. Kebijakan penskalaan pelacakan target memungkinkan Anda memilih hasil yang diinginkan dan meminta grup Auto Scaling menambahkan dan menghapus instance sesuai kebutuhan untuk mencapai hasil tersebut.

Untuk konfigurasi penskalaan tingkat lanjut, grup Auto Scaling Anda dapat memiliki lebih dari satu kebijakan penskalaan. Misalnya, Anda dapat menentukan satu atau lebih kebijakan penskalaan pelacakan target, satu atau lebih kebijakan penskalaan langkah, atau keduanya. Ini memberikan fleksibilitas yang lebih besar untuk mencakup beberapa skenario.

Untuk mengilustrasikan cara kerja bersama beberapa kebijakan penskalaan dinamis, pertimbangkan aplikasi yang menggunakan grup Auto Scaling dan antrian SQS Amazon untuk mengirim permintaan ke satu instance. EC2 Untuk membantu memastikan bahwa aplikasi bekerja pada tingkat optimal, ada dua kebijakan yang mengontrol ketika grup Auto Scaling harus ditingkatkan. Salah satunya adalah kebijakan pelacakan target yang menggunakan metrik khusus untuk menambah dan menghapus kapasitas berdasarkan jumlah SQS pesan dalam antrian. Yang lainnya adalah kebijakan penskalaan langkah yang menggunakan CloudWatch CPUUtilization metrik Amazon untuk menambah kapasitas ketika instance melebihi 90 persen pemanfaatan untuk jangka waktu tertentu.

Jika ada beberapa kebijakan yang berlaku pada saat yang sama, ada kemungkinan bahwa setiap kebijakan dapat menginstruksikan grup Auto Scaling untuk meningkatkan skala (atau menurunkan skala) pada saat yang sama. Misalnya, ada kemungkinan bahwa CPUUtilization metrik melonjak dan melanggar ambang CloudWatch alarm pada saat yang sama ketika metrik SQS khusus melonjak dan melanggar ambang alarm metrik khusus.

Ketika situasi ini terjadi, Amazon EC2 Auto Scaling memilih kebijakan yang menyediakan kapasitas terbesar untuk skala keluar dan skala. Misalkan, misalnya, kebijakan untuk CPUUtilization meluncurkan satu instance, sedangkan kebijakan untuk SQS antrian meluncurkan dua instance. Jika kriteria penskalaan untuk kedua kebijakan terpenuhi secara bersamaan, Auto EC2 Scaling Amazon akan mengutamakan kebijakan antrian. SQS Hal ini menghasilkan grup Auto Scaling yang meluncurkan dua instance.

Pendekatan pemberian prioritas terhadap kebijakan yang memberikan kapasitas terbesar berlaku bahkan ketika kebijakan menggunakan kriteria yang berbeda untuk penskalaan. Misalnya, jika satu kebijakan menghentikan tiga instans, kebijakan lain mengurangi jumlah instans sebesar 25 persen, dan grup memiliki delapan instans pada saat penskalaan, Amazon Auto Scaling EC2 memberikan prioritas pada kebijakan yang menyediakan jumlah instans terbesar untuk grup. Ini menghasilkan grup Auto Scaling yang menghentikan dua instance (25 persen dari 8 = 2). Tujuannya adalah untuk mencegah Amazon EC2 Auto Scaling menghapus terlalu banyak instance.

Namun, kami menyarankan untuk berhati-hati ketika menggunakan kebijakan penskalaan pelacakan target dengan kebijakan penskalaan langkah karena konflik antarkebijakan ini dapat menyebabkan hal yang tidak diinginkan. Misalnya, jika kebijakan penskalaan langkah memulai skala dalam aktivitas sebelum kebijakan pelacakan target siap untuk diskalakan, skala dalam aktivitas tidak akan diblokir. Setelah skala aktivitas selesai, kebijakan pelacakan target dapat menginstruksikan kelompok untuk meningkatkan skala lagi.