- 管理與管控›
- AWS Auto Scaling›
- 常見問答集
AWS Auto Scaling 常見問答集
一般
問:什麼是 AWS Auto Scaling?
AWS Auto Scaling 是一種新的 AWS 服務,可輕鬆安全地擴展多個 AWS 資源,協助您優化應用程式效能,同時降低基礎設施成本。只需按幾下滑鼠就可以讓您擴展支援應用程式的相關資源集合,讓擴展程序更加簡便。AWS Auto Scaling 可協助您針對支援應用程式的完整基礎設施堆疊設定一致且合適的擴展政策。AWS Auto Scaling 可根據您選擇的擴展策略視需要自動擴展資源,讓您保持效能並只針對實際需要的資源付費。
問:AWS Auto Scaling 有什麼好處?
AWS Auto Scaling 是一種可優化應用程式效能和成本的快速簡單方式。
- 快速設定擴展:AWS Auto Scaling 為支援應用程式的所有可擴展資源提供一致的擴展體驗。您可以查看所有可擴展資源的平均使用率,以及從單一直覺式界面快速定義每組類似資源的目標使用率。
- 明智的擴展決策:AWS Auto Scaling 可讓您自動化不同資源群組應對需求改變的方式。多種淺顯易懂的擴展策略供您選擇,以優化可用性、成本或平衡兩者。AWS Auto Scaling 可根據您的偏好,自動建立所有擴展政策並設定目標。
- 自動維護效能:AWS Auto Scaling 會持續監控您的應用程式基本資源,確保它們會以您期望的效能等級執行。當需求激增時,AWS Auto Scaling 會自動增加受限資源的容量,以保持高品質的服務。
- 預計成本和避免費用超支:當您在使用 AWS 服務時,AWS Auto Scaling 可以協助您優化使用率和成本效益,因此您只需支付實際所需的資源費用。當需求下降時,AWS Auto Scaling 會自動移除任何多餘的資源容量,避免費用超支。
問:何時應該使用 AWS Auto Scaling?
如果您的應用程式使用一或多種可擴展的資源而且會遇到工作負載時高時低的情況,則應該使用 AWS Auto Scaling。電子商務 Web 應用程式就是最好的例子,它一天中可能遇到流量高低起伏的情況。它遵循標準的三層架構,用於分散傳入流量的 Elastic Load Balancing、用於運算層的 Amazon EC2,以及用於資料層的 DynamoDB。在這種情況下,AWS Auto Scaling 會擴展一或多個支援應用程式的 EC2 Auto Scaling 群組和 DynamoDB 表以回應需求曲線。
問:如何開始使用 AWS Auto Scaling?
AWS Auto Scaling 可讓您根據資源標籤或 AWS CloudFormation 堆疊選擇應用程式。只需按幾下滑鼠,就可以為您的應用程式建立擴展計劃,以定義應用程式每個資源的擴展方式。對於每個資源,AWS Auto Scaling 都會建立一個目標追蹤擴展政策並包含該資源類型最常用的指標,同時根據您選擇的擴展策略保持在目標值。要為您的資源指標設定目標值,您可以選擇三種預先定義的擴展建議,以優化可用性、優化成本或平衡兩者。或者,如果您喜歡的話,也可以定義自己的目標值。AWS Auto Scaling 也會自動設定資源的最小/最大值。
擴展選項
問:有哪些不同方式可擴展 AWS 資源?
AWS 客戶可透過多種選項擴展資源。Amazon EC2 Auto Scaling 可協助確保您有適當的 Amazon EC2 執行個體數量來處理應用程式的負載。EC2 Auto Scaling 還可偵測運作狀態不佳的執行個體,終止該執行個體,然後啟動另一個執行個體來替換它。使用 EC2 Auto Scaling 時,您的應用程式可獲得較好的容錯能力、可用性和成本管理。
要擴展 EC2 以外的資源,您可以使用 Application Auto Scaling API 定義各種擴展政策,以自動擴展 AWS 資源或排定單次或重複發生的擴展動作。Application Auto Scaling 可擴展 Amazon ECS 服務、Amazon EC2 Spot 叢集、Amazon EMR 叢集、Amazon AppStream 2.0 叢集、Amazon DynamoDB 表和全域次要索引的佈建讀取和寫入容量、Amazon Aurora 複本,以及 Amazon SageMaker 端點變體。
要為跨多個服務的多個資源設定自動擴展,可使用 AWS Auto Scaling 針對應用程式基本資源建立擴展計劃。AWS Auto Scaling 還可用於針對 EC2 資源建立預測擴展。
問:何時應該使用 AWS Auto Scaling 和Amazon EC2 Auto Scaling?
您應該使用 AWS Auto Scaling 管理跨多個服務的多個資源擴展。AWS Auto Scaling 可讓您使用預先定義的擴展策略定義多個 EC2 Auto Scaling 群組或其他資源的動態擴展政策。相較於使用個別服務主控台管理每個資源的擴展政策,使用 AWS Auto Scaling 設定應用程式所有可擴展資源的擴展政策是較快的方法。而且也較為容易,因為 AWS Auto Scaling 包含預先定義的擴展策略,可簡化擴展政策的設定程序。如果您想針對 EC2 資源建立預測擴展,您還應使用 AWS Auto Scaling。
如果您只需要擴展 Amazon EC2 Auto Scaling 群組,或只是想維護 EC2 叢集的運作狀態,應使用 EC2 Auto Scaling。如果您需要建立或設定 Amazon EC2 Auto Scaling 群組,或需要設定排定或階段式擴展政策,也應使用 EC2 Auto Scaling (因為 AWS Auto Scaling 僅支援目標追蹤擴展政策)。
EC2 Auto Scaling 群組必須在 AWS Auto Scaling 外部建立和設定,像是透過 EC2 主控台、Auto Scaling API 或 CloudFormation。AWS Auto Scaling 可協助您設定現有 EC2 Auto Scaling 群組的動態擴展政策。
問:何時應該使用 AWS Auto Scaling 和Auto Scaling 用於個別服務?
您應該使用 AWS Auto Scaling 管理跨多個服務的多個資源擴展。AWS Auto Scaling 可為多個資源提供一致的擴展,並提供預先定義的指導,協助您更快、更輕鬆地設定擴展。如有需要,您可以選擇使用個別服務主控台、Auto Scaling API 或 Application Auto Scaling API 擴展個別的 AWS 服務。如果您想要設定階段式擴展政策或排定擴展,則應使用個別的主控台或 API,因為 AWS Auto Scaling 只能建立目標追蹤擴展政策。
問:什麼是 Predictive Scaling?
Predictive Scaling 是 AWS Auto Scaling 的一項功能,其會監控歷史流量模式並預測未來,以排定在適當的時間進行 EC2 執行個體數目變更。Predictive Scaling 使用機器學習模型來預測每日和每週模式。
Auto Scaling 現加入 Predictive Scaling 功能,為客戶提供更迅速、更簡單、更準確的容量佈建,應用程式費用更低,反應更快。透過預測流量變更,Predictive Scaling 在變更流量前佈建 EC2 執行個體,使 Auto Scaling 更快且更準確。
問:我可以搭配 Predictive Scaling 使用哪些服務?
此時,Predictive Scaling 僅會針對 EC2 執行個體產生排程。
問:我如何搭配使用 Predictive Scaling 和目標追蹤?
Predictive Scaling 與目標追蹤搭配運作,讓 EC2 容量根據您的傳入應用程式流量更快變更。Predictive Scaling 根據預測的流量為您的應用程式設定最低容量時,目標追蹤會根據此時的實際流量變更實際容量。目標追蹤可追蹤不同流量條件下所需的容量利用率層級,並應對無法預測的流量高峰及其他波動。Predictive Scaling 和目標追蹤由使用者結合設定來產生擴展計劃。
問:什麼是擴展計劃?
擴展計劃是多個 AWS 資源的擴展指示集合。您可以透過先選取 AWS Auto Scaling 中基於您應用程式的所有 EC2 資源,來設定擴展計劃。然後,挑選您想要追蹤的資源利用率指標 (例如 CPU 利用率),並設定要追蹤的值 (例如,50%)。最後,您選取代表您輸入流量流向的 CloudWatch 指標 – 您可能必須設定此項目 (如果還未設定的話)。
資源利用率指標和傳入流量指標是擴展計劃的關鍵參數。傳入流量指標供 Predictive Scaling 用於產生流量預測。根據這些預測,Predictive Scaling 會排定未來擴展操作,以設定最低容量。動態擴展使用資源利用率指標及其目標值,隨著流量的變化,隨時間針對您的應用程式動態變更 EC2 容量。
問:我可以不使用 Predictive Scaling 來設定擴展計劃嗎?
是,您可以僅透過動態擴展,而不使用 Predictive Scaling 來設定擴展計劃。相反,您還可以僅啟用 Predictive Scaling 而不設定動態擴展。
問:Predictive Scaling 需要多少歷史資料才能產生擴展計劃?
Predictive Scaling 需要多達兩週的歷史資料,但僅使用一天的資料即可產生預測擴展排程。
問:Predictive Scaling 預測流量的未來時長是多少?
每 24 小時,Predictive Scaling 可預測未來 48 小時的流量並針對這 48 小時排定容量變更。
問:我可以設定 Predictive Scaling 在流量發生實際高峰之前佈建執行個體嗎?
是,您可以選擇性地設定緩衝時間,以在預測的流量變更之前的某個時段佈建執行個體。這對於 EC2 執行個體在就緒可以為應用程式流量服務之前需要一些「熱身」時間的應用程式來說,非常實用。
問:Predictive Scaling 的費用是多少?
與其他 Auto Scaling 功能一樣,Predictive Scaling 可免費使用。您需要支付執行您的應用程式所利用的資源費用。
問:AWS Auto Scaling 與個別服務的擴展功能有何不同?
下表提供各種 AWS 擴展選項的比較。
AWS Auto Scaling |
Amazon EC2 Auto Scaling |
Auto Scaling 用於其他服務 |
|
---|---|---|---|
可擴展的資源 | EC2 Auto Scaling 群組 EC2 Spot 叢集 ECS 服務 表格和 GSI 的 DynamoDB 佈建容量 Aurora 複本 |
EC2 Auto Scaling 群組 | EC2 Spot 叢集 ECS 服務 表格和 GSI 的 DynamoDB 佈建容量 Aurora 複本 EMR 叢集 Appstream 2.0 叢集 Sagemaker 端點變體 |
擴展方法 | 使用一致的界面進行全應用程式擴展 |
一次一個 Auto Scaling 群組 | 一次一個資源 |
Predictive Scaling | 是 (僅限 EC2) | 否 | 否 |
自動探索應用程式中 所有可擴展資源 |
是 | 否 | 否 |
使用一致的界面跨多個服務擴展多個資源的能力 | 是 | 否 |
否 |
設定擴展政策的 指導和建議 |
是 | 否 | 否 |
建立和設定 Auto Scaling 群組的能力 |
否 | 是 |
不適用 |
僅使用 Auto Scaling 進行 EC2 叢集管理的能力 |
否 | 是 | 不適用 |
設定智慧型、自行優化的 目標追蹤擴展政策* |
是 | 是 | 是 |
設定排定的擴展動作 | 否 | 是 | 是 |
設定階段式擴展政策 | 否 | 是 |
是 |
為每個資源設定不同指標和閾值的擴展政策 | 否 | 是 | 是 |
* 建議的擴展政策與階段式擴展政策的不同
功能
問:使用 AWS Auto Scaling 可以擴展哪些項目?
您可以使用 AWS Auto Scaling 透過單一的整合界面,為應用程式中的以下資源設定擴展功能:
- Amazon EC2 Auto Scaling 群組
- Amazon Elastic Container Service (ECS) 服務 (目前無法使用資源標籤找到 ECS 服務)
- Amazon EC2 Spot 叢集
- Amazon DynamoDB 輸送容量
- Amazon Aurora 的 Aurora 複本
問:AWS Auto Scaling 如何提出擴展建議?
AWS Auto Scaling 會根據 Auto Scaling 使用的最熱門擴展指標和閾值來提供擴展建議。它還會建議資源的大小下限和上限,以提供擴展安全防護建議。這樣您就可以快速開始,然後隨著時間調整擴展策略。
問:如何選取 AWS Auto Scaling 內的應用程式堆疊?
您可以選取 AWS CloudFormation 堆疊,或根據一般資源標籤選取資源。請注意,目前無法使用標籤找到 ECS 服務。
問:AWS Auto Scaling 如何發現哪些資源可以擴展?
AWS Auto Scaling 會掃描您選擇的 AWS CloudFormation 堆疊或含有指定標籤的資源,以找出支援且可擴展的 AWS 資源類型。請注意,目前無法使用標籤找到 ECS 服務。
可用性和定價
問:哪些區域提供 AWS Auto Scaling?
AWS Auto Scaling 可在以下區域使用:亞太區域 (孟買)、亞太區域 (東京)、亞太區域 (首爾)、亞太區域 (雪梨)、加拿大 (中部)、美國西部 (加利佛尼亞北部)、歐洲 (倫敦)、歐洲 (法蘭克福)、歐洲 (巴黎)、歐洲 (米蘭)、美國東部 (維吉尼亞)、美國東部 (俄亥俄)、美國西部 (奧勒岡)、歐洲 (愛爾蘭) 和亞太區域 (新加坡)。
問:AWS Auto Scaling 的費用是多少?
與個別 AWS 資源上的 Auto Scaling 類似,AWS Auto Scaling 可以免費使用。AWS Auto Scaling 由 Amazon CloudWatch 啟用,因此 CloudWatch 和您的應用程式資源 (例如,Amazon EC2 執行個體、Elastic Load Balancing 負載平衡器等) 需支付服務費。