

# PERF02-BP05 動態擴展您的運算資源
<a name="perf_compute_hardware_scale_compute_resources_dynamically"></a>

 為滿足需求，請使用雲端的彈性，來動態擴充或縮減運算資源，並避免為工作負載佈建過多或過少的容量。

 **常見的反模式：**
+  您可以手動增加容量，對警示做出反應。
+  使用與內部部署相同的大小規模準則 (通常是靜態基礎設施)。
+  您在擴展事件之後維持增加容量，而不是縮減規模。

 **建立此最佳實務的優勢：**設定和測試運算資源的彈性可協助您節省成本、維持效能基準，並隨著流量變化提升可靠性。

 **未建立此最佳實務時的曝險等級：**高 

## 實作指引
<a name="implementation-guidance"></a>

 AWS 透過各種擴展機制，提供了動態擴展或縮減資源的彈性，以滿足需求的變化。結合與運算相關的指標，動態擴展允許工作負載自動回應變更，並使用最佳運算資源集來實現目標。

 您可以使用多種不同的方法達到資源的供需平衡。
+  **目標追蹤法**：監控您的擴展指標，並視需要自動增加或減少容量。
+  **預測擴展**：縮減每日和每週趨勢的預期。
+  **基於排程的方法**：按照排程來擴展可讓您根據可預測的負載變化來設定自己的擴展排程。
+  **服務擴展**：選擇可根據設計自動擴展的服務 (例如無伺服器)。

 您必須確保工作負載部署可以同時處理向上擴展和縮減規模事件。

### 實作步驟
<a name="implementation-steps"></a>
+  運算執行個體、容器和函數提供了彈性機制，可與自動擴展功能結合使用，或是作為服務功能提供。以下是自動擴展機制的幾個範例：    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/wellarchitected/2024-06-27/framework/perf_compute_hardware_scale_compute_resources_dynamically.html)
+  我們常將擴展與 Amazon EC2 執行個體或 AWS Lambda 函數等運算服務一起討論。請務必同時考慮非運算服務的組態 (例如 [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/auto-scaling.html)) 以符合需求。
+  確認用於擴展的指標符合要部署之工作負載的特性。如果您要部署影片轉碼應用程式，則預期為 100% CPU 使用率，且不應做為您的主要指標。請改用轉碼任務佇列的深度。您可以將[自訂指標](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/)用於擴展政策 (如有必要)。若要選擇正確的指標，請考量 Amazon EC2 的下列指引：
  +  指標應為有效的使用率指標，並說明執行個體的忙碌程度。
  +  指標值必須與 Auto Scaling 群組中的執行個體數成比例增加或減少。
+  對於 Auto Scaling 群組，確保使用[動態擴展](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html)，而非[手動擴展](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html)。我們也建議您在動態擴展中使用[目標追蹤擴展政策](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html)。
+  確認工作負載部署可同時處理擴展事件 (擴充和縮減)。例如，您可以使用[活動歷史記錄](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html)來驗證 Auto Scaling 群組的擴展活動。
+  評估工作負載以取得可預測模式，並在預計發生預測中的變化和隨需規劃變化時主動擴展。透過預測性擴展，可以消除過度佈建容量的需求。如需詳細資訊，請參閱 [Predictive Scaling with Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/)。

## 資源
<a name="resources"></a>

 **相關文件：**
+  [使用 AWS 進行雲端運算](https://aws.amazon.com/products/compute/) 
+  [Amazon EC2 執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Amazon ECS 容器：Amazon ECS 容器執行個體](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Amazon EKS 容器：Amazon EKS 工作節點](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [函數：Lambda 函數組態](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [您的 Amazon EC2 執行個體的處理器狀態控制](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 
+  [深入探討 Amazon ECS 叢集自動擴展](https://aws.amazon.com/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/) 
+  [介紹 Karpenter - 一個開放原始碼的高效能 Kubernetes Cluster Autoscaler](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 

 **相關影片：**
+  [AWS re:Invent 2023 – AWS Graviton：AWS 工作負載的最佳價格效能](https://www.youtube.com/watch?v=T_hMIjKtSr4) 
+  [AWS re:Invent 2023 – AWS 管理主控台中的全新 Amazon EC2 生成式 AI 功能](https://www.youtube.com/watch?v=sSpJ8tWCEiA) 
+  [AWS re:Invent 2023 – Amazon EC2 的新功能](https://www.youtube.com/watch?v=mjHw_wgJJ5g) 
+  [AWS re:Invent 2023 - 智慧型節省：Amazon EC2 成本優化策略](https://www.youtube.com/watch?v=_AHPbxzIGV0) 
+  [AWS re:Invent 2021 – 為新一代 Amazon EC2 提供支援：深入探索 Nitro 系統](https://www.youtube.com/watch?v=2uc1vaEsPXU) 
+  [AWS re:Invent 2019 – Amazon EC2 基礎](https://www.youtube.com/watch?v=kMMybKqC2Y0) 

 **相關範例：**
+  [Amazon EC2 Auto Scaling 群組範例](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Amazon EKS 研討會](https://www.eksworkshop.com/) 
+  [透過在 IPv6 上執行來擴展您的 Amazon EKS 工作負載](https://catalog.us-east-1.prod.workshops.aws/workshops/3b06259f-8e17-4f2f-811a-75c9b06a2807/en-US) 