彈性伸縮產品支持關聯傳統型負載均衡CLB的服務器組,通過配置觸發任務,自動調整服務器組內的ECS實例個數,從而有效增強了CLB的高可用服務能力并降低了資源使用成本。
場景示例
某新聞網站播出了一則新聞,訪問量突增,服務器無法承載巨大訪問量,導致新聞頁面刷新不出來。新聞的時效性降低后,訪問量回落,可以正常訪問新聞頁面。由于該新聞網站的訪問量突增和回落的具體時間難以預測,無法及時手動調整實例,且實例的調整數量也不確定,為維護新聞網站的服務增加了困難。
面對以上的場景,您可以利用彈性伸縮的報警任務,由阿里云云監控根據CPU使用率等衡量指標自動調整其彈性資源服務,同時自動關聯CLB服務器組。伸縮組關聯CLB實例的服務器組后,無論是伸縮組自動添加或移除ECS實例,還是您向伸縮組手動添加或移除ECS實例,都會自動同步到CLB實例的服務器組。CLB實例會根據流量分發、健康檢查等策略靈活使用ECS實例資源,在資源彈性的基礎上大大提高資源可用性。
本文以如下方案作為示例進行介紹,CLB通過配置的轉發規則將客戶端的請求分發給后端服務器ECS01。通過創建彈性伸縮服務并配置報警任務,當ECS01的CPU使用率上升到設定的閾值時,自動新建ECS實例并添加到后端服務器組;當ECS01的CPU使用率下降到設定的閾值時,自動將ECS實例從后端服務器組移除并刪除。
前提條件
您已創建一個或多個處于運行中狀態的CLB實例。具體操作,請參見創建和管理CLB實例。
CLB實例已創建虛擬服務器組RS1并添加了ECS01實例。
您已創建了ECS01實例的自定義鏡像。具體操作,請參見使用實例創建自定義鏡像。
CLB實例必須開啟健康檢查。具體操作,請參見配置和管理CLB健康檢查。
CLB實例至少配置了一個監聽。具體操作,請參見添加HTTP監聽。
步驟一:創建伸縮組
- 登錄彈性伸縮控制臺。
- 在左側導航欄中,單擊伸縮組管理。
- 在頂部菜單欄處,選擇地域。
進入伸縮組管理頁面。單擊創建伸縮組,您在創建伸縮組時,部分配置項可參考如下配置。
配置項
說明
組內實例配置信息來源
選擇從零開始創建
組內最小實例數
當伸縮組的當前實例數小于伸縮最小實例數時,彈性伸縮服務會自動添加實例,使得伸縮組的當前實例數等于伸縮最小實例數。本文配置示例為1(至少需要1個已有ECS01實例)
組內最大實例數
當伸縮組的當前實例數大于伸縮最大實例數時,彈性伸縮服務會自動移出實例,使得伸縮組的當前實例數等于伸縮最大實例數。本文配置示例為2(本文示例中除ECS01實例外最多添加一個實例)
默認冷卻時間
一個伸縮活動(添加或移出實例)執行完成后的一段冷卻時間內,該伸縮組不執行其他的伸縮活動。目前僅針對報警任務(云監控)觸發的伸縮活動有效。本文配置示例為0,實際使用時需要根據實際情況調整
專有網絡、選擇交換機
選擇ECS01實例所在的專有網絡及交換機
關聯傳統型負載均衡CLB(原SLB)
選擇對應服務器組,并配置端口及權重
根據需要配置其余選項,單擊確認。完成后您可以在伸縮組管理頁面查看已創建的伸縮組。
步驟二:創建伸縮配置
在伸縮組管理頁面的操作列單擊查看詳情,在實例配置來源頁簽選擇伸縮配置。
在伸縮配置頁簽,單擊創建伸縮配置并完成配置,部分配置項可參考下表,其他配置項可根據實際需求進行配置。
配置項
說明
付費模式
ECS的付費方式,本文選擇按量付費
實例配置方式
本文選擇指定實例規格
選擇實例規格
選擇與創建的ECS01實例規格相同的規格
選擇鏡像
選擇已經創建的ECS01實例的自定義鏡像
安全組
選擇已創建的ECS01實例所在安全組
配置完成后單擊創建,然后單擊確認創建。
在伸縮配置創建成功對話框,單擊啟用配置,并在彈窗中啟用對應的伸縮配置和伸縮組。
步驟三:創建伸縮規則
在伸縮組管理頁面的操作列單擊查看詳情,在伸縮規則與報警任務頁簽單擊伸縮規則。
創建自動添加的伸縮規則:在伸縮規則頁簽,單擊創建伸縮規則,部分配置項可參考下表,其他配置項可根據實際需求進行配置。完成后單擊確認。
配置項
說明
規則名稱
自定義填寫,例如:自動添加1臺的規則
伸縮規則類型
本文選擇簡單規則
執行的操作
本文選擇增加1臺
創建自動移除的伸縮規則:在伸縮規則頁簽,單擊創建伸縮規則,部分配置項可參考下表,其他配置項可根據實際需求進行配置。完成后單擊確認。
配置項
說明
規則名稱
自定義填寫,例如:自動移除1臺的規則
伸縮規則類型
本文選擇簡單規則
執行的操作
本文選擇減少1臺
步驟四:創建報警任務并添加伸縮規則
在左側導航欄選擇
。在報警任務頁面,選擇系統監控頁簽,然后單擊創建報警任務。
創建自動添加的報警任務:在創建報警任務對話框中完成配置,部分配置項可參考下表,其他配置項可根據實際需求進行配置。完成后單擊確認。
配置項
說明
名稱
自定義任務名稱,例如:自動添加1臺的報警任務
監控資源
選擇步驟一中創建的伸縮組
報警指標描述
本文選擇CPU使用率、Maximum(最大值)>= 閾值 60%
統計周期
本文選擇1分鐘
重復幾次后報警
本文選擇1次
報警觸發規則
選擇步驟三中創建的自動添加的伸縮規則
創建自動減少的報警任務:在創建報警任務對話框中完成配置,部分配置項可參考下表,其他配置項可根據實際需求進行配置。完成后單擊確認。
配置項
說明
名稱
自定義任務名稱,例如:自動移除1臺的報警任務
監控資源
選擇步驟一中創建的伸縮組
報警指標描述
本文選擇CPU使用率、Maximum(最大值)<= 閾值 30%
統計周期
本文選擇1分鐘
重復幾次后報警
本文選擇1次
報警觸發規則
選擇步驟三中創建的自動移除的伸縮規則
步驟五:已有實例添加到伸縮組中進行監控
彈性伸縮需要基于已有業務服務器進行監控,根據報警任務觸發實例。因此需要將已有服務器實例添加到伸縮組中進行監控。
在伸縮組管理頁面的操作列單擊查看詳情,在實例列表頁簽單擊手動創建。
單擊添加已有實例,選擇并添加ECS01實例,完成后單擊確認添加。
在手動創建頁簽,可查看到ECS01實例已添加成功。
步驟六:驗證自動添加和移除效果
通過stress壓測的方式,增加ECS01實例的CPU使用率超過60%,從而觸發彈性伸縮的自動添加報警任務,在這期間登錄控制臺可查看到ECS實例自動增加。壓測時間結束后,ECS01實例的CPU使用率低于30%,從而觸發彈性伸縮的自動移除報警任務,自動移除此前自動添加的ECS實例。
遠程登錄ECS01實例后,執行以下命令安裝stress工具。
sudo yum install -y epel-release sudo yum install -y stress
執行以下命令通過stress工具對ECS01實例進行壓測,壓測時間為60s。
sudo stress --cpu 1 --io 4 --vm 2 --vm-bytes 128M --timeout 60s &
返回彈性伸縮的報警任務頁面,等待一段時間后,報警狀態顯示報警。
進入伸縮組管理頁面,在實例數/容量列查看總實例數增加1個。證明已添加一臺新的ECS實例到伸縮組。
在左側導航欄,選擇
。單擊目標實例ID,單擊虛擬服務器組頁簽,單擊目標分組名稱,可以看到后端服務器有兩臺實例,其中以
ESS-XX
命名的實例為通過彈性伸縮服務自動添加的ECS實例。壓測時間結束后,可再次登錄彈性伸縮與負載均衡控制臺,可查看到此前已經添加的實例已自動移除。
相關文檔
如您想詳細了解彈性伸縮服務,可參考什么是彈性伸縮ESS。
如您需要設置定時任務進行服務器數量自動調整,可參考通過定時任務設置伸縮組內的實例數量。
結合云監控配置不同的伸縮規則,可實現基于監控指標的伸縮、指標預測等更多高級功能,詳情可參考配置伸縮規則。