Gunakan Auto Scaling untuk mengelola instans ECS bersama instans terkelola (server non-Alibaba Cloud yang didaftarkan melalui Cloud Assistant). Instal CloudMonitor agent pada instans terkelola, tambahkan ke dalam grup penskalaan, dan Auto Scaling akan memantau semua instans secara terpusat serta secara otomatis menskala instans ECS berdasarkan metrik pemantauan.
Prasyarat
-
Akun Alibaba Cloud. Jika Anda belum memilikinya, buat akun Alibaba Cloud.
-
Server non-Alibaba Cloud dengan akses internet publik.
Skenario
Gunakan solusi ini jika Anda menjalankan aplikasi tanpa status di server non-Alibaba Cloud dan kesulitan melakukan penskalaan manual akibat fluktuasi traffic yang signifikan.
Setelah mendaftarkan server non-Alibaba Cloud sebagai instans terkelola dan menambahkannya ke grup penskalaan, Auto Scaling akan memantau semua instans dan secara otomatis menskala instans ECS berdasarkan perubahan metrik:
-
Saat puncak traffic, Auto Scaling secara otomatis melakukan skala keluar instans ECS untuk menangani beban yang meningkat.
-
Saat traffic rendah, Auto Scaling secara otomatis melakukan skala-masuk instans ECS untuk menghemat biaya.
Konsep
Konsep utama:
|
Parameter |
Deskripsi |
Tautan terkait |
|
Managed instance |
Server non-Alibaba Cloud yang didaftarkan melalui Cloud Assistant. Setelah pendaftaran, instans tersebut dapat menggunakan Cloud Assistant, Auto Scaling, CloudOps Orchestration Service, dan Alibaba Cloud DevOps. |
|
|
Cloud Assistant agent |
Menjalankan perintah dari Cloud Assistant pada instans Alibaba Cloud maupun non-Alibaba Cloud. |
|
|
CloudMonitor agent |
Instal pada host apa pun (instans ECS, VM pihak ketiga, atau mesin fisik) untuk mengaktifkan Pemantauan host CloudMonitor. |
Prosedur
Langkah 1: Daftarkan instans non-Alibaba Cloud
Persiapkan server non-Alibaba Cloud untuk didaftarkan. Contoh ini menggunakan tiga server. managed instances.
-
Buat kode aktivasi.
Di Konsol ECS, buat kode aktivasi untuk instans terkelola, hasilkan skrip instalasi, lalu simpan. Langkah 1: Buat kode aktivasi. Contoh skrip instalasi untuk sistem
Linux (.deb):# Unduh paket .deb Cloud Assistant agent. sudo wget https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.deb # Instal versi terbaru Cloud Assistant agent. sudo dpkg -i aliyun_assist_latest.deb # Daftarkan instans terkelola. sudo aliyun-service --register --RegionId "cn-hangzhou" \ --ActivationCode "a-hz011wm7BNH3JnTMyx22****VJ6d" \ --ActivationId "A4C23294-D8E9-5591-87A2-CCA2****2AC9" -
Instal Cloud Assistant agent dan daftarkan instans terkelola.
Jalankan skrip instalasi pada setiap server non-Alibaba Cloud untuk menginstal Cloud Assistant agent dan mendaftarkannya sebagai instans terkelola.
-
Login ke server non-Alibaba Cloud.
-
Tempel dan jalankan skrip instalasi. Ini akan menginstal Cloud Assistant agent dan mendaftarkan server sebagai instans terkelola. Sistem secara otomatis memberikan ID instans.
Jalankan perintah berikut untuk mengunduh dan menginstal Cloud Assistant agent, lalu gunakan kode aktivasi untuk mendaftarkan instans terkelola. Setelah pendaftaran berhasil, ID instans terkelola dikembalikan (misalnya,
mi-hzxxx...xxx134).$ sudo wget https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.deb --2023-07-24 15:33:07-- https://aliyun-client-assist.oss-accelerate.aliyuncs.com/linux/aliyun_assist_latest.deb Resolving aliyun-client-assist.oss-accelerate.aliyuncs.com (aliyun-client-assist.oss-accelerate.aliyuncs.com)... 1xxx.xxx.xxx.xxx6 Connecting to aliyun-client-assist.oss-accelerate.aliyuncs.com (aliyun-client-assist.oss-accelerate.aliyuncs.com)|1xxx.xxx.xxx.xxx6|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 36237058 (35M) [application/octet-stream] Saving to: 'aliyun_assist_latest.deb' aliyun_assist_latest.deb 100%[============================================================>] 2023-07-24 15:33:09 (16.2 MB/s) – 'aliyun_assist_latest.deb' saved [36237058/36237058] $ sudo dpkg -i aliyun_assist_latest.deb Selecting previously unselected package aliyun-assist. (Reading database ... 72699 files and directories currently installed.) Preparing to unpack aliyun_assist_latest.deb ... Unpacking aliyun-assist (2.2.3.421) ... Setting up aliyun-assist (2.2.3.421) ... install linux aliyun-assist at /usr/local/share/aliyun-assist/2.2.3.421 ... install assist ok start assist ok need to install assist_daemon create ok start ok $ sudo aliyun-service --register --RegionId "cn-hangzhou" \ > --ActivationCode "a-hzxxx...xxxVi" \ > --ActivationId "3DC2F9xxx...xxxA667" register ok instance id: mi-hzxxx...xxx134 restart service
-
-
Lihat instans terkelola.
Setelah pendaftaran, buka halaman ECS Cloud Assistant di Konsol ECS. Di tab Manage Instances, catat ID instans. Dalam contoh ini, ketiga instans diberi nama Test-01, Test-02, dan Test-03.
CatatanID instans terkelola diawali dengan
mi-, sedangkan ID instans ECS diawali dengani-.
Langkah 2: Instal CloudMonitor agent
-
Login ke instans terkelola.
-
Jalankan perintah berikut untuk menginstal CloudMonitor agent:
ARGUS_VERSION=3.5.9.11 /bin/bash -c "$(curl -s https://cloudmonitor-agent.oss-cn-hangzhou.aliyuncs.com/Argus/agent_install_necs-1.8.sh)" -
Jalankan perintah berikut untuk memeriksa status CloudMonitor agent:
ps aux | grep argusagent | grep -v grepOutput berikut mengonfirmasi instalasi berhasil.
root 12590 0.0 0.1 33440 6924 ? Ss 15:55 0:00 /usr/local/cloudmonitor/bin/argusagent -d root 12592 0.0 0.4 850972 16096 ? Sl 15:44 0:00 /usr/local/cloudmonitor/bin/argusagentCatatanAnda juga dapat memverifikasi instalasi di halaman Host Monitoring pada Konsol CloudMonitor, yang menampilkan penggunaan CPU, Penggunaan memori, dan penggunaan disk untuk instans terkelola.
Langkah 3: Tambahkan instans terkelola ke grup penskalaan
Penting
Sebelum memulai:
-
Pilih metrik pemantauan yang sesuai untuk grup penskalaan Anda dan buat tugas berbasis peristiwa. Overview of event-triggered tasks.
-
Jika grup penskalaan berisi instans ECS dan instans terkelola, tugas berbasis peristiwa menggunakan metrik agregat dari semua instans. Karena instans terkelola hanya mendukung metrik berbasis agent, gunakan metrik berbasis agent untuk tugas berbasis peristiwa Anda.
-
Instans terkelola hanya dapat ditambahkan atau dihapus secara manual dari grup penskalaan. Instans tersebut tidak dilepas saat dihapus.
Prosedur
-
Buat grup penskalaan.
Hanya grup penskalaan tipe ECS yang mendukung instans terkelola. Buat grup penskalaan tipe ECS (misalnya,
Scalinggroup_ecs). Create a scaling group. -
Buat dan aktifkan konfigurasi penskalaan.
-
Aktifkan grup penskalaan.
-
Buat aturan penskalaan.
Buat dua aturan penskalaan simple. Create a scaling rule.
-
Aturan skala keluar (Add1): aturan penskalaan untuk menambah satu instans ECS.
-
Aturan skala-masuk (Reduce1): aturan penskalaan untuk menghapus satu instans ECS.
-
-
Buat tugas berbasis peristiwa.
Buat dua tugas berbasis peristiwa menggunakan metrik (Agent) CPU Utilization agar rata-rata penggunaan CPU tetap antara 40% dan 60%. Configure an event-triggered task.
-
Tugas skala keluar (ScaleOutAlarm): Untuk metrik (Agent) CPU Utilization, atur kondisi menjadi Average >= 60% dan kaitkan tugas tersebut dengan aturan skala keluar (Add1). Ini akan menambah satu instans ECS saat rata-rata penggunaan CPU grup mencapai 60% atau lebih tinggi.
-
Tugas skala-masuk (ScaleInAlarm): Untuk metrik (Agent) CPU Utilization, atur kondisi menjadi Average <= 40% dan kaitkan tugas tersebut dengan aturan skala-masuk (Reduce1). Ini akan menghapus satu instans ECS saat rata-rata penggunaan CPU grup mencapai 40% atau lebih rendah.
-
-
Tambahkan secara manual ketiga instans terkelola ke grup penskalaan.
PentingInstans terkelola dalam grup penskalaan hanya dapat ditambahkan atau dihapus secara manual.
-
Di halaman detail grup penskalaan, klik tab Instance Management.
-
Di tab Managed Instance, klik Add Instance.
-
Pada kotak dialog Add Instance yang muncul, pilih instans yang ingin ditambahkan, lalu klik ikon
. -
Klik Are you sure that you want to add.
Anda dapat melihat instans yang telah ditambahkan di tab Managed Instance. Jika statusnya menunjukkan In Service, instans tersebut berhasil dikelola.
-
Verifikasi
Skenario 1: Grup dengan tiga instans terkelola yang idle
Saat instans terkelola tidak memiliki beban, rata-rata penggunaan CPU turun di bawah 40%, memicu ScaleInAlarm. Namun, Auto Scaling tidak dapat menghapus instans terkelola secara otomatis:
-
Pada periode 22:01–22:07, rata-rata penggunaan CPU di bawah 40%. ScaleInAlarm dipicu tetapi gagal dieksekusi.
Halaman detail tugas berbasis peristiwa menunjukkan bahwa
ScaleInAlarmberada dalam status Alarm. Aturan skala-masuk terkait adalah Reduce1. Grafik pemantauan menunjukkan bahwa rata-rata Penggunaan CPU sekitar 0,7% pada pukul 22:07. -
Pada periode 22:01–22:07, sistem menolak aktivitas skala-masuk dan jumlah instans tetap tidak berubah. Klik View Rejection Reason untuk detailnya.
Skenario 2: Grup dengan tiga instans terkelola berbeban tinggi
Jika Anda menggunakan tool uji stres (seperti lookbusy) untuk mempertahankan penggunaan CPU sekitar 90% pada instans terkelola, rata-rata penggunaan CPU melebihi 60%:
-
Pada periode 22:14–22:25, rata-rata penggunaan CPU melebihi 60%. ScaleOutAlarm dipicu dan dieksekusi dengan sukses.
Halaman detail tugas berbasis peristiwa
ScaleOutAlarmmenunjukkan status Normal. Grafik garis Penggunaan CPU di area pemantauan menunjukkan bahwa rata-rata penggunaan CPU melonjak hingga sekitar 90% setelah uji stres dimulai, lalu berangsur turun seiring eksekusi aktivitas skala keluar. -
Pada periode 22:14–22:25, aktivitas skala keluar menambahkan dua instans ECS (total: lima). Penskalaan berhenti setelah 22:25 saat rata-rata penggunaan CPU stabil antara 40% dan 60%.
Di tab Scaling Activities, Anda dapat melihat status eksekusi dan hasil setiap aktivitas penskalaan. Aktivitas skala keluar yang berhasil meningkatkan Total Instances After Change dari 3 menjadi 5. Beberapa aktivitas Rejected karena aturan tidak valid (klik View Rejection Reason untuk detailnya).
Skenario 3: Hentikan uji stres pada instans terkelola
Setelah Skenario 2, grup penskalaan berisi dua instans ECS dan tiga instans terkelola dengan rata-rata penggunaan CPU antara 40% dan 60%. Menghentikan uji stres menyebabkan penggunaan CPU turun di bawah 40%, memicu ScaleInAlarm. Namun, instans terkelola hanya dapat dihapus secara manual:
-
Pada periode 22:48–22:54, aktivitas skala-masuk menghapus kedua instans ECS (jumlah: lima menjadi tiga). Setelah 22:55, penggunaan CPU tetap di bawah 40%, tetapi aktivitas skala-masuk berikutnya gagal karena hanya tersisa instans terkelola.
-
Setelah 22:55, rata-rata penggunaan CPU tetap di bawah 40%. ScaleInAlarm dipicu tetapi gagal karena grup hanya berisi instans terkelola, yang harus dihapus secara manual.
Halaman detail tugas berbasis peristiwa menunjukkan bahwa
ScaleInAlarmsaat ini dalam status alarm. Kondisi pemicunya adalah (Agent) CPU Utilization Average ≤ 40% selama 5 periode berturut-turut. Aturan skala-masuk terkait adalah Reduce1. Grafik pemantauan di bagian bawah menunjukkan bahwa penggunaan CPU turun mendekati 0% setelah 22:51, terus-menerus memenuhi kondisi pemicu.