

# PERF02-BP05 利用資源的可用彈性
<a name="perf_select_compute_elasticity"></a>

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

 讓供需達到最佳相符，將工作負載的成本降到最低，但您還需規劃充分的供應，為佈建時間和個別資源失敗而預留。需求可為固定或可變，需要指標和自動化，以確保該項管理不致構成明顯的大量比例失衡成本。 

 搭配 AWS，您可以使用各種不同的方法使供需相符。成本優化支柱白皮書說明如何使用下列方法來計算成本： 
+  需求為主方法 
+  緩衝為主方法 
+  時間為主方法 

 您必須確保工作負載部署可以同時處理擴展和縮減事件。建立縮減事件的測試案例，以確保工作負載如預期般運作。 

 **常用的反模式：** 
+  您可以手動增加容量，對警示做出反應。 
+  您在擴展事件之後維持增加容量，而不是縮減規模。 

 **建立此最佳實務的優勢：** 設定和測試工作負載彈性將有助於節省金錢、維護性能基準，以及在流量變更時提高可靠性。大多數非生產執行個體在未使用時應該予以停止。雖然可以手動關閉未使用的執行個體，但這種做法在較大規模下不切實際。您也可以利用以磁碟區為基礎的彈性，透過在需求高峰期間自動增加運算執行個體數量，並在需求減少時減少容量，藉此最佳化效能和成本。 

 **若未建立此最佳實務，暴露的風險等級：** 中 

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

 利用彈性：彈性會比對您擁有的資源供應與這些資源的需求。執行個體、容器和函數提供了彈性機制，可能是與自動調整規模功能結合使用，或是作為服務功能提供。利用架構中的彈性，以確保您有足夠的容量滿足所有使用規模的效能需求。確保針對要部署的工作負載類型來驗證擴展或縮減彈性資源的指標。如果您要部署影片轉碼應用程式，則預期為 100% CPU 使用率，且不應做為您的主要指標。或者，您可以針對等待擴展執行個體類型的轉碼任務的佇列深度，來進行測量。確定針對要部署的工作負載類型驗證擴展或縮減彈性資源的指標。安全地縮減工作負載元件，與在必要時擴展資源一樣重要。建立縮減事件的測試案例，以確保工作負載如預期般運作。 

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

 **相關文件：** 
+  [使用 AWS 進行雲端運算](https://aws.amazon.com/products/compute/) 
+  [EC2 執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [ECS 容器：Amazon ECS 容器執行個體](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [EKS 容器：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) 
+  [EC2 執行個體的處理器狀態控制](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **相關影片：** 
+  [Amazon EC2 基礎 (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [更好、更快、更便宜的運算：成本優化 Amazon EC2 (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [使用 AWS Inferentia (CMP324-R1) 提供高效能 ML 推斷](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [優化 AWS 運算的效能和成本 (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [支援下一代 Amazon EC2：深入探討 Nitro 系統](https://www.youtube.com/watch?v=rUY-00yFlE4) 

 **相關範例：** 
+  [Amazon EC2 Auto Scaling 群組範例](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Amazon EFS 教學課程](https://github.com/aws-samples/amazon-efs-tutorial) 