PERF02-BP05 動態擴展運算資源
為滿足需求,請使用雲端的彈性,來動態擴充或縮減運算資源,並避免為工作負載佈建過多或過少的容量。
常見的反模式:
-
您可以手動增加容量,對警示做出反應。
-
您使用與內部部署相同的大小準則 (通常是靜態基礎結構)。
-
您在擴展事件之後維持增加容量,而不是縮減規模。
建立此最佳實務的優勢: 設定和測試運算資源的彈性,可協助您節省成本、維持效能基準,並隨著流量變化改善可靠性。
未建立此最佳實務時的曝險等級: 高
實作指引
AWS 透過各種擴展機制,讓您能夠彈性動態擴充或縮減資源,以因應需求的變化。動態擴展與運算相關指標結合,讓工作負載能夠自動回應變更,並使用最佳的運算資源集來達成其目標。
您可以使用多種不同的方法達到資源的供需平衡。
-
目標追蹤法::監控擴展指標,並視需要自動增加或減少容量。
-
預測擴展:根據預測每日和每週趨勢進行擴展。
-
排程法:根據可預測的負載變更來設定您自己的擴展排程。
-
服務擴展:選擇可根據設計自動擴展的服務 (例如無伺服器)。
您必須確保工作負載部署可以同時處理擴展和縮減事件。
實作步驟
-
運算執行個體、容器和函數提供了彈性機制,可能是與自動調整規模功能結合使用,或是作為服務功能提供。以下是自動擴展機制的幾個範例:
自動擴展 在何處使用 Amazon EC2 Auto Scaling 確認您擁有正確數量的 Amazon EC2 執行個體可處理應用程式的使用者負載。 Application Auto Scaling 自動將個別 AWS 服務的資源擴展到 Amazon EC2 以外,例如 AWS Lambda 函數或 Amazon Elastic Container Service (Amazon ECS) 服務。 Kubernetes Cluster Autoscaler/Karpenter 自動擴展 Kubernetes 叢集。 -
我們常將擴展與 Amazon EC2 執行個體或 AWS Lambda 函數等運算服務一起討論。請務必同時考慮非運算服務的組態,例如, AWS Glue ,以符合需求。
-
確認用於擴展的指標符合要部署之工作負載的特性。如果您要部署影片轉碼應用程式,則預期為 100% CPU 使用率,且不應做為您的主要指標。請改用轉碼任務佇列的深度。您可以將 自訂指標
用於擴展政策 (如有必要)。若要選擇正確的指標,請考量 Amazon EC2 的下列指引: -
指標應為有效的使用率指標,並說明執行個體的忙碌程度。
-
指標值必須根據 Auto Scaling 群組中的執行個體數量按比例增加或減少。
-
-
請確定您使用的是 動態擴展 而非 手動擴展 處理您的 Auto Scaling 群組。我們也建議您將 目標追蹤擴展政策 用於動態擴展中。
-
確認工作負載部署可同時處理擴展事件 (擴充和縮減)。例如,您可以使用 活動歷史 來確認 Auto Scaling 群組的擴展活動。
-
評估工作負載以取得可預測模式,並在預計發生預測中的變化和隨需規劃變化時主動擴展。透過預測擴展,可以避免過度佈建容量的需求。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 的預測擴展
。
資源
相關文件:
相關影片:
相關範例: