Auto Scaling, Application Load Balancer (ALB) sunucu grubundaki Sunucu Başına ALB QPS ölçümünü kullanarak ECS veya ECI örneklerini otomatik olarak ekleyen ya da kaldıran ölçeklendirme etkinliklerini tetikleyebilir.
Temel kavramlar
Application Load Balancer (ALB): HTTP, HTTPS ve QUIC trafiği için yüksek esneklik ve büyük ölçekli işleme kapasitesine sahip uygulama katmanlı bir yük dengeleme hizmetidir. Application Load Balancer nedir?.
Saniye Başına Sorgu (QPS): Bir ALB örneğinin saniyede işlediği HTTP/HTTPS istek sayısı (yalnızca Katman 7 dinleyiciler için). Sunucu başına QPS = toplam ALB QPS / sunucu grubundaki arka uç örneklerinin sayısı.
Kullanım durumları
ALB'niz istemci trafiğini arka uç ECS veya ECI örneklerine dağıttığında, performans ve kararlılığı korumak için ani bir QPS artışının hızlı bir şekilde dışa doğru ölçeklendirme yapılmasını gerektirmesi olasıdır.
Ölçeklendirme etkinliklerini otomatik olarak tetiklemek için sunucu başına QPS ölçümüne dayalı bir olay tetiklemeli görev yapılandırın:
Sunucu başına QPS eşik değerini aştığında, dışa doğru ölçeklendirme örnekler ekleyerek örnek başına yükü azaltır ve yanıt süresini iyileştirir.
Sunucu başına QPS eşik değerinin altına düştüğünde, içe doğru ölçeklendirme maliyetleri düşürmek için örnekleri kaldırır.
Ön koşullar
Bir RAM kullanıcısı kullanıyorsanız, ALB kaynaklarını yönetmek için bu kullanıcıya izinler verin. RAM kullanıcısına izin verme.
Bir VPC ve vSwitch'ler oluşturun. VPC ve vSwitch oluşturma.
Adım 1: Application Load Balancer yapılandırma
-
Bir Application Load Balancer (ALB) örneği oluşturun.
ALB örnekleri oluşturma ve yönetme.
Anahtar parametreler:
Parametre
Açıklama
Örnek
Instance Name
Örnek için bir ad girin.
alb-qps-instance
VPC
Örnek için VPC seçin.
vpc-test****-001
Zone
Bir alan ve vSwitch seçin.
NotALB çok alanlı dağıtımı destekler. Yüksek kullanılabilirlik için mümkün olduğunda en az iki alan seçin.
Alan: Hangzhou Zone G ve Hangzhou Zone H
vSwitch: vsw-test003 ve vsw-test002
-
Bir ALB sunucu grubu oluşturun.
Sunucu grupları oluşturma ve yönetme.
Anahtar parametreler:
Parametre
Açıklama
Örnek
Server Group Type
Bir sunucu grubu türü seçin. Arka uç sunucusu olarak ECI örnekleri eklemek için Server seçeneğini belirleyin.
Server
Server Group Name
Sunucu grubu için bir ad girin.
alb-qps-servergroup
VPC
Bir VPC seçin. Bu VPC'deki sunucular yalnızca sunucu grubuna katılabilir.
ÖnemliAdım 1'de ALB örneği için kullandığınız aynı VPC'yi seçin.
vpc-test****-001
-
Bir dinleyici yapılandırın.
Sol gezinme bölmesinde seçeneklerini belirleyin.
Instance sayfasında ALB örneğini (alb-qps-instance) bulun ve Actions sütununda Create Listener seçeneğine tıklayın.
-
Configure Listener sihirbazında Listener Port değerini 80 olarak ayarlayın, diğer parametreler için varsayılan ayarları koruyun ve ardından Next seçeneğine tıklayın.
NotBu örnekte Listener Port değeri 80 olarak ayarlanmıştır. Gerekirse farklı bir bağlantı noktası kullanın.
Select Server Group sihirbazında Server Group listesinden Alt Adım 2 bölümünde oluşturduğunuz sunucu grubunu (alb-qps-servergroup) seçin ve ardından Next seçeneğine tıklayın.
Configuration Review sihirbazında ayarları onaylayın ve OK seçeneğine tıklayın. Ardından OK seçeneğine tıklayın.
Yapılandırmayı tamamladıktan sonra ALB örneğinin Elastic IP Address (EIP) adresini almak için Instance Details sekmesine tıklayın. Basic Information sekmesinde IP Mode değerinin Fixed IP olduğunu ve her alana bir Elastic IP Address atandığını görebilirsiniz. Örneğin, Hangzhou Zone G ve Hangzhou Zone H alanlarının her biri benzersiz bir EIP adresine sahiptir.
Adım 2: Ölçeklendirme grubu oluşturma ve ALB sunucu grubu ilişkilendirme
Bu örnekte bir ECI ölçeklendirme grubu kullanılmaktadır. ECS ölçeklendirme grupları için yordam benzerdir.
-
Bir ölçeklendirme grubu oluşturun.
Ölçeklendirme grubu oluşturma. Anahtar parametreler (diğerlerini gerektiği gibi yapılandırın):
Parametre
Açıklama
Örnek
Scaling Group Name
Ölçeklendirme grubu için bir ad girin.
alb-qps-scalinggroup
Type
Ölçeklendirme grubundaki hesaplama gücü için örnek türü.
ECI
Instance Configuration Source
Örnekler oluşturmak için kullanılan yapılandırma.
Create from Scratch
Minimum Number of Instances
Auto Scaling, sayı bu değerin altına düştüğünde örnekler ekler.
1
Maximum Number of Instances
Auto Scaling, sayı bu değeri aştığında örnekleri kaldırır.
5
VPC
ALB örneğiyle aynı VPC'yi seçin.
vpc-test****-001
vSwitch
ALB örneğiyle aynı vSwitch'leri seçin.
vsw-test003 ve vsw-test002
Associate ALB and NLB Server Groups
Adım 1'de oluşturduğunuz ALB sunucu grubunu seçin. Bağlantı Noktasını 80 olarak ayarlayın.
Sunucu grubu: sgp-****/alb-qps-servergroup
Bağlantı Noktası: 80
-
Bir ölçeklendirme yapılandırması oluşturun ve etkinleştirin.
ECI örnekleri için ölçeklendirme yapılandırması oluşturma. Anahtar parametreler (diğerlerini gerektiği gibi yapılandırın):
Parametre
Açıklama
Örnek
Container Group Configuration
Konteyner grubu için vCPU ve bellek teknik özelliklerini seçin.
CPU: 2 vCPU
Bellek: 4 GiB
Container Configuration
Bir konteyner görüntüsü ve görüntü sürümü seçin.
Konteyner Görüntüsü: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx
Görüntü Sürümü: latest
-
Ölçeklendirme grubunu etkinleştirin.
Ölçeklendirme grubunu etkinleştirme veya devre dışı bırakma.
NotÖlçeklendirme grubunu etkinleştirmek, bir ECI örneği oluşturan (minimum 1 olarak ayarlanır) bir dışa doğru ölçeklendirme işlemi tetikler.
ECI örneğinin ve konteynerinin ölçeklendirme grubunda çalıştığını doğrulayın.
Adım 1 bölümündeki ALB örneğinin EIP adresine erişerek
nginxhizmetinin erişilebilir olduğunu onaylayın. Varsayılan nginx karşılama sayfası (Welcome to nginx!) başarılı dağıtımı gösterir.
Adım 3: QPS tabanlı olay tetiklemeli görev yapılandırma
Auto Scaling konsolu üzerinde oturum açın.
-
Ölçeklendirme kuralları oluşturun.
İki basit ölçeklendirme kuralı oluşturun: Add1 (bir örnek ekler) ve Reduce1 (bir örnek kaldırır). Ölçeklendirme kurallarını yönetme.
-
Olay tetiklemeli görevler oluşturun.
Scaling Groups sayfasında ölçeklendirme grubunu (alb-qps-scalinggroup) bulun ve Actions sütununda View Details seçeneğine tıklayın.
-
seçeneklerini belirleyin ve Create Event-Triggered Task seçeneğine tıklayın.
İki olay tetiklemeli görev oluşturun: Alarm1 (Add1 ile ilişkili) ve Alarm2 (Reduce1 ile ilişkili). Olay tetiklemeli görevleri yönetme.
-
Olay tetiklemeli görev (Alarm1): Metric Name için (ALB) QPS per Backend Server seçeneğini belirleyin. Koşulu Average >= 100 times/s olarak ayarlayın.
NotSunucu başına QPS = Toplam QPS / Arka uç sunucu sayısı
Diğer parametreler için Monitoring Type değerini System Monitoring, Statistical Period değerini 1 minute olarak ayarlayın. Görevin 3 ardışık oluşumdan sonra alarm tetiklemesini sağlayın. Effective Period için Not Set seçeneğini belirleyin. Scaling Rule için Add1 seçeneğini belirleyin.
Olay tetiklemeli görev (Alarm2): Metric Name için (ALB) QPS per Backend Server seçeneğini belirleyin. Koşulu Average < 50 times/s olarak ayarlayın, Statistical Period değerini 1 minute olarak belirleyin ve görevin 3 ardışık oluşumdan sonra alarm tetiklemesini sağlayın. Scaling Rule için Reduce1 seçeneğini belirleyin.
-
QPS izlemeyi doğrulama
Bir stres testi aracı (Apache JMeter, ApacheBench veya wrk) kullanarak Adım 1 bölümündeki ALB örneği EIP adresine 500 QPS gönderin. Sonuçları Auto Scaling konsolundaki Monitoring sayfasında gözlemleyin:
QPS alarm eşiğini aştığında, olay tetiklemeli görev dışa doğru ölçeklendirmeyi tetikler. Auto Scaling, sunucu başına QPS düşene kadar örnek başına yükü azaltmak amacıyla ECI örneklerini tek tek ekler.