Auto Scaling dapat menggunakan metrik QPS per server backend dari grup server Application Load Balancer (ALB) untuk memicu aktivitas penskalaan yang secara otomatis menambah atau menghapus instans ECS atau ECI.
Konsep utama
-
Application Load Balancer (ALB): Layanan load balancing di lapisan aplikasi untuk trafik HTTP, HTTPS, dan QUIC dengan elastisitas tinggi dan kapasitas pemrosesan skala besar. Apa itu Application Load Balancer?.
-
Query per Second (QPS): Jumlah permintaan HTTP/HTTPS yang diproses oleh instans ALB per detik (hanya untuk listener Lapisan 7). QPS per server backend = total QPS ALB / jumlah instans backend dalam grup server.
Kasus penggunaan
Saat ALB Anda mendistribusikan trafik klien ke instans backend ECS atau ECI, lonjakan QPS yang tiba-tiba memerlukan skala keluar cepat untuk menjaga kinerja dan stabilitas.
Konfigurasikan tugas berbasis peristiwa berdasarkan metrik QPS per server backend untuk secara otomatis memicu aktivitas penskalaan:
-
Saat QPS per server backend melebihi ambang batas, skala keluar menambahkan instans untuk mengurangi beban per instans dan meningkatkan waktu respons.
-
Saat QPS per server backend turun di bawah ambang batas, skala-masuk menghapus instans untuk mengurangi biaya.
Prasyarat
-
Jika Anda menggunakan RAM user, berikan izin untuk mengelola sumber daya ALB. Berikan izin kepada RAM user.
-
VPC dan vSwitch telah dibuat. Buat VPC dan vSwitch.
Langkah 1: Konfigurasikan Application Load Balancer
-
Buat instans Application Load Balancer (ALB).
Parameter utama:
Parameter
Deskripsi
Contoh
Instance Name
Masukkan nama untuk instans.
alb-qps-instance
VPC
Pilih VPC untuk instans.
vpc-test****-001
Zone
Pilih zona dan vSwitch.
CatatanALB mendukung penerapan multi-zona. Pilih minimal dua zona untuk ketersediaan tinggi jika tersedia.
-
Zone: Hangzhou Zone G dan Hangzhou Zone H
-
vSwitch: vsw-test003 dan vsw-test002
-
-
Buat grup server ALB.
Parameter utama:
Parameter
Deskripsi
Contoh
Server Group Type
Pilih jenis grup server. Pilih Server untuk menambahkan instans ECI sebagai server backend.
Server
Server Group Name
Masukkan nama untuk grup server.
alb-qps-servergroup
VPC
Pilih VPC. Hanya server dalam VPC ini yang dapat bergabung ke grup server.
PentingPilih VPC yang sama seperti yang digunakan untuk instans ALB di Langkah 1.
vpc-test****-001
-
Konfigurasikan listener.
-
Di bilah navigasi kiri, pilih .
-
Di halaman Instance, temukan instans ALB (alb-qps-instance) dan klik Create Listener di kolom Actions.
-
Di wizard Configure Listener, atur Listener Port ke 80, pertahankan pengaturan default untuk parameter lainnya, lalu klik Next.
CatatanContoh ini mengatur Listener Port ke 80. Gunakan port berbeda jika diperlukan.
-
Di wizard Select Server Group, pilih grup server yang dibuat di Langkah 2 (alb-qps-servergroup) dari daftar Server Group, lalu klik Next.
-
Di wizard Configuration Review, konfirmasi pengaturan dan klik OK. Kemudian, klik OK.
-
-
Setelah konfigurasi selesai, klik tab Instance Details untuk mendapatkan Elastic IP Address (EIP) instans ALB. Di tab Basic Information, Anda dapat melihat bahwa IP Mode adalah Fixed IP dan sebuah Elastic IP Address ditetapkan untuk setiap zona. Misalnya, Hangzhou Zone G dan Hangzhou Zone H masing-masing memiliki EIP unik.
Langkah 2: Buat grup penskalaan dan asosiasikan dengan grup server ALB
Contoh ini menggunakan grup penskalaan ECI. Prosedur untuk grup penskalaan ECS serupa.
-
Buat grup penskalaan.
Buat grup penskalaan. Parameter utama (konfigurasikan lainnya sesuai kebutuhan):
Parameter
Deskripsi
Contoh
Scaling Group Name
Masukkan nama untuk grup penskalaan.
alb-qps-scalinggroup
Type
Tipe instans untuk daya komputasi dalam grup penskalaan.
ECI
Instance Configuration Source
Konfigurasi yang digunakan untuk membuat instans.
Create from Scratch
Minimum Number of Instances
Auto Scaling menambahkan instans saat jumlahnya turun di bawah nilai ini.
1
Maximum Number of Instances
Auto Scaling menghapus instans saat jumlahnya melebihi nilai ini.
5
VPC
Pilih VPC yang sama dengan instans ALB.
vpc-test****-001
vSwitch
Pilih vSwitch yang sama dengan instans ALB.
vsw-test003 dan vsw-test002
Associate ALB and NLB Server Groups
Pilih grup server ALB yang dibuat di Langkah 1. Atur Port ke 80.
-
Grup server: sgp-****/alb-qps-servergroup
-
Port: 80
-
-
Buat dan aktifkan konfigurasi penskalaan.
Buat konfigurasi penskalaan untuk instans ECI. Parameter utama (konfigurasikan lainnya sesuai kebutuhan):
Parameter
Deskripsi
Contoh
Container Group Configuration
Pilih spesifikasi vCPU dan memori untuk kelompok kontainer.
-
CPU: 2 vCPU
-
Memori: 4 GiB
Container Configuration
Pilih gambar kontainer dan versi gambar.
-
Container Image: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx
-
Image Version: latest
-
-
Aktifkan grup penskalaan.
Aktifkan atau nonaktifkan grup penskalaan.
CatatanMengaktifkan grup penskalaan memicu skala keluar yang membuat satu instans ECI (minimum diatur ke 1).
-
Verifikasi bahwa instans ECI dan kontainernya sedang berjalan dalam grup penskalaan.
-
Akses EIP instans ALB dari Langkah 1 untuk memastikan layanan
nginxdapat diakses. Halaman selamat datang nginx default (Welcome to nginx!) menunjukkan penerapan berhasil.
Langkah 3: Konfigurasikan tugas berbasis peristiwa berbasis QPS
Masuk ke Konsol Auto Scaling.
-
Buat aturan penskalaan.
Buat dua aturan penskalaan simple: Add1 (menambah satu instans) dan Reduce1 (menghapus satu instans). Kelola aturan penskalaan.
-
Buat tugas berbasis peristiwa.
-
Di halaman Scaling Groups, temukan grup penskalaan (alb-qps-scalinggroup) dan klik View Details di kolom Actions.
-
Pilih , lalu klik Create Event-Triggered Task.
Buat dua tugas berbasis peristiwa: Alarm1 (terkait dengan Add1) dan Alarm2 (terkait dengan Reduce1). Kelola tugas berbasis peristiwa.
-
Tugas berbasis peristiwa (Alarm1): Untuk Metric Name, pilih (ALB) QPS per Backend Server. Atur kondisi menjadi Rata-rata >= 100 kali/detik.
CatatanQPS per server backend = Total QPS / Jumlah server backend
Untuk parameter lainnya, atur Monitoring Type ke System Monitoring dan Statistical Period ke 1 menit. Atur tugas untuk memicu alarm setelah 3 kejadian berturut-turut. Untuk Effective Period, pilih Not Set. Untuk Scaling Rule, pilih Add1.
-
Tugas berbasis peristiwa (Alarm2): Untuk Metric Name, pilih (ALB) QPS per Backend Server. Atur kondisi menjadi Rata-rata < 50 kali/detik, atur Statistical Period ke 1 menit, dan atur tugas untuk memicu alarm setelah 3 kejadian berturut-turut. Untuk Scaling Rule, pilih Reduce1.
-
-
Verifikasi pemantauan QPS
Gunakan alat uji stres (Apache JMeter, ApacheBench, atau wrk) untuk mengirim 500 QPS ke EIP instans ALB dari Langkah 1. Amati hasilnya di halaman Monitoring di Konsol Auto Scaling:
Saat QPS melebihi ambang alarm, tugas berbasis peristiwa memicu skala keluar. Auto Scaling menambahkan instans ECI satu per satu, mengurangi beban per instans hingga QPS per server backend turun.