Aturan penskalaan pelacakan target mengintegrasikan Auto Scaling dengan CloudMonitor untuk secara otomatis melakukan scale-in atau scale-out instans berdasarkan nilai target metrik yang ditentukan, sehingga menjaga stabilitas sistem di bawah beban yang bervariasi.
Pendahuluan
Aturan penskalaan pelacakan target merupakan jenis aturan lanjutan yang dibangun di atas aturan penskalaan sederhana. Anda memilih metrik CloudMonitor dan menentukan nilai target. Auto Scaling secara otomatis menghitung jumlah instans yang perlu ditambahkan atau dihapus agar metrik tetap berada pada atau mendekati nilai target tersebut.
Auto Scaling mendukung empat jenis aturan penskalaan: aturan penskalaan langkah, aturan penskalaan prediktif, aturan penskalaan sederhana, dan aturan penskalaan pelacakan target. Ikhtisar aturan penskalaan.
Metrik dan fitur
Metrik
Metrik yang Anda pilih harus mencerminkan beban keseluruhan instans dalam grup penskalaan dan berubah secara proporsional seiring perubahan jumlah instans.
Metrik CloudMonitor yang didukung bervariasi tergantung pada jenis grup penskalaan:
-
Grup penskalaan ECS
Metrik API
Metrik Konsol
CpuUtilization
(ECS) Rata-rata Utilisasi CPU
IntranetRx
(ECS) Rata-rata Trafik Internal Arah Masuk
IntranetTx
(ECS) Rata-rata Trafik Internal Arah Keluar
ClassicInternetRx/VpcInternetRx
(ECS) Rata-rata Trafik Publik Arah Masuk
Catatan-
Jika grup penskalaan menggunakan Classic Network, metrik ini merujuk pada rata-rata trafik publik arah masuk melalui jaringan klasik.
-
Jika grup penskalaan menggunakan VPC, metrik ini merujuk pada rata-rata trafik publik arah masuk melalui VPC.
ClassicInternetTx/VpcInternetTx
(ECS) Rata-rata Trafik Publik Arah Keluar
Catatan-
Jika grup penskalaan menggunakan Classic Network, metrik ini merujuk pada rata-rata trafik publik arah keluar melalui jaringan klasik.
-
Jika grup penskalaan menggunakan VPC, metrik ini merujuk pada rata-rata trafik publik arah keluar melalui VPC.
MemoryUtilization
(Agent) memory
Utilisasi memori yang dikumpulkan oleh Agen CloudMonitor.
LoadBalancerRealServerAverageQps
(ALB) QPS per Backend Server
CatatanJika Anda memilih metrik ini, Anda juga harus menentukan grup server ALB yang sesuai.
-
-
Grup penskalaan ECI
Metrik API
Metrik Konsol
EciPodCpuUtilization
CPU Utilization
EciPodMemoryUtilization
Memory
LoadBalancerRealServerAverageQps
(ALB) QPS per Backend Server
CatatanJika Anda memilih metrik ini, Anda juga harus menentukan grup server ALB yang sesuai.
Fitur
-
Disable Scale-in: Mencegah aturan secara otomatis menghapus instans. Aktifkan fitur Disable Scale-in untuk hanya menggunakan scale-out.
Untuk mengaktifkan Disable Scale-in, pada halaman Create Scaling Rule, aktifkan sakelar
untuk Disable Scale-in. Atau, panggil CreateScalingRule dan atur DisableScaleIn ke true.-
Ketika Disable Scale-in diaktifkan, aturan hanya membuat tugas berbasis peristiwa untuk scale-out. Anda mengelola scale-in secara terpisah — misalnya, dengan menggunakan tugas berbasis peristiwa lain yang memantau metrik berbeda dan memicu aturan penskalaan sederhana.
-
Ketika Disable Scale-in dinonaktifkan, aturan mengelola tugas berbasis peristiwa untuk scale-out maupun scale-in.
-
-
Instance Warmup Time: Waktu yang dibutuhkan instans baru untuk melakukan inisialisasi sebelum berkontribusi terhadap metrik grup penskalaan.
Instans baru harus menyelesaikan penerapan layanan, pemeriksaan kesehatan load balancer, dan pengumpulan data sebelum melaporkan metrik yang stabil. Tetapkan Instance Warmup Time yang sesuai untuk aturan penskalaan. Grup penskalaan akan menolak eksekusi aturan penskalaan selama periode ini.
Dampak periode warmup:
-
Selama warmup, instans tidak melaporkan data ke CloudMonitor. CloudMonitor mengecualikan instans yang sedang dalam masa warmup dari agregasi metrik.
-
Setelah warmup, instans melaporkan data dan dihitung dalam kapasitas grup penskalaan.
-
Instans yang sedang dalam masa warmup tidak termasuk dalam kapasitas dasar saat menghitung scale-out berikutnya.
Contoh: Grup penskalaan memiliki 2 instans. Scale-out menambahkan 5 instans dengan warmup 300 detik. Jika scale-out lain dipicu selama masa warmup, perhitungan tetap menggunakan angka 2 sebagai dasar.
-
Saat scale-in, Auto Scaling menetapkan waktu pendinginan default berdasarkan aktivitas historis untuk mencegah instans yang sedang dalam masa warmup dihapus akibat aktivitas scale-in berkelanjutan yang disebabkan oleh latensi data.
-
Perbandingan dengan aturan penskalaan sederhana
Tabel berikut membandingkan aturan penskalaan pelacakan target dengan aturan penskalaan sederhana:
|
Item |
Aturan penskalaan sederhana |
Aturan penskalaan pelacakan target |
|
Keterlibatan pengguna |
Tinggi. Anda menyesuaikan aktivitas penskalaan untuk penggunaan resource sesuai permintaan, tetapi harus memantau aktivitas dan mengelola ambang batas secara manual. |
Rendah. Penskalaan sepenuhnya dikelola secara otomatis. Anda hanya perlu menentukan nilai target metrik. |
|
Granularitas penyesuaian |
Diperbaiki. Anda mengonfigurasi jumlah instans tetap yang akan ditambahkan atau dihapus berdasarkan pengalaman. Aturan tidak dapat bereaksi terhadap perubahan metrik secara real-time. |
Precise. Aturan menghitung jumlah instans berdasarkan metrik historis dan nilai target, sehingga melakukan penyesuaian dinamis kecil untuk tetap mendekati target. |
|
Proses penyesuaian |
Kurang memiliki kontrol detail halus:
|
Menawarkan kontrol fleksibel:
|
Buat aturan penskalaan pelacakan target
Catatan
Sebelum membuat aturan penskalaan pelacakan target, perhatikan hal-hal berikut:
-
Hanya satu aturan penskalaan pelacakan target per jenis metrik yang diizinkan dalam satu grup penskalaan.
-
Membuat aturan penskalaan pelacakan target secara otomatis membuat dua tugas berbasis peristiwa CloudMonitor.
-
Anda tidak dapat memodifikasi atau menghapus tugas-tugas tersebut. Anda hanya dapat melihat, mengaktifkan, atau menonaktifkannya. Untuk menghapus tugas-tugas tersebut, hapus aturan penskalaan pelacakan target yang sesuai.
-
Tugas scale-out menggunakan kebijakan agresif; tugas scale-in menggunakan kebijakan konservatif.
Contoh: Dengan interval sampling 60 detik, scale-out dipicu setelah 3 menit berturut-turut melebihi ambang batas; scale-in dipicu setelah 15 menit berturut-turut di bawah ambang batas.
-
Saat dipicu, Auto Scaling menghitung jumlah instans berdasarkan metrik historis. Scale-out dibulatkan ke atas; scale-in dibulatkan ke bawah.
Contoh: Jika perhitungan menghasilkan 1,5 instans untuk ditambahkan, maka 2 instans ditambahkan. Jika 1,5 instans perlu dihapus, maka 1 instans dihapus.
-
-
Jika data metrik tidak mencukupi, tidak ada aktivitas penskalaan yang dipicu.
-
Dengan jumlah instans yang kecil, nilai metrik mungkin menyimpang signifikan dari target karena setiap instans memiliki dampak besar terhadap metrik agregat.
Contoh: Selama scale-in, tugas berbasis peristiwa mungkin tetap dalam status Alarm tanpa memicu aktivitas jika jumlah penghapusan yang dihitung kurang dari 1.
Prosedur
Buat aturan penskalaan pelacakan target menggunakan Konsol Auto Scaling atau operasi API:
-
Konsol: Pilih grup penskalaan dan konfigurasikan aturan tersebut. Konfigurasikan aturan penskalaan.
-
API: Panggil CreateScalingRule untuk membuat aturan penskalaan pelacakan target.