彈性伸縮支持使用ALB服務器組的單機QPS監(jiān)控指標作為系統報警任務的觸發(fā)條件,從而實現自動擴縮容ECS或ECI實例。本文將具體為您介紹自動擴縮容ECI實例的操作。
概念介紹
應用型負載均衡ALB(Application Load Balancer):是阿里云推出的專門面向HTTP、HTTPS和QUIC等應用層負載場景的負載均衡服務,具備超強彈性及大規(guī)模應用層流量處理能力。更多信息,請參見什么是應用型負載均衡ALB。
每秒查詢數QPS(Query Per Second):是七層監(jiān)聽特有的概念,指負載均衡ALB每秒可以完成的HTTP(S)的查詢(請求)的總數量。單機QPS指單個服務器的性能指標,表示負載均衡ALB每秒完成的客戶請求總數量/后端服務器組的ECS或ECI總數量。
性能測試PTS(Performance Testing Service):是一款簡單易用,具備強大的分布式壓測能力的SaaS壓測平臺。更多信息,請參見什么是性能測試PTS。
應用場景
如果您的業(yè)務依托于ALB來統一承接并分配客戶的請求流量(以每秒查詢量QPS衡量),這些請求隨后被導向至后端服務器集群(如ECS或ECI實例)進行處理。當發(fā)生請求QPS激增,為了維持服務的流暢與穩(wěn)定,系統需敏捷擴容后端服務資源來應對。
基于以上場景,您可以通過為伸縮組配置基于單機QPS監(jiān)控的報警任務,比如設置報警指標QPS的閾值等,自動觸發(fā)彈性擴縮容活動,提高應用的高可用性能。該方案具有以下優(yōu)勢:
當單機QPS指標大于監(jiān)控閾值時,觸發(fā)彈性擴容活動,降低單機QPS負載,以提升系統的響應時間和穩(wěn)定性。
當單機QPS指標小于監(jiān)控閾值時,觸發(fā)彈性縮容活動,自動減少實例數量,從而節(jié)省成本。
前提條件
如果您使用RAM用戶,您需要為RAM用戶授予ALB的操作或查看等權限。具體操作,請參見為RAM用戶授權。
已創(chuàng)建專有網絡VPC和交換機。具體操作,請參見創(chuàng)建專有網絡和交換機。
步驟一:配置應用型負載均衡ALB
創(chuàng)建應用型負載均衡ALB。
具體操作,請參見創(chuàng)建應用型負載均衡。
主要配置參數說明如下:
配置
說明
示例
實例名稱
輸入自定義實例名稱。
alb-qps-instance
VPC
選擇實例所屬的專有網絡(VPC)。
vpc-test****-001
可用區(qū)
選擇可用區(qū)和交換機。
說明應用型負載均衡支持多可用區(qū)部署,若當前地域支持2個及以上可用區(qū),為保障業(yè)務高可用,請至少選擇2個或2個以上可用區(qū)。
可用區(qū):杭州 可用區(qū)G和杭州 可用區(qū)H
交換機:vsw-test003和vsw-test002
創(chuàng)建應用型負載均衡ALB服務器組。
具體操作,請參見創(chuàng)建和管理服務器組。
主要配置參數說明如下:
配置
說明
示例
服務器組類型
選擇一種服務器組類型:選擇服務器類型將按照ECI實例添加后端服務器。
服務器類型
服務器組名稱
輸入自定義服務器組名稱。
alb-qps-servergroup
VPC
從VPC下拉列表中選擇一個VPC,只有該VPC下的服務器可以加入到該服務器組。
重要該步驟中VPC參數選步驟1中新創(chuàng)建ALB實例時使用的VPC。
vpc-test****-001
配置監(jiān)聽。
在左側導航欄,選擇
。在實例頁面,找到已創(chuàng)建的ALB實例(即alb-qps-instance),單擊對應操作列下的創(chuàng)建監(jiān)聽。
在配置監(jiān)聽配置向導,監(jiān)聽端口選擇80,其他參數保持默認選項即可,單擊下一步。
說明本步驟中監(jiān)聽端口選擇以80為例,您可以根據實際業(yè)務場景選擇其他端口。
在選擇服務器組配置向導,選擇服務器類型下的后端服務器組為步驟2新創(chuàng)建的服務器組(即alb-qps-servergroup),然后單擊下一步。
在配置審核配置向導,確認配置信息,單擊提交,然后單擊知道了。
完成配置后,單擊實例詳情頁簽,獲取ALB實例的彈性公網IP。
步驟二:創(chuàng)建關聯ALB服務器組的伸縮組
創(chuàng)建ECS類型的伸縮組與創(chuàng)建ECI類型伸縮組操作存在部分差異,請您以實際頁面顯示的參數配置為準,本步驟以創(chuàng)建ECI類型的伸縮組為例。
創(chuàng)建伸縮組。
具體操作,請參見創(chuàng)建伸縮組。在創(chuàng)建過程中,主要配置項參數說明如下,其他參數請根據實際需要設置。
配置項
說明
示例
伸縮組名稱
輸入自定義伸縮組名稱。
alb-qps-scalinggroup
伸縮組類型
指定伸縮組內提供計算能力的實例類型。
ECI
組內實例配置信息來源
彈性伸縮使用該配置創(chuàng)建實例。
從零開始創(chuàng)建
組內最小實例數
當前實例數量低于下限時,伸縮組會自動添加實例,使得伸縮組內的實例數量等于下限。
1
組內最大實例數
當前實例數量超過上限時,伸縮組會自動移出實例,使得伸縮組內的實例數量等于上限。
5
專有網絡
選擇與ALB相同的專有網絡(VPC)。
vpc-test****-001
選擇交換機
選擇與ALB相同的交換機。
vsw-test003和vsw-test002
關聯負載均衡ALB、NLB服務器組
選擇步驟一新創(chuàng)建的ALB服務器組。端口輸入80。
服務器組:sgp-****/alb-qps-servergroup
端口:80
創(chuàng)建并啟動伸縮配置。
具體操作,請參見創(chuàng)建伸縮配置(ECI實例)。在創(chuàng)建過程中,主要配置項參數說明如下,其他參數請根據實際需要設置。
配置項
說明
示例
容器組配置
選擇容器組的規(guī)格(例如CPU和內存)。
CPU:2 vCPU
內存:4 GiB
容器配置
選擇容器鏡像和鏡像版本。
容器鏡像:registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx
鏡像版本:latest
啟用伸縮組。
具體操作,請參見啟用或停用伸縮組。
說明啟用伸縮組后,因伸縮組最小實例數為1,伸縮組會自動觸發(fā)彈性擴容活動,自動創(chuàng)建1臺ECI實例。
查看伸縮組內ECI實例及其容器的狀態(tài),確認容器已經處于運行中。
訪問步驟一中獲取的ALB實例的彈性公網IP,確認可以正常訪問
nginx
服務。
步驟三:配置基于ALB單機QPS指標的報警任務
登錄彈性伸縮控制臺。
創(chuàng)建伸縮規(guī)則。
本步驟以創(chuàng)建2條簡單規(guī)則類型的伸縮規(guī)則為例,即伸縮規(guī)則(Add1)為增加1臺實例的擴容規(guī)則,伸縮規(guī)則(Reduce1)為減少1臺實例的縮容規(guī)則。具體操作,請參見配置伸縮規(guī)則。
創(chuàng)建報警任務。
在伸縮組管理頁面,找到已創(chuàng)建的伸縮組(alb-qps-scalinggroup),單擊對應操作列的查看詳情。
選擇
,然后單擊創(chuàng)建報警任務。本步驟以創(chuàng)建2條報警任務為例,即報警認任務(Alarm1)為關聯擴容規(guī)則(Add1)的報警任務,報警認任務(Alarm2)為關聯縮容規(guī)則(Reduce1)的報警任務。具體操作,請參見配置報警任務。
報警任務(Alarm1):報警指標選擇(ALB)服務器組單機QPS,監(jiān)控指標選擇Average(平均值)>= 100次/s。
說明單機QPS=總QPS/后端服務器上的實例數量。
報警任務(Alarm2):報警指標選擇(ALB)服務器組單機QPS,監(jiān)控指標選擇Average(平均值)< 50次/s。
驗證QPS監(jiān)控效果
登錄PTS控制臺。
配置ALB實例IP的壓測場景。
在左側導航欄,選擇
,然后單擊PTS壓測。輸入自定義場景名。
在場景配置頁簽中,單擊添加壓測節(jié)點。
說明直接單擊添加壓測節(jié)點,系統會默認選擇添加HTTP壓測節(jié)點。
輸入壓測API名稱,然后輸入壓縮URL。
本步驟中壓測API名稱以nginx_api為例,壓測URL以步驟一中獲取的ALB實例的彈性公網IP為例。
單擊施壓配置頁簽,配置壓測模式。
主要配置參數說明如下,其他參數保持默認選項即可。
配置項
說明
示例
壓力模式
支持并發(fā)模式和RPS模式。
并發(fā)模式:指虛擬并發(fā)用戶數。
RPS模式:指每秒的請求數。
RPS模式(Requests Per Second)
壓測總時長
整個壓測持續(xù)的時長。
10分鐘
最大RPS
在RPS模式下,摸底的是單API接口的服務端吞吐能力,故需要給每個API設置最大RPS與起始RPS。
500
起始RPS
設置單個API的起始RPS。
500
單擊下方的調試場景,進行場景調試。
調試成功后,單擊關閉。
單擊下方的保存去壓測,在彈出的對話框中,執(zhí)行周期選擇為立即執(zhí)行,然后單擊確認,啟動壓測。
壓測成功后,您可以在報告列表中選擇自定義的場景名,查看壓測報告、采樣日志等。
查看QPS監(jiān)控指標詳情。
具體操作,請參見查看伸縮組內實例的監(jiān)控指標。
從上圖可以看出,啟動了QPS為500的壓測任務后,因單機QPS負載遠超伸縮組的報警閾值,隨即報警任務被觸發(fā),系統每次自動擴容1臺ECI實例,單機負載隨之減輕,QPS值減小。