Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Cara kerja penskalaan langkah untuk Application Auto Scaling
Topik ini menjelaskan cara kerja penskalaan langkah dan memperkenalkan elemen kunci dari kebijakan penskalaan langkah.
Daftar Isi
Cara kerjanya
Untuk menggunakan penskalaan langkah, Anda membuat CloudWatch alarm yang memantau metrik untuk target yang dapat diskalakan. Tentukan metrik, nilai ambang batas, dan jumlah periode evaluasi yang menentukan pelanggaran alarm. Anda juga membuat kebijakan penskalaan langkah yang menentukan cara menskalakan kapasitas saat ambang alarm dilanggar dan mengaitkannya dengan target yang dapat diskalakan.
Tambahkan penyesuaian langkah dalam kebijakan. Anda dapat menentukan penyesuaian langkah yang berbeda berdasarkan ukuran pelanggaran alarm. Sebagai contoh:
-
Skalakan 10 unit kapasitas jika metrik alarm mencapai 60 persen
-
Skalakan 30 unit kapasitas jika metrik alarm mencapai 75 persen
-
Skalakan dengan 40 unit kapasitas jika metrik alarm mencapai 85 persen
Ketika ambang batas alarm dilanggar untuk jumlah periode evaluasi yang ditentukan, Application Auto Scaling akan menerapkan penyesuaian langkah yang ditentukan dalam kebijakan. Penyesuaian dapat berlanjut untuk pelanggaran alarm tambahan hingga status alarm kembali ke. OK
Aktivitas penskalaan dilakukan dengan periode cooldown di antara mereka untuk mencegah fluktuasi kapasitas yang cepat. Anda dapat secara opsional mengonfigurasi periode cooldown untuk kebijakan penskalaan Anda.
Penyesuaian langkah
Saat membuat kebijakan penskalaan langkah, Anda menentukan satu atau beberapa penyesuaian langkah yang secara otomatis menskalakan kapasitas target secara dinamis berdasarkan ukuran pelanggaran alarm. Setiap penyesuaian langkah menentukan hal berikut:
-
Batas bawah untuk nilai metrik
-
Batas atas untuk nilai metrik
-
Jumlah yang ditentukan untuk diskalakan, berdasarkan jenis penyesuaian penskalaan
CloudWatch mengumpulkan titik data metrik berdasarkan statistik untuk metrik yang terkait dengan CloudWatch alarm Anda. Ketika alarm dilanggar, kebijakan penskalaan yang sesuai akan dipanggil. Application Auto Scaling menerapkan tipe agregasi yang Anda tentukan ke titik data metrik terbaru dari CloudWatch (sebagai lawan dari data metrik mentah). Penskalaan ini membandingkan nilai metrik agregat ini terhadap batas atas dan bawah yang ditentukan oleh penyesuaian langkah untuk menentukan penyesuaian langkah mana yang harus dilakukan.
Anda menentukan batas atas dan bawah terkait dengan ambang batas pelanggaran. Sebagai contoh, katakanlah Anda membuat CloudWatch alarm dan kebijakan scale-out ketika metrik di atas 50 persen. Anda kemudian membuat alarm kedua dan kebijakan skala dalam ketika metrik di bawah 50 persen. Anda membuat serangkaian penyesuaian langkah dengan jenis penyesuaian PercentChangeInCapacity
untuk setiap kebijakan:
Batas bawah | Batas atas | Penyesuaian |
---|---|---|
0 |
10 |
0 |
10 |
20 |
10 |
20 |
nol |
30 |
Batas bawah | Batas atas | Penyesuaian |
---|---|---|
-10 |
0 |
0 |
-20 |
-10 |
-10 |
nol |
-20 |
-30 |
Ini membuat konfigurasi penskalaan berikut.
Metric value
-infinity 30% 40% 60% 70% infinity
-----------------------------------------------------------------------
-30% | -10% | Unchanged | +10% | +30%
-----------------------------------------------------------------------
Sekarang, katakanlah Anda menggunakan konfigurasi penskalaan ini pada target yang dapat diskalakan yang memiliki kapasitas 10. Poin-poin berikut merangkum perilaku konfigurasi penskalaan dalam kaitannya dengan kapasitas target yang dapat diskalakan:
-
Kapasitas asli dipertahankan sementara nilai metrik agregat lebih besar dari 40 dan kurang dari 60.
-
Jika nilai metrik mencapai 60, Application Auto Scaling meningkatkan kapasitas target yang dapat diskalakan sebesar 1, menjadi 11. Itu berdasarkan penyesuaian langkah kedua dari kebijakan penskalaan naik (tambahkan 10 persen dari 10). Setelah kapasitas baru ditambahkan, Application Auto Scaling meningkatkan kapasitas saat ini menjadi 11. Jika nilai metrik meningkat menjadi 70 bahkan setelah peningkatan kapasitas, Application Auto Scaling meningkatkan kapasitas target sebesar 3, menjadi 14. Itu berdasarkan penyesuaian langkah ketiga dari kebijakan penskalaan (tambahkan 30 persen dari 11, 3,3 dibulatkan ke bawah menjadi 3).
-
Jika nilai metrik mencapai 40, Application Auto Scaling mengurangi kapasitas target yang dapat diskalakan sebesar 1, menjadi 13, berdasarkan penyesuaian langkah kedua dari kebijakan scale-in (hapus 10 persen dari 14, 1.4, dibulatkan ke 1). Jika nilai metrik turun menjadi 30 bahkan setelah penurunan kapasitas ini, Application Auto Scaling mengurangi kapasitas target sebesar 3, menjadi 10, berdasarkan penyesuaian langkah ketiga pada kebijakan skala (hapus 30 persen 13, 3,9 dibulatkan ke bawah menjadi 3).
Saat Anda menentukan penyesuaian langkah untuk kebijakan penskalaan Anda, perhatikan hal berikut:
-
Rentang penyesuaian langkah Anda tidak dapat tumpang tindih atau memiliki kesenjangan.
-
Hanya satu penyesuaian langkah yang dapat memiliki batas bawah nol (negatif tak terhingga). Jika satu penyesuaian langkah memiliki batas bawah negatif, maka harus ada penyesuaian langkah dengan batas bawah nol.
-
Hanya satu penyesuaian langkah yang dapat memiliki batas atas nol (positif tak terhingga). Jika satu penyesuaian langkah memiliki batas atas positif, maka harus ada penyesuaian langkah dengan batas atas nol.
-
Batas atas dan bawah tidak boleh nol dalam penyesuaian langkah yang sama.
-
Apabila nilai metrik berada di atas ambang batas penembusan, batas bawah bersifat inklusif dan batas atas bersifat eksklusif. Apabila nilai metrik berada di bawah ambang batas penembusan, batas bawah bersifat eksklusitf dan batas atas bersifat inklusif.
Jenis penyesuaian penskalaan
Anda dapat menentukan kebijakan penskalaan yang melakukan tindakan penskalaan optimal, berdasarkan jenis penyesuaian penskalaan yang Anda pilih. Anda dapat menentukan jenis penyesuaian sebagai persentase dari kapasitas saat ini pada target yang dapat diskalakan atau dalam jumlah mutlak.
Application Auto Scaling mendukung jenis penyesuaian berikut untuk kebijakan penskalaan langkah:
-
ChangeInCapacity—Meningkatkan atau mengurangi kapasitas saat ini dari target yang dapat diskalakan dengan nilai yang ditentukan. Nilai positif meningkatkan kapasitas dan nilai negatif menurunkan kapasitas. Misalnya: Jika kapasitas saat ini adalah 3 dan penyesuaiannya adalah 5, Application Auto Scaling akan menambahkan 5 ke kapasitas sehingga totalnya adalah 8.
-
ExactCapacity—Ubah kapasitas saat ini dari target yang dapat diskalakan ke nilai yang ditentukan. Tentukan nilai non-negatif dengan jenis penyesuaian ini. Misalnya: Jika kapasitas saat ini adalah 3 dan penyesuaiannya adalah 5, maka Application Auto Scaling akan mengubah kapasitas menjadi 5.
-
PercentChangeInCapacity—Meningkatkan atau mengurangi kapasitas saat ini dari target yang dapat diskalakan dengan persentase yang ditentukan. Nilai positif meningkatkan kapasitas dan nilai negatif menurunkan kapasitas. Misalnya: Jika kapasitas saat ini adalah 10 dan penyesuaiannya adalah 10 persen, Application Auto Scaling menambahkan 1 ke kapasitas sehingga totalnya adalah 11.
Jika nilai yang dihasilkan bukan bilangan bulat, Application Auto Scaling membulatkannya sebagai berikut:
-
Nilai yang lebih besar dari 1 dibulatkan ke bawah. Misalnya,
12.7
dibulatkan ke12
. -
Nilai antara 0 dan 1 dibulatkan ke 1. Misalnya,
.67
dibulatkan ke1
. -
Nilai antara 0 dan -1 dibulatkan ke -1. Misalnya,
-.58
dibulatkan ke-1
. -
Nilai kurang dari -1 dibulatkan ke atas. Misalnya,
-6.67
dibulatkan ke-6
.
Dengan PercentChangeInCapacity, Anda juga dapat menentukan jumlah minimum untuk skala menggunakan
MinAdjustmentMagnitude
parameter. Misalnya, anggaplah Anda membuat kebijakan yang menambahkan 25 persen dan Anda menentukan jumlah minimum sebesar 2. Jika target yang dapat diskalakan memiliki kapasitas 4 dan kebijakan penskalaan dilakukan, 25 persen dari 4 adalah 1. Namun, karena Anda menentukan peningkatan minimum sebesar 2, Application Auto Scaling akan menambahkan 2. -
Periode pendinginan
Anda dapat secara opsional menentukan periode cooldown dalam kebijakan penskalaan langkah Anda.
Periode cooldown menentukan jumlah waktu kebijakan penskalaan menunggu aktivitas penskalaan sebelumnya berlaku.
Ada dua cara untuk merencanakan penggunaan periode cooldown untuk konfigurasi penskalaan langkah:
-
Dengan periode cooldown untuk kebijakan scale-out, tujuannya adalah untuk terus (tetapi tidak berlebihan) skala keluar. Setelah Application Auto Scaling berhasil menskalakan menggunakan kebijakan penskalaan, Application Auto Scaling mulai menghitung waktu cooldown. Kebijakan penskalaan tidak akan meningkatkan kapasitas yang diinginkan lagi kecuali jika skala keluar yang lebih besar dipicu 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.
-
Dengan periode cooldown untuk kebijakan scale-in, tujuannya adalah untuk meningkatkan skala secara konservatif untuk melindungi ketersediaan aplikasi Anda, sehingga aktivitas scale-in diblokir hingga periode cooldown scale-in berakhir. Namun, jika alarm lain memicu aktivitas pengecilan skala selama periode jeda pakai untuk pembesaran skala, Application Auto Scaling akan langsung memperkecil skala target. Dalam hal ini, periode cooldown scale-in berhenti dan tidak selesai.
Misalnya, ketika puncak lalu lintas terjadi, alarm dipicu dan Application Auto Scaling secara otomatis menambah kapasitas untuk membantu menangani peningkatan beban. Jika Anda menetapkan periode cooldown untuk kebijakan scale-out Anda, ketika alarm memicu kebijakan untuk meningkatkan kapasitas sebesar 2, aktivitas penskalaan berhasil diselesaikan, dan periode cooldown scale-out dimulai. Jika alarm memicu lagi selama periode cooldown tetapi pada penyesuaian langkah yang lebih agresif 3, peningkatan sebelumnya 2 dianggap sebagai bagian dari kapasitas saat ini. Oleh karena itu, hanya 1 yang ditambahkan ke kapasitas. Ini memungkinkan penskalaan lebih cepat daripada menunggu cooldown berakhir tetapi tanpa menambahkan kapasitas lebih dari yang Anda butuhkan.
Periode jeda pakai diukur dalam hitungan detik dan hanya berlaku untuk aktivitas penskalaan yang terkait kebijakan. Selama periode jeda pakai, ketika tindakan terjadwal dimulai pada waktu yang dijadwalkan, tindakan ini dapat segera memicu aktivitas penskalaan tanpa menunggu periode jeda pakai berakhir.
Nilai default adalah 300 jika tidak ada nilai yang ditentukan.
Perintah yang umum digunakan untuk penskalaan pembuatan kebijakan, manajemen, dan penghapusan
Perintah yang umum digunakan untuk bekerja dengan kebijakan penskalaan meliputi:
-
register-scalable-targetuntuk mendaftarkan AWS atau menyesuaikan sumber daya sebagai target yang dapat diskalakan (sumber daya yang dapat diskalakan oleh Application Auto Scaling), dan untuk menangguhkan dan melanjutkan penskalaan.
-
put-scaling-policyuntuk menambah atau memodifikasi kebijakan penskalaan untuk target skalabel yang ada.
-
describe-scaling-activitiesuntuk mengembalikan informasi tentang aktivitas penskalaan di suatu AWS Wilayah.
-
describe-scaling-policiesuntuk mengembalikan informasi tentang kebijakan penskalaan di AWS Wilayah.
-
delete-scaling-policy untuk menghapus kebijakan penskalaan.
Pertimbangan
Pertimbangan berikut berlaku saat bekerja dengan kebijakan penskalaan langkah:
-
Pertimbangkan apakah Anda dapat memprediksi penyesuaian langkah pada aplikasi dengan cukup akurat untuk menggunakan penskalaan langkah. Jika metrik penskalaan Anda meningkat atau menurun secara proporsional dengan kapasitas target yang dapat diskalakan, sebaiknya gunakan kebijakan penskalaan pelacakan target sebagai gantinya. Anda masih memiliki opsi untuk menggunakan penskalaan langkah sebagai kebijakan tambahan untuk konfigurasi yang lebih canggih. Misalnya, Anda dapat mengonfigurasi respons yang lebih agresif saat pemanfaatan mencapai tingkat tertentu.
-
Pastikan untuk memilih margin yang memadai antara ambang scale-out dan scale-in untuk mencegah flapping. Flapping adalah lingkaran penskalaan dan penskalaan yang tak terbatas. Artinya, jika tindakan penskalaan diambil, nilai metrik akan berubah dan memulai tindakan penskalaan lain dalam arah sebaliknya.
Sumber daya terkait
Untuk informasi tentang cara membuat kebijakan penskalaan langkah untuk grup Auto Scaling, lihat Langkah dan kebijakan penskalaan sederhana untuk Penskalaan Otomatis Amazon EC2 di Panduan Pengguna Auto Scaling Amazon EC2.
Akses konsol
Akses konsol untuk melihat, menambah, memperbarui, atau menghapus kebijakan penskalaan langkah pada sumber daya yang dapat diskalakan bergantung pada sumber daya yang Anda gunakan. Untuk informasi selengkapnya, lihat Layanan AWS yang dapat Anda gunakan dengan Application Auto Scaling.