Topik ini menjelaskan alur kerja Auto Scaling, mencakup cara mengonfigurasi mode penskalaan, serta menyediakan diagram proses-proses utama.
Grup penskalaan berfungsi dengan cara yang sama baik untuk instans Elastic Container Instance (ECI) maupun instans Elastic Compute Service (ECS). Topik ini menggunakan contoh instans ECS dalam grup penskalaan untuk menjelaskan cara kerja Auto Scaling. Untuk informasi lebih lanjut tentang instans ECS dan ECI, lihat Apa itu Elastic Compute Service (ECS)? dan Apa itu Elastic Container Instance (ECI)?.
Alur kerja
Alur kerja berikut menunjukkan cara Auto Scaling menambahkan instans ECS:
Dalam aplikasi web tiga tier khas yang menggunakan instans ECS untuk memproses permintaan, tier teratas terdiri atas instans Server Load Balancer (SLB) yang meneruskan permintaan klien ke instans ECS dalam grup penskalaan. Tier tengah terdiri atas instans ECS dalam grup penskalaan yang memproses permintaan tersebut. Tier bawah adalah database ApsaraDB RDS yang menyimpan data aplikasi dari instans ECS.
Auto Scaling menyesuaikan jumlah instans ECS di tier tengah agar sesuai dengan beban aplikasi Anda. Prosesnya sebagai berikut:
Auto Scaling memulai aktivitas penskalaan ketika kondisi untuk mode penskalaan yang dikonfigurasi terpenuhi. Tabel berikut menjelaskan mode penskalaan yang tersedia. Untuk informasi tentang cara mengonfigurasinya, lihat Konfigurasi mode penskalaan.
Anda dapat menggabungkan beberapa mode penskalaan untuk dijalankan secara paralel. Misalnya, jika aplikasi Anda mengalami lonjakan lalu lintas yang dapat diprediksi setiap hari pukul 12.00 siang, Anda dapat membuat tugas terjadwal untuk menambahkan 20 instans ECS pada waktu tersebut. Jika jumlah tetap ini tidak selalu mencukupi, Anda dapat menggabungkan mode terjadwal dengan mode lain, seperti mode dinamis atau mode kustom, untuk menangani permintaan tak terduga.
Mode penskalaan
Deskripsi
Dokumentasi Konsol
Operasi API
fixed-quantity mode
Jika Anda menetapkan Minimum number of instances, Auto Scaling akan menambahkan instans jika jumlahnya turun di bawah nilai tersebut hingga jumlah instans sama dengan minimum.
Jika Anda menetapkan Maximum number of instances, Auto Scaling akan menghapus instans jika jumlahnya melebihi nilai tersebut hingga jumlah instans dikurangi menjadi maksimum.
Jika Anda menetapkan Expected number of instances saat membuat grup penskalaan, Auto Scaling akan mempertahankan jumlah instans tersebut.
health mode
Jika Anda mengaktifkan fitur pemeriksaan kesehatan untuk grup penskalaan, Auto Scaling secara berkala memeriksa status instans ECS-nya. Jika suatu instans tidak berada dalam status Running, instans tersebut dianggap tidak sehat dan dihapus.
CatatanGrup penskalaan memiliki fitur pemeriksaan kesehatan bawaan. Jika grup penskalaan juga dikaitkan dengan instans Server Load Balancer (SLB), seperti Classic Load Balancer (CLB) atau Application Load Balancer (ALB), dan instans SLB tersebut juga memiliki konfigurasi pemeriksaan kesehatan, kedua pemeriksaan kesehatan tersebut dijalankan secara bersamaan.
scheduled mode
Anda dapat membuat tugas terjadwal untuk menjalankan aturan penskalaan tertentu pada waktu yang ditentukan.
custom mode
Ini mencakup eksekusi manual aturan penskalaan, serta penambahan, penghapusan, atau penghapusan permanen instans ECS yang sudah ada.
dynamic mode
Anda dapat membuat tugas berbasis peristiwa berdasarkan metrik performa CloudMonitor, seperti utilisasi CPU. Ketika suatu metrik memenuhi kondisi alert—misalnya, rata-rata utilisasi CPU semua instans ECS dalam grup penskalaan melebihi 60%—alert dipicu, dan Auto Scaling melakukan aksi penskalaan yang sesuai.
Auto Scaling menjalankan aktivitas penskalaan dengan memanggil operasi API
ExecuteScalingRule. Anda harus menentukan pengenal unik aturan penskalaan dalam pemanggilan tersebut. Contoh:ari:acs:ess:cn-hangzhou:140692647406****:scalingrule/asr-bp1dvirgwkoowxk7****.Jika Anda menggunakan konsol Auto Scaling, Anda dapat menemukan pengenal tersebut setelah membuat aturan penskalaan. Pada daftar aturan penskalaan, klik ID aturan (misalnya, asr-bp14u7kzh8442w9z****) di kolom Scaling Rule ID/Name. Pengenal tersebut akan ditampilkan pada halaman yang muncul. Untuk informasi lebih lanjut tentang cara membuat aturan penskalaan, lihat Konfigurasi aturan penskalaan.
Jika Anda menggunakan API, Anda dapat memanggil operasi DescribeScalingRules untuk mendapatkan pengenal unik aturan penskalaan (ScalingRuleAri). Pengenal tersebut disertakan dalam respons.
Menggunakan pengenal unik aturan penskalaan (atau ScalingRuleAri) dari langkah sebelumnya, Auto Scaling mengambil informasi tentang aturan penskalaan, grup penskalaan, dan konfigurasi penskalaan untuk membuat aktivitas penskalaan.
Auto Scaling menggunakan pengenal unik aturan penskalaan (atau ScalingRuleAri) untuk menanyakan aturan penskalaan dan grup penskalaan terkaitnya, yang menentukan jumlah instans ECS yang akan ditambahkan serta mengidentifikasi instans Server Load Balancer (SLB) dan ApsaraDB RDS yang akan dikonfigurasi.
Auto Scaling menanyakan konfigurasi penskalaan yang terkait dengan grup penskalaan untuk mendapatkan detail konfigurasi instans ECS baru, seperti CPU, memori, dan bandwidth.
Auto Scaling membuat aktivitas penskalaan berdasarkan jumlah instans yang akan ditambahkan, konfigurasi instans, serta instans SLB dan ApsaraDB RDS yang ditentukan.
Selama aktivitas penskalaan berlangsung, Auto Scaling membuat instans serta mengonfigurasi instans SLB dan ApsaraDB RDS.
Ini membuat instance ECS sebanyak jumlah yang ditentukan berdasarkan konfigurasi penskalaan.
Instans menambahkan alamat IP pribadi dari instans ECS yang baru dibuat ke daftar putih instans ApsaraDB RDS yang ditentukan dan menambahkan instans ECS baru ke instans SLB yang ditentukan.
Setelah aktivitas penskalaan selesai, periode cooldown untuk grup penskalaan dimulai.
Grup penskalaan tidak akan menjalankan aturan penskalaan baru hingga periode cooldown berakhir.
Konfigurasi mode penskalaan
Auto Scaling memulai aktivitas penskalaan untuk menambahkan atau menghapus instans ECS dari grup penskalaan berdasarkan konfigurasi Anda. Untuk menggunakan mode penskalaan tertentu, Anda harus mengonfigurasi komponen yang sesuai seperti dijelaskan di bawah ini.
Mode penskalaan | Metode konfigurasi | Deskripsi |
fixed-quantity mode | grup penskalaan + sumber konfigurasi instance① | Efek penskalaan mode ini ditentukan oleh pengaturan grup penskalaan berikut:
|
health mode | grup penskalaan + sumber konfigurasi instance① | Mode ini mengharuskan Anda mengaktifkan pengaturan Instance Health Check dalam grup penskalaan. |
scheduled mode | grup penskalaan + sumber konfigurasi instance + aturan penskalaan + tugas terjadwal② | Efek penskalaan mode ini ditentukan oleh tugas terjadwal. |
dynamic mode | grup penskalaan + sumber konfigurasi instance + aturan penskalaan + tugas berbasis peristiwa③ | Efek penskalaan mode ini ditentukan oleh tugas berbasis peristiwa. |
custom mode | Konfigurasi mode penskalaan apa pun | Pada mode penskalaan apa pun, Anda dapat menambahkan, menghapus, atau menghapus permanen instans ECS yang sudah ada secara manual. Jika Anda telah mengonfigurasi aturan penskalaan, Anda juga dapat menjalankannya secara manual. |
Multi-mode | Kombinasi konfigurasi mode penskalaan | Pengaturan aktif bergantung pada mode penskalaan yang Anda pilih. Mode-mode tersebut beroperasi secara independen dan tidak memiliki prioritas bawaan. Grup penskalaan menjalankan aksi dari mode pertama yang dipicu. Misalnya, jika Anda menggunakan mode terjadwal dan mode dinamis secara bersamaan, Anda harus mengonfigurasi tugas terjadwal dan tugas berbasis peristiwa. Jika kondisi untuk tugas terjadwal terpenuhi sebelum kondisi untuk tugas berbasis peristiwa, tugas terjadwal akan dijalankan terlebih dahulu. |
Tabel berikut memberikan detail lebih lanjut tentang metode konfigurasi:
No. | Metode konfigurasi | Deskripsi |
① | grup penskalaan + sumber konfigurasi instance | Anda harus terlebih dahulu membuat grup penskalaan, mengonfigurasi sumber konfigurasi instance untuknya, lalu mengaktifkan keduanya. Auto Scaling hanya dapat melakukan skala keluar atau skala-masuk setelah langkah-langkah ini selesai. Ini merupakan konfigurasi minimal yang diperlukan. |
② | grup penskalaan + sumber konfigurasi instance + aturan penskalaan + tugas terjadwal | Selain konfigurasi dasar (①), Anda harus membuat aturan penskalaan lalu tugas terjadwal. Auto Scaling menggunakan tugas terjadwal untuk menjalankan aturan penskalaan. |
③ | grup penskalaan + sumber konfigurasi instance + aturan penskalaan + tugas berbasis peristiwa | Selain konfigurasi dasar (①), Anda harus membuat aturan penskalaan lalu tugas berbasis peristiwa. Auto Scaling menggunakan tugas berbasis peristiwa untuk menjalankan aturan penskalaan. |
Diagram Auto Scaling
Auto Scaling memungkinkan Anda mengaitkan grup penskalaan dengan instans Server Load Balancer (SLB) dan ApsaraDB RDS. Ketika suatu titik akhir, seperti perangkat mobile atau PC, mengirim permintaan, instans SLB meneruskannya ke instans ECS dalam grup penskalaan. Instans ECS memproses permintaan tersebut dan menyimpan data aplikasi dalam instans ApsaraDB RDS.
Auto Scaling secara otomatis menyesuaikan jumlah instans ECS dalam grup penskalaan berdasarkan kebutuhan bisnis dan konfigurasi Anda. Diagram berikut menggambarkan alur kerja untuk skala keluar, skala-masuk, dan pemulihan elastis (pemeriksaan kesehatan).
Gambar 1. Alur kerja skala keluar
Gambar 2. Alur kerja skala-masuk
Gambar 3. Alur kerja pemulihan elastis