Setelah mengaitkan instance Server Load Balancer (SLB) dengan grup penskalaan, instance Elastic Compute Service (ECS) atau instance kontainer elastis dalam grup penskalaan secara otomatis terhubung ke instance SLB sebagai server backend untuk memproses permintaan klien. Alibaba Cloud SLB menyediakan jenis-jenis load balancer berikut: Classic Load Balancer (CLB), Application Load Balancer (ALB), dan Network Load Balancer (NLB). Anda dapat mengaitkan load balancer tersebut dengan grup penskalaan sesuai kebutuhan bisnis. Topik ini menjelaskan cara menggunakan fitur panggilan balik siklus hidup dari Auto Scaling untuk menentukan periode waktu guna melakukan operasi yang diperlukan pada instance dalam grup penskalaan, membantu memastikan ketersediaan layanan.
Konsep Dasar
Tabel berikut menggambarkan konsep-konsep yang digunakan dalam topik ini.
Konsep | Deskripsi | Referensi |
SLB | SLB adalah layanan yang meneruskan lalu lintas jaringan ke server backend untuk meningkatkan throughput aplikasi Anda. Anda dapat menggunakan SLB untuk mencegah gangguan layanan yang disebabkan oleh titik kegagalan tunggal (SPOF) dan meningkatkan ketersediaan layanan. Alibaba Cloud SLB menyediakan jenis-jenis load balancer berikut: CLB, ALB, dan NLB. | |
Panggilan balik siklus hidup | Panggilan balik siklus hidup adalah alat yang digunakan untuk mengelola siklus hidup instance ECS atau instance kontainer elastis dalam grup penskalaan. |
Prosedur
Dalam topik ini, sebuah instance CLB digunakan sebagai contoh untuk menjelaskan efek fitur panggilan balik siklus hidup pada ketersediaan layanan aplikasi dalam berbagai skenario dan cara memastikan ketersediaan layanan tersebut.
Sebelum melanjutkan langkah-langkah berikut, pastikan bahwa sebuah instance CLB telah dikaitkan dengan grup penskalaan Anda. Anda juga dapat mengaitkan grup server ALB atau grup server NLB dengan grup penskalaan sesuai kebutuhan bisnis. Untuk informasi lebih lanjut, lihat Lampirkan atau Lepaskan Instance SLB ke atau dari Grup Penskalaan.
Skenario 1: Penskalaan keluar
Perbandingan efek
Efek penskalaan keluar bervariasi tergantung pada apakah grup penskalaan memiliki panggilan balik siklus hidup. Tabel berikut menggambarkan perbedaan antara menggunakan dan tidak menggunakan panggilan balik siklus hidup.
Kondisi | Deskripsi |
Tidak menggunakan panggilan balik siklus hidup | Selama penskalaan keluar, Auto Scaling segera menambahkan instance ECS atau instance kontainer elastis ke grup penskalaan. Auto Scaling juga mengaitkan instance tersebut ke instance CLB terkait sebagai server backend. Kemudian, instance ECS atau instance kontainer elastis dapat memberikan layanan. Namun, aplikasi yang Anda deploy pada instance ECS atau instance kontainer elastis mungkin memerlukan waktu untuk mulai beroperasi. Jika instance CLB meneruskan permintaan klien ke instance ECS atau instance kontainer elastis sebelum aplikasi dimulai, instance tersebut tidak dapat merespons permintaan klien dan memberikan layanan. |
Menggunakan panggilan balik siklus hidup | Selama penskalaan keluar, Auto Scaling menempatkan instance ECS atau instance kontainer elastis ke status Pending Add sebelum Auto Scaling mengaitkan instance ECS atau instance kontainer elastis ke instance CLB terkait sebagai server backend. Ketika aplikasi yang Anda deploy pada instance ECS atau instance kontainer elastis mulai beroperasi dan masa timeout panggilan balik siklus hidup berakhir, instance ECS atau instance kontainer elastis secara otomatis terhubung ke instance CLB terkait sebagai server backend untuk memberikan layanan. |
Catatan penggunaan
Untuk menggunakan fitur panggilan balik siklus hidup, Anda harus membuat panggilan balik siklus hidup. Untuk informasi lebih lanjut, lihat Kelola Panggilan Balik Siklus Hidup.
Saat membuat panggilan balik siklus hidup untuk penskalaan keluar, lakukan operasi berikut:
Atur parameter Scaling Activity ke Scale-out Event.
Tentukan periode waktu selama aplikasi Anda dapat mulai beroperasi seperti yang diharapkan sebagai nilai parameter Timeout Period. Nilai parameter Timeout Period harus berupa bilangan bulat yang berkisar antara 30 hingga 21600. Satuan: detik.
CatatanJika ingin periode timeout panggilan balik siklus hidup berakhir lebih awal, Anda dapat memanggil Operasi API CompleteLifecycleAction. Untuk informasi lebih lanjut, lihat CompleteLifecycleAction.
Atur parameter Default Execution Policy menjadi Continue.
Setelah panggilan balik siklus hidup yang dibuat mulai berlaku, instance ECS atau instance kontainer elastis yang sedang diskalakan keluar masuk ke status Pending Add. Instance ECS atau instance kontainer elastis keluar dari status Pending Add ketika periode timeout berakhir. Selama periode timeout, aplikasi yang dideploy pada instance ECS atau instance kontainer elastis harus menyelesaikan proses startup. Setelah instance ECS atau instance kontainer elastis keluar dari status Pending Add , instance sepenuhnya ditambahkan ke grup penskalaan dan terhubung ke instance CLB terkait sebagai server backend. Ketika instance ECS atau instance kontainer elastis masuk ke status In Service, instance dapat memberikan layanan, memastikan ketersediaan layanan aplikasi.
Skenario 2: Penskalaan masuk
Perbandingan efek
Efek penskalaan masuk juga bervariasi tergantung pada apakah grup penskalaan memiliki panggilan balik siklus hidup. Tabel berikut menggambarkan perbedaan antara menggunakan dan tidak menggunakan panggilan balik siklus hidup.
Kondisi | Deskripsi |
Tidak menggunakan panggilan balik siklus hidup | Selama penskalaan masuk, Auto Scaling segera menghapus instance ECS atau instance kontainer elastis dari grup penskalaan. Auto Scaling juga melepas instance ECS atau instance kontainer elastis dari instance CLB terkait. Kemudian, instance ECS atau instance kontainer elastis berhenti memberikan layanan. Namun, instance ECS atau instance kontainer elastis yang sedang dihapus dari grup penskalaan mungkin memiliki permintaan klien yang belum diproses. Hal ini dapat menyebabkan pengecualian akses klien. |
Menggunakan panggilan balik siklus hidup | Selama penskalaan masuk, Auto Scaling menempatkan instance ECS atau instance kontainer elastis ke status Pending Remove setelah Auto Scaling melepas instance ECS atau instance kontainer elastis dari instance CLB terkait. Setelah instance ECS atau instance kontainer elastis memproses semua permintaan klien yang ada dan periode timeout panggilan balik siklus hidup berakhir, Auto Scaling menghapus instance ECS atau instance kontainer elastis dari grup penskalaan. Ini memastikan akses sukses dari klien ke aplikasi. |
Catatan penggunaan
Kami merekomendasikan agar Anda membuat panggilan balik siklus hidup untuk grup penskalaan yang memiliki penskalaan masuk yang sedang berlangsung. Untuk informasi lebih lanjut, lihat Kelola Panggilan Balik Siklus Hidup.
Saat membuat panggilan balik siklus hidup untuk penskalaan masuk, lakukan operasi berikut:
Atur parameter Scaling Activity menjadi Scale-in Event.
Tentukan periode waktu selama aplikasi Anda dapat menyelesaikan semua permintaan klien yang ada sebagai nilai parameter Timeout Period. Nilai parameter Timeout Period harus berupa bilangan bulat yang berkisar antara 30 hingga 21600. Satuan: detik.
CatatanJika ingin mengakhiri periode timeout panggilan balik siklus hidup lebih awal, Anda dapat memanggil operasi API
CompleteLifecycleAction. Untuk informasi lebih lanjut, lihat CompleteLifecycleAction.
Setelah panggilan balik siklus hidup yang dibuat mulai berlaku, instance ECS atau instance kontainer elastis yang sedang diskalakan masuk masuk ke status Pending Remove. Instance ECS atau instance kontainer elastis keluar dari status Pending Remove ketika periode timeout berakhir. Selama periode timeout panggilan balik siklus hidup, instance ECS atau instance kontainer elastis tidak lagi menerima permintaan klien baru. Instance hanya memproses permintaan klien yang ada yang diterima sebelum panggilan balik siklus hidup mulai berlaku. Ketika periode timeout berakhir, instance ECS atau instance kontainer elastis sepenuhnya dihapus dari grup penskalaan, memastikan ketersediaan layanan aplikasi.