Application Load Balancer (ALB) mendistribusikan lalu lintas HTTP, HTTPS, dan QUIC ke server backend pada lapisan aplikasi. Auto Scaling memantau metrik (ALB) QPS per Backend Server dan secara otomatis menambah atau menghapus server backend ketika metrik tersebut melebihi ambang batas yang Anda tentukan. Untuk informasi selengkapnya tentang ALB, lihat Apa itu ALB?
Metrik ini dihitung sebagai berikut:
QPS per backend server = Total permintaan klien yang diterima oleh ALB per detik / Jumlah total instans ECS atau instans kontainer elastis dalam grup server backend ALBMetrik ini hanya berlaku untuk pendengar Layer-7.
Scale-out: Ketika QPS per server backend >= ambang batas atas yang Anda tetapkan, Auto Scaling menambah server backend untuk mengurangi beban per server.
Scale-in: Ketika QPS per server backend < ambang batas bawah yang Anda tetapkan, Auto Scaling menghapus server backend untuk mengurangi biaya.
Kasus penggunaan
ALB menerima permintaan klien secara terpusat dan mendistribusikannya ke instans ECS backend atau instans Elastic Container Instance.
Peningkatan lalu lintas memerlukan scale-out yang responsif untuk menjaga waktu respons dan stabilitas.
Periode lalu lintas rendah mendapat manfaat dari scale-in otomatis untuk menghapus server backend yang tidak aktif dan mengurangi biaya.
Prasyarat
Izin Pengguna RAM untuk melihat dan mengelola sumber daya ALB. Untuk informasi selengkapnya, lihat Berikan izin kepada Pengguna RAM.
Setidaknya satu virtual private cloud (VPC) dan satu vSwitch. Untuk informasi selengkapnya, lihat Buat VPC dengan blok CIDR IPv4.
Langkah 1: Konfigurasikan instans ALB
Buat instans ALB
Buat instans ALB dengan parameter berikut. Untuk langkah-langkah detail, lihat Buat dan kelola instans ALB.
Parameter | Deskripsi | Contoh |
Instance Name | Nama untuk instans ALB. | alb-qps-instance |
VPC | VPC untuk instans ALB. | vpc-test\*\*\*\*-001 |
Zone | Zona dan vSwitch. | Zona: Hangzhou Zone G dan Hangzhou Zone H. vSwitch: vsw-test003 dan vsw-test002. |
ALB mendukung penyebaran lintas zona. Pilih minimal dua zona untuk memastikan ketersediaan tinggi.
Buat grup server
Buat grup server dengan parameter berikut. Untuk langkah-langkah detail, lihat Buat dan kelola grup server.
Parameter | Description | Example |
Server Group Type | Jenis kelompok server. Server menentukan bahwa kelompok tersebut berisi elastic container instances. | Server |
Server Group Name | Nama untuk kelompok server. | alb-qps-servergroup |
VPC | Harus sesuai dengan VPC dari instans ALB. Hanya server dalam VPC ini yang dapat ditambahkan. | vpc-test\*\*\*\*-001 |
Konfigurasikan pendengar
Di panel navigasi sebelah kiri, pilih ALB > Instances.
Pada halaman Instances, temukan instans ALB bernama lb-qps-instance dan klik Create Listener di kolom Actions.
Pada langkah Configure Listener wizard Configure Server Load Balancer, atur Listener Port ke 80, pertahankan nilai default untuk parameter lainnya, lalu klik Next.
CatatanAnda dapat menentukan nomor port berbeda untuk parameter Listener Port sesuai kebutuhan bisnis Anda. Contoh ini menggunakan port 80.
Pada langkah Select Server Group wizard Configure Server Load Balancer, pilih Server Type di bawah bidang Server Group, pilih grup server bernama alb-qps-servergroup, lalu klik Next.

Pada langkah Configuration Review, konfirmasi pengaturan lalu klik Submit. Di pesan konfirmasi, klik OK.
Dapatkan alamat IP elastis ALB
Setelah menyelesaikan konfigurasi pendengar, klik tab Instance Details untuk mendapatkan alamat IP elastis (EIP) instans ALB.

Langkah 2: Buat grup penskalaan
Langkah ini membuat grup penskalaan tipe Elastic Container Instance (ECI). Langkah pembuatan grup penskalaan tipe ECS sedikit berbeda. Lihat konsol untuk parameter yang berlaku.
Buat grup penskalaan
Atur parameter berikut untuk grup penskalaan. Untuk langkah-langkah detail, lihat Buat grup penskalaan.
Parameter | Deskripsi | Contoh |
Scaling Group Name | Nama untuk grup penskalaan. | alb-qps-scalinggroup |
Type | Jenis instans untuk daya komputasi. | ECI |
Instance Configuration Source | Cara Auto Scaling membuat instans. | Create from Scratch |
Minimum Number of Instances | Auto Scaling membuat instans hingga jumlah ini tercapai jika jumlah turun di bawahnya. | 1 |
Maximum Number of Instances | Auto Scaling menghapus instans hingga jumlah ini tercapai jika jumlah melebihi batas tersebut. | 5 |
VPC | Harus sesuai dengan VPC instans ALB. | vpc-test\*\*\*\*-001 |
vSwitch | Pilih vSwitch yang digunakan oleh instans ALB. | vsw-test003 dan vsw-test002 |
Associate ALB and NLB Server Groups | Pilih grup server ALB yang dibuat di Langkah 1 dan masukkan port. | Grup server: sgp-\*\*\*\*/alb-qps-servergroup. Port: 80. |
Buat dan aktifkan konfigurasi penskalaan
Atur parameter berikut untuk konfigurasi penskalaan. Untuk langkah-langkah detail, lihat Buat konfigurasi penskalaan tipe Elastic Container Instance.
Parameter | Deskripsi | Contoh |
Container Group Configurations | Spesifikasi grup kontainer (vCPU dan memori). | vCPU: 2 vCPU. Memori: 4 GiB. |
Container Configurations | Citra kontainer dan tag citra. | Citra kontainer: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx. Tag citra: latest. |
Aktifkan grup penskalaan
Aktifkan grup penskalaan. Untuk langkah-langkah detail, lihat Aktifkan atau nonaktifkan grup penskalaan.
Pada contoh ini, Minimum Number of Instances diatur ke 1. Auto Scaling secara otomatis membuat satu instans Elastic Container Instance saat Anda mengaktifkan grup penskalaan.
Verifikasi grup penskalaan
Periksa status instans Elastic Container Instance dan pastikan kontainer berjalan sesuai harapan.
Akses EIP instans ALB yang dibuat di Langkah 1 untuk memverifikasi bahwa
nginxmemberikan respons dengan benar.
Langkah 3: Buat tugas berbasis peristiwa
Buat aturan penskalaan
-
Masuk ke Auto Scaling console.
Buat dua aturan penskalaan. Untuk informasi selengkapnya, lihat Konfigurasikan aturan penskalaan.
Add1: Aturan scale-out yang menambah satu instans Elastic Container Instance.
Reduce1: Aturan scale-in yang menghapus satu instans Elastic Container Instance.
Buat tugas berbasis peristiwa
Pada halaman Scaling Groups, temukan grup penskalaan bernama alb-qps-scalinggroup dan klik Details di kolom Actions.
Pilih Scaling Rules and Tasks > Event-triggered Tasks > Event-triggered Tasks (System) lalu klik Create Event-triggered Task.
Buat dua tugas berbasis peristiwa. Untuk informasi selengkapnya, lihat Kelola tugas berbasis peristiwa.
Alarm1 (scale-out)
Pilih metrik (ALB) QPS per Backend Server.
Atur kondisi pemicu alarm ke Average(Average) >= 100 Count/s.
Asosiasikan dengan aturan penskalaan Add1.
CatatanQPS per server backend = Total QPS / Jumlah total instans Elastic Container Instance

Alarm2 (scale-in)
Pilih metrik (ALB) QPS per Backend Server.
Atur kondisi pemicu alarm ke Average(Average) < 50 Count/s.
Asosiasikan dengan aturan penskalaan Reduce1.

Verifikasi perilaku penskalaan
Gunakan alat uji stres seperti Apache JMeter, ApacheBench, atau wrk untuk menguji EIP instans ALB yang dibuat di Langkah 1. Simulasikan skenario di mana QPS mencapai 500.
Selama pengujian, amati perilaku berikut di tab Monitoring konsol Auto Scaling:
Ketika QPS per server backend melebihi ambang batas alarm (100 Count/s), tugas scale-out berbasis peristiwa dipicu dan menambah instans Elastic Container Instance.
Saat setiap instans baru ditambahkan, beban kerja didistribusikan ke lebih banyak server, sehingga mengurangi nilai QPS per server backend.
Ketika QPS per server backend turun di bawah ambang batas scale-in (50 Count/s), tugas scale-in dipicu dan menghapus instans berlebih.