Auto Scaling(Elastic Scaling Service,簡稱ESS),也稱為Auto Scaling,其能根據您設定的策略自動調整計算資源數量(即業務所需的執行個體數量),協助您應對業務流量波動的同時,提高資源使用率,有效降低成本。
本視頻以ECS執行個體為例介紹Auto Scaling產品。
為什麼選擇Auto Scaling
在業務需求增長時,Auto Scaling自動增加指定類型的執行個體(即ECS執行個體或ECI執行個體),來保證計算能力;在業務需求下降時,Auto Scaling自動減少指定類型的執行個體(即ECS執行個體或ECI執行個體),來節約成本。當您的業務需求量有波動時,Auto Scaling能夠協助您自動調整指定類型的執行個體數量,以滿足業務需求。
Auto Scaling可以為您提供以下優勢:
優勢 | 說明 |
自動化 |
|
降成本 | 無需投入大量人力來調整計算資源,無需提前預備計算資源,也無需擔心不能及時釋放冗餘資源。Auto Scaling在適當的時間進行伸縮任務,降低資源擁有成本。 Auto Scaling會自動監測對應的伸縮指標(或期望執行個體數)的變化(檢測頻率預設是每分鐘一次),如果檢查到對應的伸縮指標與您指定的閾值不匹配,Auto Scaling會立即觸發擴縮容活動。Auto Scaling的回應時間取決於以下因素:
|
高可用 | 無需擔心ECS執行個體或ECI執行個體的運行狀態。Auto Scaling提供健全狀態檢查功能,在ECS執行個體或ECI執行個體不健康,即執行個體未處於運行中狀態時,自動增加相應類型的執行個體替換不健康的執行個體。 |
靈活智能 |
|
易審計 | Auto Scaling支援記錄每個伸縮活動,提供伸縮組監控功能,有助於您快速定位問題根源。 |
更多資訊,請參見產品優勢。
功能說明
Auto Scaling僅支援ECS執行個體或ECI執行個體數量的增加和減少,但不支援單個ECS執行個體或ECI執行個體的配置變更。例如需要調整ECS執行個體的CPU、記憶體和頻寬等配置,您可以通過阿里雲營運編排服務(Operation Orchestration Service,簡稱OOS)功能來實現。更多資訊,請參見什麼是營運編排服務。
Auto Scaling可以根據業務需求,自動建立或者移出ECS執行個體或ECI執行個體。您需要配置以下主要功能組件:
功能名稱 | 說明 |
用來管理一組具有相同應用情境、相同執行個體類型的執行個體。您需要指定伸縮群組類型(即ECS執行個體或ECI執行個體,用於指定提供計算能力的執行個體類型)、執行個體配置來源、邊界值(即最大執行個體數和最小執行個體數)或負載平衡(CLB執行個體或ALB伺服器組)等。如果您有多個應用情境,您可以建立多個伸縮組。Auto Scaling按照您的配置為每個伸縮組分別調整計算能力。 | |
用來管理ECS執行個體或ECI執行個體使用的模板資訊。在彈性擴張時,Auto Scaling使用ECS類型的模板資訊建立ECS執行個體,使用ECI類型的模板資訊建立ECI執行個體。 | |
主要用來觸發伸縮活動,例如增加1台ECS執行個體或ECI執行個體,您可以手動執行伸縮規則,或者通過警示任務或定時任務執行伸縮規則。伸縮規則還支援智能設定伸縮組的邊界值(即最大執行個體數和最小執行個體數)。 | |
通過CloudMonitor系統,即時監測伸縮組的各項指標,在指標滿足配置的閾值條件時,執行相應的伸縮規則。 | |
指定時間執行相應的伸縮規則。 |
上述功能組件中,Auto Scaling必須配置並啟用了伸縮組和組內執行個體配置來源,其他功能組件可以按需配置。Auto Scaling的使用流程如下圖所示:
Auto Scaling還為您提供了其他更多功能,來實現您不同情境的需求:
在伸縮活動成功、失敗或者被拒絕時,Auto Scaling支援通過以下方式發送通知資訊:
功能名稱
說明
支援通過站內信和郵件發送訊息通知。
支援發送訊息到CloudMonitor系統事件或Simple Message Queue (formerly MNS)。Simple Message Queue (formerly MNS)包括MNS主題和MNS隊列兩種服務模型。Simple Message Queue (formerly MNS)涉及計費,更多計費詳情,請參見計費說明。
在管理伸縮組內的執行個體時,Auto Scaling還支援以下功能:
功能名稱
說明
管理伸縮組內ECS執行個體或ECI執行個體生命週期的工具。Auto Scaling自動觸發擴縮容活動,並觸發生命週期掛鈎使伸縮活動中的ECS執行個體或ECI執行個體處於掛起中的狀態(即等待的狀態),為您保留一段自訂動作的時間,直至生命週期掛鈎逾時結束。
自訂方式,手動向伸縮組添加或移出ECS執行個體、ECI執行個體或受管理的執行個體等。
如果伸縮群組類型為ECS執行個體,即您指定由ECS執行個體提供計算能力時,支援滾動升級功能。通過任務形式批次更新ECS執行個體配置,您可以為伸縮組內處於服務中狀態的ECS執行個體批次更新鏡像、執行指令碼或者安裝OOS軟體包。
應用情境
Auto Scaling為您提供了豐富的伸縮功能,適用各種業務量有變化的情境:
業務量變化有規律。
例如,每周五20:00熱門節目來臨時,某視頻公司的業務量激增,您可以建立定時任務,在每周五20:00自動增加1台ECS執行個體或ECI執行個體。
業務量變化無規律。
例如,某ApsaraVideo for Live公司的日常業務量難以預測,您可以建立警示任務,在CPU使用率大於60%時自動增加1台ECS執行個體或ECI執行個體。
更多資訊,請參見應用情境。
工作原理
Auto Scaling會自動根據伸縮模式的配置適時觸發伸縮活動,增加或移出伸縮組內的ECS執行個體或ECI執行個體。您可以通過Auto Scaling調整ECS執行個體或ECI執行個體(該執行個體主要負責處理用戶端請求)數量,從而自動調整業務請求的處理能力。更多資訊,請參見工作原理。
產品計費
Auto Scaling本身不收取任何費用,但使用ECS執行個體、ECI執行個體、RDS執行個體、負載平衡服務(例如CLB執行個體、ALB伺服器組或者NLB伺服器組)、Simple Message Queue (formerly MNS)等其他產品資源時涉及收費。更多資訊,請參見產品計費。
使用方式
Auto Scaling控制台:具有互動式操作的Web服務頁面。
API:支援GET和POST請求的RPC風格API。關於API的更多資訊,請參見API概覽。以下為調用Auto ScalingAPI的常用開發人員工具:
命令列工具CLI:基於阿里雲API建立的靈活且易於擴充的管理工具。您可基於命令列工具封裝阿里雲的原生API,擴充出您需要的功能。
OpenAPI Explorer:提供快速檢索介面、線上調用API和動態產生SDK範例程式碼等服務。
相關服務
服務名稱 | 說明 |
是阿里雲提供的IaaS(Infrastructure as a Service)層級雲端運算服務,可以協助您實現計算資源的即開即用和Auto Scaling。 | |
是阿里雲提供的敏捷安全的Serverless容器運行服務,使用ECI作為容器運行環境,可以為您的業務系統提供更高的彈性和安全性,同時降低使用和營運成本。 | |
是一種安全、穩定、可靠、高性價比、可Auto Scaling的線上資料庫服務,可以協助您解決資料庫營運的煩惱。 | |
是一種對流量進行按需分發的服務,可以消除應用系統中的單點故障,提升應用系統的可用性。包括應用型ALB、網路型NLB或傳統型CLB三種產品類型。 | |
是一項針對阿里雲資源和互連網應用進行監控的服務。協助您全面瞭解阿里雲上資源的使用方式和業務健全狀態,並及時對故障資源進行處理,保證業務正常運行。 | |
是一種高效、可靠、安全、便捷和可彈性擴充的輕量訊息佇列服務。能夠協助開發人員在應用的分布式組件之間自由地傳遞資料、通知訊息,從而構建松耦合系統。 |