

# 選擇
<a name="a-selection"></a>

**Topics**
+ [PERF 1  您如何選擇效能最佳的架構？](w2aac19c11b5b5.md)
+ [PERF 2  您如何選取運算解決方案？](w2aac19c11b5b7.md)
+ [PERF 3  您如何選取儲存解決方案？](w2aac19c11b5b9.md)
+ [PERF 4  您如何選擇資料庫解決方案？](w2aac19c11b5c11.md)
+ [PERF 5  您如何設定聯網解決方案？](w2aac19c11b5c13.md)

# PERF 1  您如何選擇效能最佳的架構？
<a name="w2aac19c11b5b5"></a>

 欲讓工作負載達到最佳效能通常需要採用多種方法。Well-Architected 系統會使用多重解決方案和功能以提升效能。 

**Topics**
+ [PERF01-BP01 了解可用的服務和資源](perf_performing_architecture_evaluate_resources.md)
+ [PERF01-BP02 定義架構選擇程序](perf_performing_architecture_process.md)
+ [PERF01-BP03 將成本需求因素納入決策](perf_performing_architecture_cost.md)
+ [PERF01-BP04 使用政策或參考架構](perf_performing_architecture_use_policies.md)
+ [PERF01-BP05 使用雲端供應商或適當的合作夥伴提供的指導](perf_performing_architecture_external_guidance.md)
+ [PERF01-BP06 對現有工作負載進行基準化分析](perf_performing_architecture_benchmark.md)
+ [PERF01-BP07 對工作負載執行負載測試](perf_performing_architecture_load_test.md)

# PERF01-BP01 了解可用的服務和資源
<a name="perf_performing_architecture_evaluate_resources"></a>

 了解並熟悉雲端中可用的廣泛服務和資源。確定與工作負載相關的服務和組態選項，並了解如何獲得最佳效能。 

 如果您要評估現有的工作負載，則必須針對其使用的各種服務資源產生監視清單。您的監視清單可協助您評估哪些元件可以被受管服務和較新的技術取代。 

 **常用的反模式：** 
+  您可以使用雲端做為並置資料中心。 
+  您可以使用共用儲存來處理所有需要持久性儲存的物件。 
+  您不使用自動調整規模功能。 
+  您使用的執行個體類型與目前標準最相符，但大於需求。 
+  您會部署和管理可做為受管服務的技術。 

 **建立此最佳實務的優勢：** 考量採用可能不熟悉的服務，可以大幅降低基礎設施成本，以及維護服務所需的工作量。您可以透過部署新的服務和功能來加速交期。 

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

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

 清查工作負載軟體和架構以存放相關服務：收集工作負載的庫存，並決定要進一步了解哪些產品類別。識別可被受管服務替換的工作負載元件，以提高效能並降低操作複雜性。 

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

 **相關文件：** 
+  [AWS 架構中心](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS 解決方案程式庫](https://aws.amazon.com/solutions/) 
+  [AWS 知識中心](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **相關影片：** 
+  [Amazon Builders' Library 簡介 (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **相關範例：** 
+  [AWS 範例](https://github.com/aws-samples) 
+  [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP02 定義架構選擇程序
<a name="perf_performing_architecture_process"></a>

 使用內部經驗和雲端知識，或外部資源 (例如已發佈的使用案例、相關文件或白皮書)，定義選擇資源和服務的程序。您定義的程序應該鼓勵對可在工作負載中使用的服務進行實驗和基準化分析。 

 在為架構編寫關鍵使用者案例時，應包括效能要求，例如指定每個關鍵案例應執行的速度。對於這些關鍵案例，您應實作額外執行指令碼的使用者旅程，以確保您可以直觀地了解這些案例會如何根據您的要求予以執行。 

 **常用的反模式：** 
+  您假設您目前的架構將變成靜態，且一段時間不會更新。 
+  您會隨時間導入架構變更，而且無需理由佐證。 

 **建立此最佳實務的優勢：** 建立進行架構變更的定義程序後，即可啟用收集的資料，以隨著時間影響工作負載。 

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

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

 選擇一種架構方法：確定可以滿足效能需求的架構類型。識別限制，例如交付媒體 (桌面、Web、移動、IoT)、遺留需求和整合。識別重複使用的機會，包括重構。諮詢其他團隊、架構圖解和資源，例如 AWS 解決方案架構師、AWS 參考架構和 AWS 合作夥伴，以幫助您選擇架構。 

 定義效能需求：使用客戶體驗來確定最重要的指標。對於每個指標，確定目標、測量方法和優先級。定義客戶體驗。記錄客戶所需的效能體驗，包括客戶如何評價工作負載的效能。優先考慮關鍵使用者案例的體驗問題。納入效能需求並實作執行指令碼的使用者之旅，以確保您了解這些案例會如何根據您的要求予以執行。 

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

 **相關文件：** 
+  [AWS 架構中心](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS 解決方案程式庫](https://aws.amazon.com/solutions/) 
+  [AWS 知識中心](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **相關影片：** 
+  [Amazon Builders' Library 簡介 (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **相關範例：** 
+  [AWS 範例](https://github.com/aws-samples) 
+  [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP03 將成本需求因素納入決策
<a name="perf_performing_architecture_cost"></a>

 工作負載通常具有營運的成本需求。使用內部成本控制，根據預測的資源需求選取資源類型和大小。 

 判斷哪些工作負載元件可以被全受管服務 (例如受管資料庫、記憶體內快取和 ETL 服務) 取代。降低營運工作負載可讓您將資源投注在業務成果上。 

 如需成本需求最佳實務，請參閱 *成本優化支柱白皮書中* 經濟實惠的 [資源章節](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html)。 

 **常用的反模式：** 
+  您只能使用一個執行個體系列。 
+  您不會評估授權解決方案與開放原始碼解決方案 
+  您只能使用區塊儲存。 
+  您可以在 EC2 執行個體和可做為受管服務使用的 Amazon EBS 或暫時性磁碟區上部署常見的軟體。 

 **建立此最佳實務的優勢：** 做出選擇時考慮成本，可讓您促成其他投資。 

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

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

 將工作負載元件最佳化以降低成本：調整工作負載元件的大小並啟用彈性功能，以降低成本並最大化元件效率。判斷哪些工作負載元件可在適當時由受管服務 (例如受管資料庫、記憶體內快取和反向代理) 取代。 

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

 **相關文件：** 
+  [AWS 架構中心](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS 解決方案程式庫](https://aws.amazon.com/solutions/) 
+  [AWS 知識中心](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 

 **相關影片：** 
+  [Amazon Builders' Library 簡介 (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [優化 AWS 運算的效能和成本 (CMP323-R1) ](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **相關範例：** 
+  [AWS 範例](https://github.com/aws-samples) 
+  [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [在 Compute Optimizer 和記憶體使用率已啟用的情況下適當調整大小](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer 示範程式碼](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF01-BP04 使用政策或參考架構
<a name="perf_performing_architecture_use_policies"></a>

 透過評估內部政策和現有參考架構，並使用分析來選取工作負載的服務和組態，來將效能和效率提升至最大。 

 **常用的反模式：** 
+  您可以廣泛使用可能影響公司管理開銷的技術選擇。 

 **建立此最佳實務的優勢：** 建立架構、技術和供應商選擇的政策可讓您快速做出決策。 

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

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

 使用現有的政策或參考架構來部署工作負載：將服務整合到您的雲端部署，然後使用效能測試以確保您可以繼續滿足效能需求。 

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

 **相關文件：** 
+  [AWS 架構中心](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS 解決方案程式庫](https://aws.amazon.com/solutions/) 
+  [AWS 知識中心](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **相關影片：** 
+  [Amazon Builders' Library 簡介 (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **相關範例：** 
+  [AWS 範例](https://github.com/aws-samples) 
+  [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP05 使用雲端供應商或適當的合作夥伴提供的指導
<a name="perf_performing_architecture_external_guidance"></a>

 使用解決方案架構師、專業服務或適當的合作夥伴等雲端公司資源，來引導您做出決策。這些資源可協助檢閱和改善架構，以實現最佳效能。 

 當您需要其他指導或產品資訊時，請聯絡 AWS 尋求協助。AWS 解決方案架構師和 [AWS 專業服務](https://aws.amazon.com/professional-services/) 會為實作解決方案提供指導 [AWS 合作夥伴](https://aws.amazon.com/partners/) 會提供 AWS 專業知識，協助您提升業務的靈活性和創新性。 

 **常用的反模式：** 
+  您使用 AWS 做為通用資料中心供應商。 
+  您以非設計宗旨的方式使用 AWS 服務。 

 **建立此最佳實務的優勢：** 與您的供應商或合作夥伴協商，可讓您對自己的決策更有信心。 

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

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

 聯絡 AWS 資源以獲得協助：AWS 解決方案架構師和專業服務會為實作解決方案提供指導。APN 合作夥伴提供 AWS 專業知識，協助您提升業務的靈活性和創新性。 

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

 **相關文件：** 
+  [AWS 架構中心](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS 解決方案程式庫](https://aws.amazon.com/solutions/) 
+  [AWS 知識中心](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **相關影片：** 
+  [Amazon Builders' Library 簡介 (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **相關範例：** 
+  [AWS 範例](https://github.com/aws-samples) 
+  [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF01-BP06 對現有工作負載進行基準化分析
<a name="perf_performing_architecture_benchmark"></a>

 對現有工作負載的效能進行基準化分析，以了解工作負載在雲端的效能。使用從基準化分析中收集的資料，來推動架構決策。 

 使用基準化分析搭配綜合測試和實際使用者監控，以產生與工作負載元件效能相關的資料。與負載測試相比，基準化分析通常速度更快；要評估特定元件的技術時，會使用基準化分析。當您缺少執行負載測試的完整解決方案時，通常可在新專案開始時使用基準化分析。 

 您可以建置自己的自訂基準化分析測試，也可以使用產業標準測試，例如 [TPC-DS](http://www.tpc.org/tpcds/) ，來對資料倉儲工作負載進行基準化分析。比較環境時，產業基準化分析很有幫助。對於確定您希望在架構中進行的特定營運類型，自訂基準化分析非常實用。 

 基準化分析時，務必要預熱測試環境，以確保獲得有效的結果。多次執行相同的基準化分析，以確保您已擷取到隨時間推移出現的任何變化。 

 由於基準化分析的速度通常比負載測試要快，因此可以在部署管道中盡早使用基準化分析，以便能更快提供有關效能偏差的回饋。當您評估元件或服務中的重大變更時，藉助基準化分析，您可以更快速地查看所做的變更是否合理。請務必使用基準化分析搭配負載測試，因為負載測試將告訴您工作負載在生產中的效能。 

 **常用的反模式：** 
+  您倚賴不表現工作負載特性的常見基準測試。 
+  您依賴客戶意見回饋和感受做為唯一的基準測試。 

 **建立此最佳實務的優勢：** 對目前的實作進行基準化分析，可讓您測量效能改善。 

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

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

 在開發過程中監控效能：實作可隨著工作負載的演進而提供效能可見度的程序。 

 整合到交付管道：在您的交付管道中自動執行負載測試。將測試結果與預先定義的關鍵績效指標 (KPI) 和閾值進行比較，以確保您能持續符合效能需求。 

 測試使用者之旅：使用生產資料的綜合或處理過的版本 (移除敏感或身份資訊) 進行負載測試。透過在整個應用程式中使用重新執行或預先程式化的使用者之旅來測試整個架構。 

 實際使用者監控：使用 CloudWatch RUM 來協助您收集和檢視有關應用程式效能的用戶端資料。使用此資料可協助建立您的實際使用者效能基準測試。 

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

 **相關文件：** 
+  [AWS 架構中心](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [AWS 解決方案程式庫](https://aws.amazon.com/solutions/) 
+  [AWS 知識中心](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 

 **相關影片：** 
+  [Amazon Builders' Library 簡介 (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is my Architecture](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [透過 Amazon CloudWatch RUM 優化應用程式](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Amazon CloudWatch Synthetics 的示範](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **相關範例：** 
+  [AWS 範例](https://github.com/aws-samples) 
+  [AWS SDK 範例](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [分散式負載測試](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [使用 Amazon CloudWatch Synthetics 測量頁面載入時間](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web 用戶端](https://github.com/aws-observability/aws-rum-web) 

# PERF01-BP07 對工作負載執行負載測試
<a name="perf_performing_architecture_load_test"></a>

 使用不同類型和大小的資源，在雲端部署最新的工作負載架構。監控部署，以擷取可識別瓶頸或過多容量的效能指標。使用此效能資訊，來設計或改善您的架構和資源選擇。 

 負載測試會使用 *實際* 工作負載，以便您查看解決方案在生產環境中的效能。必須使用生產資料的綜合或處理過的版本 (刪除敏感或可識別身分的資訊) 執行負載測試。在工作負載中大規模使用重播或預先程式化的使用者旅程，以遍歷整個架構。在交付管道中自動執行負載測試，並將結果與預先定義的 KPI 和閾值進行比較。這可確保您持續達到所需的效能。 

 **常用的反模式：** 
+  您載入測試工作負載的個別部分，而非整個工作負載。 
+  您在與生產環境不同的基礎設施上載入測試。 
+  您只對預期的 (而非超標) 負載進行負載測試，以協助預測未來可能發生問題的位置。 
+  在不通知 AWS 支援 的情況下執行負載測試，並以類似拒絕服務事件的形式來擊敗測試。 

 **建立此最佳實務的優勢：** 在負載測試下測量效能時，會顯示負載增加時會受到影響的位置。這可在變更影響工作負載之前，讓您先預測所需的變更。 

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

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

 透過負載測試驗證方法：載入測試概念驗證，以確認是否符合效能需求。您可以使用 AWS 服務執行生產規模的環境，進而測試您的架構。由於僅在需要時才為測試環境付費，因此您只需花費使用內部部署環境的一小部分成本，就可以執行全面測試。 

 監控指標：Amazon CloudWatch 可以收集架構中各種資源的指標。您還可以收集和發佈自訂指標以顯示業務或衍生指標。使用 CloudWatch 或第三方解決方案來設定可指出何時超過閾值的警示。 

 大規模測試：負載測試會使用實際工作負載，因此您可以查看解決方案在生產環境中的效能。您可以使用 AWS 服務執行生產規模的環境，進而測試您的架構。由於僅在需要時為測試環境付費，因此與使用內部部署環境相比，可以更低的成本執行全面測試。利用 AWS 雲端測試您的工作負載，以發現無法擴展的地方或是否以非線性方式擴展。例如，使用 Spot 執行個體以低成本產生負載，並在生產中遇到瓶頸之前發現瓶頸。 

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

 **相關文件：** 
+  [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [使用 CloudFormer 建置 AWS CloudFormation 範本](https://aws.amazon.com/blogs/devops/building-aws-cloudformation-templates-using-cloudformer/) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [AWS 上的分散式負載測試](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **相關影片：** 
+  [Amazon Builders' Library 簡介 (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [透過 Amazon CloudWatch RUM 優化應用程式](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Amazon CloudWatch Synthetics 的示範](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **相關範例：** 
+  [AWS 上的分散式負載測試](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF 2  您如何選取運算解決方案？
<a name="w2aac19c11b5b7"></a>

工作負載的最佳運算解決方案會根據應用程式設計、使用模式和組態設定而有所不同。架構可針對不同元件使用不同運算解決方案並啟用不同功能，以提升效能。為架構選錯運算解決方案，可能使效能達成效率降低。

**Topics**
+ [PERF02-BP01 評估可用的運算選項](perf_select_compute_evaluate_options.md)
+ [PERF02-BP02 了解可用的運算組態選項](perf_select_compute_config_options.md)
+ [PERF02-BP03 收集與運算相關的指標](perf_select_compute_collect_metrics.md)
+ [PERF02-BP04 透過適當調整大小來確定所需的組態](perf_select_compute_right_sizing.md)
+ [PERF02-BP05 利用資源的可用彈性](perf_select_compute_elasticity.md)
+ [PERF02-BP06 根據指標重新評估運算需求](perf_select_compute_use_metrics.md)

# PERF02-BP01 評估可用的運算選項
<a name="perf_select_compute_evaluate_options"></a>

 了解您的工作負載如何受益於使用不同的運算選項，例如執行個體、容器和函數。 

 **預期成果：** 藉由了解所有可用的運算選項，您將注意到提高效能、減少不必要的基礎設施成本，以及降低減少維護工作負載所需操作工作量的機會。如果部署新服務和功能，也可以加速交期。 

 **常用的反模式：** 
+  在遷移後工作負載中，使用正用於內部部署的同一運算解決方案。 
+  缺乏對雲端運算解決方案以及這些解決方案如何提高您運算效能的感認。 
+  當替代運算解決方案更精確地符合您的工作負載特性時，現有運算解決方案會變得更大以符合擴展或效能要求。 

 **建立此最佳實務的優勢：** 藉由識別運算要求和評估可用的運算解決方案，業務利害關係人和工程團隊將了解使用所選運算解決方案的優勢和限制。選取的運算解決方案應該符合工作負載效能準則。重要準則包括處理需求、流量模式、資料存取模式、擴展需求，以及延遲要求。 

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

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

 了解可以使工作負載受益並滿足效能要求的虛擬化、容器化和管理解決方案。一個工作負載可以包含多種類型的運算解決方案。每個運算解決方案都有不同的特性。根據工作負載規模和運算要求，您可以選取一個運算解決方案，並將其設定為符合您的需求。雲端架構師應該了解執行個體、容器和函數的優缺點。下列步驟將協助您如何選取運算解決方案，以符合工作負載特性和效能要求。 


|  **類型**  |  **伺服器**  |  **容器**  |  **函數**  | 
| --- | --- | --- | --- | 
|  AWS 服務  |  Amazon Elastic Compute Cloud (Amazon EC2)  |  Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS)  |  AWS Lambda  | 
|  重要特性  |  具有硬體授權要求的專用選項、置放選項，以及根據運算指標大量選取不同的執行個體系列  |  易於部署、一致環境、在 EC2 執行個體之上執行、可擴展  |  執行時間短 (15 分鐘或更少)、最大記憶體和 CPU 不如其他服務高、受管硬體層、可擴展到數百萬個並行要求  | 
|  常見的使用案例  |  隨即轉移遷移、整合型應用程式、混合環境、企業應用程式  |  微型服務、混合環境、  |  微型服務、事件驅動應用程式  | 

 

 **實作步驟：** 

1.  透過評估選取運算解決方案所在位置 [PERF05-BP06 根據網路要求選擇工作負載的位置](perf_select_network_location.md)。此位置將限制可供您使用的運算解決方案類型。

1.  識別處理位置要求和應用程式要求的運算解決方案類型  

   1.  [https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/) 虛擬伺服器執行個體提供廣泛不同的系列和大小。它們可提供眾多不同功能，包括固態硬碟 (SSD) 和圖形處理單元 (GPU)。EC2 執行個體可在選擇執行個體時提供最大彈性。啟動 EC2 執行個體時，您指定的執行個體類型會決定執行個體的硬體。每種執行個體類型均提供了不同的運算、記憶體和儲存功能。我們會根據這些功能，將執行個體類型分組為不同的執行個體系列。典型使用案例包括：執行企業應用程式、高效能運算 (HPC)、訓練和部署機器學習應用程式，以及執行雲端原生應用程式。

   1.  [https://aws.amazon.com/ecs/](https://aws.amazon.com/ecs/) 是全受管的容器協調服務，可讓您使用 AWS Fargate，在 EC2 執行個體或無伺服器執行個體的叢集上 自動執行和管理容器。您可以使用 Amazon ECS，搭配 Amazon Route 53、Secrets Manager、AWS Identity and Access Management (IAM) 和 Amazon CloudWatch 等服務。如果您的應用程式已容器化，而且您的工程團隊偏好 Docker 容器，則建議使用 Amazon ECS。 

   1.  [https://aws.amazon.com/eks/](https://aws.amazon.com/eks/) 是全受管的 Kubernetes 服務。您可以選擇使用 AWS Fargate 執行 EKS 叢集，無須佈建和管理伺服器。管理 Amazon EKS 已簡化，因為與 AWS 服務整合，例如 Amazon CloudWatch、Auto Scaling 群組、AWS Identity and Access Management (IAM) 和 Amazon Virtual Private Cloud (VPC)。使用容器時，您必須使用運算指標，為工作負載選取最佳類型，類似於使用運算指標選取 EC2 或 AWS Fargate 執行個體類型的方式。如果您的應用程式已容器化，並且您的工程團隊偏好 Kubernetes 而不是 Docker 容器，則建議使用 Amazon EKS。 

   1.  您可以使用 [https://aws.amazon.com/lambda/](https://aws.amazon.com/lambda/) 執行程式碼，支援允許的執行時間、記憶體和 CPU 選項。只要上傳程式碼，AWS Lambda 就會管理程式碼執行和擴展所需的所有項目。您可以將程式碼設定為從其他 AWS 服務自動觸發或直接呼叫它。若是針對雲端開發且短期執行的微型服務架構，建議使用 Lambda。  

1.  在您已使用新的運算解決方案進行了試驗之後，請規劃您的遷移並驗證您的效能指標。這是持續程序，請參閱 [PERF02-BP04 透過適當調整大小來確定所需的組態](perf_select_compute_right_sizing.md)。

 **實作計劃的工作量：** 如果工作負載從某個運算解決方案移至另一個運算解決方案，則有一個 *中等* 工作量，其中涉及重構應用程式。   

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

 **相關文件：** 
+  [使用 AWS 進行雲端運算 ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [EC2 執行個體類型 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [EC2 執行個體的處理器狀態控制 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [EKS 容器：EKS 工作節點 ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Amazon ECS 容器：Amazon ECS 容器執行個體 ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [函數：Lambda 函數組態](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 
+  [容器的規範指引](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23containers&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 
+  [無伺服器的規範指引](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23serverless&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 

 **相關影片：** 
+  [如何為新創公司選擇運算選項](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) 
+  [優化 AWS 運算的效能和成本 (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Amazon EC2 基礎 (CMP211-R2) ](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [支援下一代 Amazon EC2：深入探討 Nitro 系統 ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [使用 AWS Inferentia (CMP324-R1) 提供高效能 ML 推斷 ](https://www.youtube.com/watch?v=17r1EapAxpk&ref=wellarchitected) 
+  [更好、更快、更便宜的運算：成本優化 Amazon EC2 (CMP202-R1) ](https://www.youtube.com/watch?v=_dvh4P2FVbw&ref=wellarchitected) 

 **相關範例：** 
+  [將 Web 應用程式遷移至容器](https://application-migration-with-aws.workshop.aws/en/container-migration.html) 
+  [執行 Serverless Hello World](https://aws.amazon.com/getting-started/hands-on/run-serverless-code/) 

# PERF02-BP02 了解可用的運算組態選項
<a name="perf_select_compute_config_options"></a>

 每個運算解決方案都有選項和組態，可供您支援工作負載特性。了解各種選項如何與您的工作負載互補，以及哪種組態選項最適合您的應用程式。這些選項的範例包括執行個體系列、大小、功能 (GPU、I/O)、爆量、逾時、函數大小、容器執行個體，以及並行。 

 **預期成果：** 包括 CPU、記憶體、網路輸送量、GPU、IOPS、流量模式和資料存取模式的工作負載特性會加以記錄，並用來設定運算解決方案以符合工作負載特性。其中每一個指標以及工作負載特有的自訂指標都會加以記錄、監控，然後用來優化運算組態以最好地符合要求。 

 **常用的反模式：** 
+  使用正用於內部部署的同一運算解決方案。 
+  未審查運算選項或執行個體系統以符合工作負載特性。 
+  使運算變得更大以確保爆量功能。 
+  您針對相同的工作負載使用多個運算管理平台。 

** 建立此最佳實務的優勢：** 熟悉 AWS 運算方案，才能為每個工作負載確定合適的解決方案。為工作負載選取運算方案之後，您可以快速試驗這些運算方案，以判斷其符合工作負載需求的程度。為符合工作負載特性而優化的運算解決方案將提高效能、降低成本並提升可靠性。

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

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

 如果您的工作負載已使用相同的運算選項超過四週，並且您預計特性未來仍將保持不變，您可以使用 [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 根據運算特性提供一個建議。如果 AWS Compute Optimizer 不是選項，起因於缺少指標、 [非支援的執行個體類型](https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html#requirements-ec2-instances) 或特性中可預測的變更，則您必須根據負載測試和試驗預測指標。  

 **實作步驟：** 

1.  您是否正在具有 EC2 啟動類型的 EC2 執行個體或容器上執行？ 

   1.  您的工作負載是否可以使用 GPU 提升效能？ 

      1.  [加速運算](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Accelerated_Computing) 執行個體是 GPU 型執行個體，可為機器學習培訓、推斷和高效能運算提供最高效能。 

   1.  您的工作負載是否執行機器學習推斷應用程式？ 

      1.  [AWS Inferentia (Inf1)](https://aws.amazon.com/ec2/instance-types/inf1/) — Inf1 執行個體專為支援機器學習推斷應用程式所建置。客戶可使用 Inf1，執行大型規模的機器學習推斷應用程式，例如影像辨識、語音辨識、自然語言處理、個人化以及詐騙偵測。您可以在 TensorFlow、PyTorch 或 MXNet 等其中一個常用機器學習架構中建立模型，並使用 GPU 執行個體來訓練模型。將機器學習模型訓練到符合需求之後，您可以使用 [AWS Neuron](https://aws.amazon.com/machine-learning/neuron/)在 Inf1 執行個體上部署模型，AWS Neuron 是一種專業的軟體開發套件 (SDK)，其中包含編譯器、執行時間和分析工具，可將 Inferentia 晶片的機器學習推斷效能優化。 

   1.  您的工作負載是否與低階硬體整合以改進效能？  

      1.  [可現場程式化閘道陣列 (FPGA)](https://aws.amazon.com/ec2/instance-types/f1/) — 使用 FPGA，您可以為要求最高的工作負載自訂硬體加速執行，進而優化您的工作負載。您可以利用支援的通用程式設計語言 (例如 C 或 Go)，或以硬體為導向的語言 (例如 Verilog 或 VHDL) 來定義演算法。 

   1.  您是否有至少四週的指標，並且可以預測您的流量模式和指標在未來仍大致相同？ 

      1.  使用 [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 取得哪個運算組態最符合運算特性的機器學習建議。 

   1.  您的工作負載效能是否受到 CPU 指標限制？  

      1.  [運算優化](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Compute_Optimized) 執行個體非常適合於需要高效處理器的工作負載。  

   1.  您的工作負載效能是否受到記憶體指標限制？  

      1.  [記憶體優化](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Memory_Optimized) 執行個體會提供大量記憶體，以支援記憶體密集工作負載。 

   1.  您的工作負載效能是否受到 IOPS 限制？ 

      1.  [儲存優化](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Storage_Optimized) 執行個體專為需要對本機儲存進行高循序讀寫存取 (IOPS) 的工作負載而設計。 

   1.  您的工作負載特性是否代表所有指標之間的平衡需求？ 

      1.  您的工作負載 CPU 是否需要爆量，以處理流量中的峰值？ 

         1.  [高載效能](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Instance_Features) 執行個體類似於運算優化執行個體，不同之處在於它們可讓您突破運算優化執行個體中所識別的固定 CPU 基準。 

      1.  [一般用途](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#General_Purpose) 執行個體提供所有特性的平衡，以支援各種工作負載。 

   1.  您的運算執行個體是否正在 Linux 上執行，並受到網路介面卡上的網路輸送量限制？ 

      1.  檢閱 [效能問題 5、最佳實務 2：評估可用的聯網功能](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/network-architecture-selection.html) 來找出正確的執行個體類型和系統，以符合您的効能需求。 

   1.  在您承諾使用一年的特定可用區域中，您的工作負載是否需要一致且可預測的執行個體？  

      1.  [預留執行個體](https://aws.amazon.com/ec2/pricing/reserved-instances/) 確認特定可用區域中的容量保留。預留執行個體非常適合於特定可用區域中所需的運算能力。  

   1.  您的工作負載是否具有需要專用硬體的授權？ 

      1.  [專用主機](https://aws.amazon.com/ec2/dedicated-hosts/) 支援現有的軟體授權，並協助您滿足合規需求。 

   1.  您的運算解決方案是否會爆量且需要同步處理？ 

      1.  [隨需執行個體](https://aws.amazon.com/ec2/pricing/on-demand/) 可讓您按小時或秒使用運算容量，無需長期承諾。這些執行個體適合於超過效能基準需求的爆量。 

   1.  您的運算解決方案為無狀態、容錯和非同步嗎？  

      1.  [Spot 執行個體](https://aws.amazon.com/ec2/spot/) 可讓您針對無狀態、容錯工作負載利用未用的執行個體容量。  

1.  您是否正在將容器執行於 [Fargate](https://aws.amazon.com/fargate/)？ 

   1.  您的任務效能是否受到記憶體或 CPU 限制？ 

      1.  使用 [任務大小](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-tasksize.html) 調整您的記憶體或 CPU。 

   1.  您的效能是否正受到流量模式爆量限制？ 

      1.  使用 [Auto Scaling](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-autoscaling.html) 組態來比對您的流量模式。 

1.  您的運算解決方案是否位於 [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-features.html)？ 

   1.  您是否有至少四週的指標，並且可以預測您的流量模式和指標在未來仍大致相同？ 

      1.  使用 [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 取得哪個運算組態最符合運算特性的機器學習建議。 

   1.  您沒有足夠的指標來使用 AWS Compute Optimizer 嗎？ 

      1.  如果您沒有可供 Compute Optimizer 使用的指標，請使用 [AWS Lambda Power Tuning](https://docs.aws.amazon.com/lambda/latest/operatorguide/profile-functions.html) 協助選取最佳組態。 

   1.  您的函數效能是否受到記憶體或 CPU 限制？ 

      1.  設定您的 [Lambda 記憶體](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) 來符合您的效能需求指標。 

   1.  您的函數在執行時是否逾時？ 

      1.  變更 [逾時設定](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html) 

   1.  您的函數效能是否受到活動和並行爆量限制？  

      1.  設定 [並行設定](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) 來符合您的效能要求。 

   1.  您的函數是否以非同步方式執行，並在重試時失敗？ 

      1.  在 [非同步組態](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) 設定中設定最長事件保留期限和最多重試次數限制。 

## 實作計劃的工作量： 
<a name="level-of-effort-for-the-implementation-plan-to-establish-this-best-practice-you-must-be-aware-of-your-current-compute-characteristics-and-metrics.-gathering-those-metrics-establishing-a-baseline-and-then-using-those-metrics-to-identify-the-ideal-compute-option-is-a-low-to-moderate-level-of-effort.-this-is-best-validated-by-load-tests-and-experimentation."></a>

若要建立此最佳實務，您必須注意目前運算特性和指標。收集這些指標、建立基準，然後使用這些指標來識別理想的運算選項為 *低* 至 *中等* 工作量。這最好由負載測試和試驗進行驗證。 

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

 **相關文件：** 
+  [使用 AWS 進行雲端運算 ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 
+  [EC2 執行個體類型 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [EC2 執行個體的處理器狀態控制 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [EKS 容器：EKS 工作節點 ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Amazon ECS 容器：Amazon ECS 容器執行個體 ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [函數：Lambda 函數組態](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 

 **相關影片：** 
+  [Amazon EC2 基礎 (CMP211-R2) ](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [支援下一代 Amazon EC2：深入探討 Nitro 系統 ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [優化 AWS 運算的效能和成本 (CMP323-R1) ](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **相關範例：** 
+  [在 Compute Optimizer 和記憶體使用率已啟用的情況下適當調整大小](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer 示範程式碼](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF02-BP03 收集與運算相關的指標
<a name="perf_select_compute_collect_metrics"></a>

若要了解運算資源的執行方式，您必須記錄和追蹤各種系統的使用率。此資料可用來更準確地判斷資源需求。  

 工作負載可以產生大量資料，例如指標、日誌和事件。判斷您現有的儲存、監控和可觀測性服務是否可以管理產生的資料。識別哪些指標反映資源使用率，並可在整個單一平台上進行收集、彙總和相互關聯。這些指標應該代表您的所有工作負載資源、應用程式和服務，以便您可以輕鬆地取得全系統可見性，並快速識別效能改進機會和問題。

 **預期成果：** 與運算相關資源相關的所有指標都會在單一平台上進行識別、收集、彙總和相互關聯，並實作保留以支援成本和營運目標。 

 **常用的反模式：** 
+  您只使用手動日誌檔案來搜尋指標。  
+  您只將指標發佈到內部工具。 
+  您只會使用所選監控軟體記錄的預設指標。 
+  您只會在有問題時檢閱指標。 

 

 **建立此最佳實務的優勢：** 若要監控工作負載的效能，您必須記錄一段時間的多個效能指標。這些指標可讓您偵測效能中的異常。它們也會協助針對業務指標衡量效能，以確保您符合工作負載需求。 

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

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

 識別、收集、彙總運算相關指標，並使其相互關聯。使用 Amazon CloudWatch 這類服務可讓實作更快且更輕鬆維護。除了記錄的預設指標外，還會在您的工作負載內識別和追蹤其他系統等級指標。記錄 CPU 利用率、記憶體、磁碟 I/O，以及網路傳入和傳出指標等資料，以洞悉使用率水平或瓶頸。此資料對於了解工作負載的執行方式，以及運算解決方案的使用方式至關重要。將這些指標納入資料驅動的方法，以主動調整和優化工作負載的資源。  

 **實作步驟：** 

1.  哪些運算解決方案指標務必要追蹤？ 

   1.  [EC2 預設指標](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) 

   1.  [Amazon ECS 預設指標](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html) 

   1.  [EKS 預設指標](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/kubernetes-eks-metrics.html) 

   1.  [Lambda 預設指標](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-access-metrics.html) 

   1.  [EC2 記憶體和磁碟指標](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 

1.  我目前是否具有核准的記錄和監控解決方案？ 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 

   1.  [適用於 OpenTelemetry 的 AWS Distro](https://aws.amazon.com/otel/) 

   1.  [適用於 Prometheus 的 Amazon 受管服務](https://docs.aws.amazon.com/grafana/latest/userguide/prometheus-data-source.html) 

1.  我是否已識別並設定我的資料保留策略，以符合我的安全和營運目標？ 

   1.  [CloudWatch 指標的預設資料保留](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [CloudWatch Logs 的預設資料保留](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

1.  如何部署您的指標和記錄彙總代理程式？ 

   1.  [AWS Systems Manager 自動化](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html?ref=wellarchitected) 

   1.  [OpenTelemetry 收集器](https://aws-otel.github.io/docs/getting-started/collector) 

 **實作計劃的工作量： **有一個 *中* 工作量，用來從所有運算資源識別、追蹤、收集、彙總指標，並使其相互關聯。 

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

 **相關文件：** 
+  [Amazon CloudWatch 文件](https://docs.aws.amazon.com/cloudwatch/index.html?ref=wellarchitected) 
+  [使用 CloudWatch Agent 從 Amazon EC2 執行個體和內部部署伺服器收集指標和日誌](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+  [存取 Amazon CloudWatch Logs 的 AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html?ref=wellarchitected) 
+  [搭配容器執行個體使用 CloudWatch Logs](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html?ref=wellarchitected) 
+  [發佈自訂指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html?ref=wellarchitected) 
+  [AWS Answers：集中式記錄](https://aws.amazon.com/answers/logging/centralized-logging/?ref=wellarchitected) 
+  [發佈 CloudWatch 指標的 AWS 服務](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html?ref=wellarchitected) 
+  [在 AWS Fargate 上監控 Amazon EKS](https://aws.amazon.com/blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) 

 

 **相關影片：** 
+  [AWS 上的應用程式效能管理](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [制定監控計劃](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 

 **相關範例：** 
+  [Level 100：使用 CloudWatch 儀表板進行監控](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Level 100：使用 CloudWatch 儀表板監控 Windows EC2 執行個體](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_windows_ec2_cloudwatch/) 
+  [Level 100：使用 CloudWatch 儀表板監控 Amazon Linux EC2 執行個體](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_linux_ec2_cloudwatch/) 

# PERF02-BP04 透過適當調整大小來確定所需的組態
<a name="perf_select_compute_right_sizing"></a>

 分析工作負載的各種效能特性，以及這些特性與記憶體、網路和 CPU 使用量的關係。使用此資料，可以選擇最適合您工作負載描述檔的資源。例如，執行個體的 R 系列可以為記憶體密集型工作負載 (例如資料庫) 提供最佳服務。不過，高載工作負載從彈性容器系統中獲益的程度更高。 

 **常用的反模式：** 
+  您可以選擇可用於所有工作負載的最大型執行個體。 
+  您可以將所有執行個體類型標準化為一種類型，以方便管理。 

 **建立此最佳實務的優勢：** 如果熟悉 AWS 運算方案，您可以為各種工作負載確定合適的解決方案。為工作負載選擇各種運算方案後，您就可以靈活快速地試驗這些運算方案，以判斷哪些方案符合工作負載需求。 

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

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

 透過適當調整大小來修改工作負載組態：若要同時最佳化效能和整體效率，請判斷工作負載所需的資源。對於比起 CPU 需要更多記憶體的系統，選擇記憶體優化的執行個體；或者為那些不耗用太多記憶體的資料處理元件，選擇運算優化的執行個體。適當調整大小可以讓您的工作負載在發揮出色效能的同時僅使用所需資源 

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

 **相關文件：** 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)  
+  [使用 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) 
+  [如何為新創公司選擇運算選項](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) 
+  [優化 AWS 運算的效能和成本 (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 

 **相關範例：** 
+  [在 Compute Optimizer 和記憶體使用率已啟用的情況下適當調整大小](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer 示範程式碼](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# 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) 

# PERF02-BP06 根據指標重新評估運算需求
<a name="perf_select_compute_use_metrics"></a>

 使用系統層級指標來確定工作負載隨時間的行為和要求。透過將可用資源與這些需求進行比較來評估您的工作負載需求，並對運算環境進行變更，以達到最適合工作負載描述檔的狀態。例如，隨著時間的流逝，系統可能會比最初想像的要消耗更多的記憶體，因此轉換到不同的執行個體系列或大小，可以同時提高效能和效率。 

 **常用的反模式：** 
+  您只需監控系統層級指標，即可深入了解工作負載。 
+  您會架構運算需求，以滿足尖峰工作負載要求。 
+  當移至新的運算解決方案將符合您的工作負載特性時，您可以使運算解決方案變得更大以符合擴展或效能要求。 

 **建立此最佳實務的優勢：** 若要最佳化效能和資源利用率，您需要取得整合操作檢視、即時精細資料和歷史參考。您可以建立自動化儀表板來視覺化此資料，並執行指標運算來獲得操作和使用率的洞見。 

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

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

 使用資料驅動的方法來優化資源：為了獲得最佳效能和效率，使用從工作負載中收集一段時間的資料來調整和優化資源。查看工作負載中當前資源的使用趨勢，並確定可以在何處進行變更以更好地滿足工作負載的需求。當資源過量使用時，系統效能會降低，而利用率不足則會導致資源使用效率低下和成本增加。 

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

 **相關文件：** 
+  [使用 AWS 進行雲端運算 ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 
+  [使用 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) 

 **相關範例：** 
+  [在 Compute Optimizer 和記憶體使用率已啟用的情況下適當調整大小](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer 示範程式碼](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF 3  您如何選取儲存解決方案？
<a name="w2aac19c11b5b9"></a>

 系統的最佳儲存解決方案會根據存取方法類型 (區塊、檔案或物件)、存取模式 (隨機或連續)、所需傳輸量、存取頻率 (線上、離線、封存)、更新頻率 (WORM、動態) 及可用性和耐用性限制而有所不同。Well-Architected 系統使用多重儲存解決方案，並啟用不同功能以提升效能並有效使用資源。 

**Topics**
+ [PERF03-BP01 了解儲存特性和要求](perf_right_storage_solution_understand_char.md)
+ [PERF03-BP02 評估可用的組態選項](perf_right_storage_solution_evaluated_options.md)
+ [PERF03-BP03 根據存取模式和指標制定決策](perf_right_storage_solution_optimize_patterns.md)

# PERF03-BP01 了解儲存特性和要求
<a name="perf_right_storage_solution_understand_char"></a>

 識別並記載工作負載儲存需求，並定義每個位置的儲存特性。儲存特性的範例包括：可共用的存取、檔案大小、成長率、輸送量、IOPS、延遲、存取模式，以及資料的持久性。請使用這些特性，評估區塊、檔案、物件或執行個體儲存服務對您的儲存需求而言是否為最有效的解決方案。 

 **預期成果：** 識別和記載儲存要求，並根據各項儲存要求評估可用的儲存解決方案。根據重要儲存特性，團隊將了解選取的儲存服務對於您的工作負載效能有何助益。重要準則包括資料存取模式、成長率、擴展需求，以及延遲要求。 

 **常見的反模式：** 
+  所有工作負載只能使用一種儲存類型，例如 Amazon Elastic Block Store (Amazon EBS)。 
+  您假設所有工作負載都有類似的儲存存取效能需求。 

 **建立此最佳實務的優勢：** 根據已識別和所需的特性選取儲存解決方案，可協助您改善工作負載效能、降低成本，以及減少維護工作負載所需的營運工作量。您的工作負載效能將因儲存服務的解決方案、組態和位置而提高。 

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

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

 確定對工作負載最重要的儲存效能指標，並使用基準化分析或負載測試將改善做為資料驅動方法的一部分實作。使用這些資料來確定您的儲存解決方案受限的地方，並檢查可以改善此解決方案的組態選項。判斷工作負載的預期增長率，並選擇符合這些增長率的儲存解決方案。研究 AWS 儲存產品，以判斷適用於各種工作負載需求的正確儲存解決方案。在 AWS 中佈建儲存解決方案可增加測試儲存產品的機會，以判斷產品是否適合您的工作負載需求。 


| AWS 服務 | 重要特性 | 常用案例 | 
| --- | --- | --- | 
| Amazon S3 |  99.999999999% 的耐久性、不受限的增長、可從任一處存取、基於存取和彈性有數種成本模型  |  雲端原生應用程式資料、資料封存、備份、分析、資料湖、靜態網站託管、IoT 資料   | 
| Amazon Glacier |  數秒到數小時的延遲、不受限的增長、最低的成本、長期儲存  |  資料封存、媒體封存、長期備份保留。  | 
| Amazon EBS | 儲存大小需要管理和監控、低延遲、持久性儲存、99.8% 到 99.9% 的耐久性，大部分的磁碟區類型只能從一個 EC2 執行個體來存取。 |  COTS 應用程式、I/O 密集型應用程式、關聯式和 NoSQL 資料庫、備份與復原  | 
| EC2 執行個體存放區 |  預先決定的儲存大小、最低的延遲、不保存、只能從一個 EC2 執行個體存取  |  COTS 應用程式、I/O 密集型應用程式、記憶體內資料存放區  | 
| Amazon EFS |  99.999999999% 的耐久性、不受限的增長、可供多個運算服務存取  |  在多個運算服務間共用檔案的現代化應用程式、用來擴展內容管理系統的檔案儲存  | 
| Amazon FSx |  支援四種檔案系統 (NetApp、OpenZFS、Windows File Server 和 Amazon FSx for Lustre)，每個檔案系統適用的儲存體各不相同，可供多個運算服務存取  |  雲端原生工作負載、私有雲端爆量、需要特定檔案系統的已遷移工作負載、VMC、ERP 系統、內部部署檔案儲存與備份   | 
| Snow Family |  可攜式裝置、256 位元加密、NFS 端點、內建運算、TB 級的儲存容量  |  將資料遷移至雲端儲存，並且在極端內部部署的條件、災難復原、遠端資料收集中運算  | 
| AWS Storage Gateway |  對採用雲端技術的儲存體、全受管的內部部署快取提供低延遲的內部部署存取   |  將內部部署資料遷移至雲端、從內部部署來源填入雲端資料湖、現代化檔案共用。  | 

 **實作步驟：** 

1. 使用基準化分析或負載測試收集您儲存需求的重要特性。重要特性包括： 

   1. 可共用 (哪些元件會存取此儲存體) 

   1. 成長率 

   1. 輸送量 

   1. 延遲 

   1. I/O 大小 

   1. 耐久性 

   1. 存取模式 (讀取/寫入、頻率、激增或一致) 

1. 識別哪種類型的儲存解決方案支援您的儲存特性。

   1. [Amazon S3](https://aws.amazon.com/s3/) 是一項物件儲存服務，具有不受限的可擴展性、高可用性，以及多個可存取性選項。對 Amazon S3 輸入和存取物件時，可以使用服務 (例如 [Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) 或 [存取點](https://aws.amazon.com/s3/features/access-points/) ) 來支援您的位置、安全需求和存取模式。使用 [Amazon S3 效能指導方針](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-guidelines.html) 協助您優化 Amazon S3 組態，以符合您的工作負載效能需求。

   1. [Amazon Glacier](https://aws.amazon.com/s3/storage-classes/glacier/) 是針對資料封存而建置的 Amazon S3 儲存類別。您有三種封存解決方案可供選擇，存取速度從數毫秒到 5-12 小時都有，且有不同的成本與安全選項。Amazon Glacier 可讓您實作支援個人商業需要和資料特性的資料生命週期，以利符合效能要求。 

   1. [Amazon Elastic Block Store (Amazon EBS)](https://aws.amazon.com/ebs/) 是專為 Amazon Elastic Compute Cloud (Amazon EC2) 而設計的高效能區塊儲存服務。您可以選擇 [SSD 或 HDD 型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) 解決方案，兩者各有不同特性，分別側重於 [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/provisioned-iops.html) 或 [輸送量](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hdd-vols.html)。EBS 磁碟區非常適用於高效能工作負載，是只能存取連結階段系統的檔案系統、資料庫或應用程式的主要儲存。

   1. [Amazon EC2 執行個體存放區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) 類似於 Amazon EBS，同樣也連結至一個 Amazon EC2 執行個體，但執行個體存放區只是暫時性的儲存體，理想情況下應作為緩衝區、快取或其他暫時性內容使用。您無法將執行個體存放區中斷連結，且若執行個體關閉，所有資料都將遺失。執行個體存放區可用於資料無需持續保存的高 I/O 效能與低延遲使用案例。 

   1. [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) 是一個可掛載的檔案系統，可供多種類型的運算解決方案存取。Amazon EFS 會自動增長及縮減儲存體，解已進行效能優化而提供一致的低延遲。EFS 有 [兩種效能組態模式](https://docs.aws.amazon.com/efs/latest/ug/performance.html)：一般用途和最大 I/O。「一般用途」的讀取延遲低於 1 毫秒，寫入延遲則低於 10 毫秒。「最大 I/O」功能可支援數千個需要共用檔案系統的運算執行個體。Amazon EFS 支援 [兩種輸送量模式](https://docs.aws.amazon.com/efs/latest/ug/managing-throughput.html)：高載和佈建。經歷激增存取模式的工作負載將可獲益於高載輸送量模式，而持續偏高的工作負載則可在佈建輸送量模式下保有高效能。

   1. [Amazon FSx](https://aws.amazon.com/fsx/) 建置於最新的 AWS 運算解決方案之上，用以支援四個常用的檔案系統：NetApp ONTAP、OpenZFS、Windows File Server 和 Lustre。Amazon FSx [延遲、輸送量和 IOPS](https://aws.amazon.com/fsx/when-to-choose-fsx/) 會隨著檔案系統而不同，當您為工作負載需求選取適當的檔案系統時，應予以考量。

   1. [AWS Snow Family](https://aws.amazon.com/snow/) 是一種儲存和運算裝置，支援以雲端為目標的線上和離線資料遷移，以及內部部署的資料儲存與運算。AWS Snow 裝置支援大量收集內部部署資料、處理該資料，以及將該資料移至雲端。在談到檔案數量、檔案大小和壓縮時， [有幾項列載於文件中的效能最佳實務](https://docs.aws.amazon.com/snowball/latest/developer-guide/performance.html) 可供參考。

   1. [AWS Storage Gateway](https://aws.amazon.com/storagegateway/) 提供內部部署應用程式對雲端架構儲存體的存取。AWS Storage Gateway 支援多個雲端儲存服務，包括 Amazon S3、Amazon Glacier、Amazon FSx 和 Amazon EBS。此外也支援多種通訊協定，例如 iSCSI、SMB 和 NFS。它會藉由在內部快取經常存取的資料來提供低延遲的效能，並且只會將有所變更和已壓縮的資料傳送至 AWS。

1. 在您體驗過新的儲存解決方案並且找出最佳組態之後，請規劃您的遷移並驗證您的效能指標。這是連續性的程序，且在重要特性變更時，或是可用的服務或選項變更時，應重新評估。

 **實作計劃的工作量： **如果工作負載從某個儲存解決方案移至另一個解決方案，可能會有 *中等* 工作量涉及重構應用程式。   

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

 **相關文件：** 
+  [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Amazon EC2 儲存](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS：Amazon EFS 效能](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre 效能](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server 效能](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+ [Amazon FSx for NetApp ONTAP 效能](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/performance.html)
+ [Amazon FSx for OpenZFS 效能](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html)
+  [Amazon Glacier：Amazon Glacier 文件](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3：請求率和效能考量](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [AWS 的雲端儲存](https://aws.amazon.com/products/storage/) 
+ [AWS Snow Family](https://aws.amazon.com/snow/#Feature_comparison)
+  [EBS I/O 特性](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **相關影片：** 
+  [深入探討 Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [使用 Amazon S3 優化儲存效能 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **相關範例：** 
+  [Amazon EFS CSI 驅動程式](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI 驅動程式](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS 公用程式](https://github.com/aws/efs-utils) 
+  [Amazon EBS 自動擴展](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Amazon S3 範例](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+ [Amazon FSx for Lustre Container Storage Interface (CSI) 驅動程式](https://github.com/kubernetes-sigs/aws-fsx-csi-driver)

# PERF03-BP02 評估可用的組態選項
<a name="perf_right_storage_solution_evaluated_options"></a>

 評估各種特性和組態選項，以及它們與儲存的關係。了解如何在何處使用佈建 IOPS、SSD、磁帶儲存、物件儲存、存檔儲存或暫時性儲存，以優化工作負載的儲存空間和效能。 

 [Amazon EBS](https://aws.amazon.com/ebs) 提供了各種選項，可讓您優化工作負載的儲存效能和成本。這些選項分為兩大類：適用於交易工作負載 (例如資料庫和開機磁碟區) 且支援 SSD 的儲存 (效能主要取決於 IOPS)；以及適用於輸送量密集型工作負載 (例如 MapReduce 和日誌處理) 且支援 HDD 的儲存 (效能主要取決於 MB/s)。 

 支援 SSD 的磁碟區包括適用於延遲敏感的交易工作負載的最高效能佈建 IOPS SSD 和可使各種交易資料的價格和效能之間達到平衡的一般用途 SSD。 

 [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) 可以在用戶端和 S3 儲存貯體之間快速進行遠距離檔案傳輸。Transfer Acceleration 利用了 Amazon CloudFront 分散於全球的節點，以將資料路由至優化的網路路徑。對於 S3 儲存貯體中具有大量 GET 請求的工作負載，請將 Amazon S3 與 CloudFront 搭配使用。上傳大型檔案時，請使用分段上傳，同時上傳多個組件以協助最大化網路輸送量。 

 [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) 提供簡單、可擴展、全受管的彈性 NFS 檔案系統，可與 AWS 雲端服務和內部部署資源搭配使用。為了支援各式各樣的雲端儲存工作負載，Amazon EFS 提供兩種效能模式：一般用途效能模式和最高 I/O 效能模式。針對檔案系統，提供兩種傳輸量模式供您選擇：爆量傳輸量和佈建傳輸量。若要判斷工作負載適用的設定，請參閱 [Amazon EFS 使用者指南](https://docs.aws.amazon.com/efs/latest/ug/performance.html)。 

 [Amazon FSx](https://aws.amazon.com/fsx/) 提供四種檔案系統供您選擇： [Amazon FSx for Windows File Server](https://aws.amazon.com/fsx/windows/) (適用於企業工作負載)、 [Amazon FSx for Lustre](https://aws.amazon.com/fsx/lustre/) (適用於高效能工作負載)、 [Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/index.html) (適用於 NetApps 熱門 ONTAP 檔案系統)，以及 [Amazon FSx for OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) (適用於 Linux 型檔案伺服器)。FSx 支援 SSD，旨在提供快速、可預測、可擴展和一致的效能。Amazon FSx 檔案系統提供持續的高讀寫速度，以及一致的低延遲資料存取。您可以選擇所需的輸送量等級，以符合工作負載的需求。 

 **常用的反模式：** 
+  所有工作負載只能使用一種儲存類型，例如 Amazon EBS。 
+  您為所有工作負載使用已佈建的 IOPS，卻未針對所有儲存層進行實際測試。 
+  您假設所有工作負載都有類似的儲存存取效能需求。 

 **建立此最佳實務的優勢：** 評估所有儲存服務選項可降低基礎設施成本和維護工作負載所需的工作量。這可能會加速部署新服務和功能的交期。 

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

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

 判斷儲存特性：評估儲存解決方案時，判斷您需要的儲存特性，例如共用能力、檔案大小、快取大小、延遲、輸送量和資料的持久性。然後，將您的需求比對最符合您需求的 AWS 服務。 

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

 **相關文件：** 
+  [AWS 的雲端儲存](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Amazon EC2 儲存](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS：Amazon EFS 效能](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre 效能](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server 效能](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier：Amazon Glacier 文件](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3：請求率和效能考量](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [AWS 的雲端儲存](https://aws.amazon.com/products/storage/) 
+  [AWS 的雲端儲存](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [EBS I/O 特性](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **相關影片：** 
+  [深入探討 Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [使用 Amazon S3 優化儲存效能 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **相關範例：** 
+  [Amazon EFS CSI 驅動程式](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI 驅動程式](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS 公用事業](https://github.com/aws/efs-utils) 
+  [Amazon EBS 自動擴展](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Amazon S3 範例](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 

# PERF03-BP03 根據存取模式和指標制定決策
<a name="perf_right_storage_solution_optimize_patterns"></a>

 根據工作負載的存取模式選擇儲存系統，並透過決定工作負載存取資料的方式來設定儲存系統。選擇物件儲存而不是區塊儲存，以提高儲存效率。設定您選擇的儲存選項以匹配資料存取模式。 

 您存取資料的方式會影響儲存解決方案的執行方式。選擇最適合您的存取模式的儲存解決方案，或者考慮變更存取模式，以符合儲存解決方案，從而最大化效能。 

 建立 RAID 0 陣列可讓您實現比在單一磁碟區上佈建的檔案系統更高的效能。當 I/O 效能比容錯能力更重要時，請考慮使用 RAID 0。例如，您可以將其與頻繁使用的資料庫 (其資料複寫已獨立設定) 搭配使用。 

 針對工作負載使用的所有儲存選項，為您的工作負載選取適當的儲存指標。當使用的檔案系統使用爆量額度時，請建立警示，以便在即將接近額度限制時告知您。您必須建立儲存儀表板，以顯示整體工作負載儲存體運作狀態。 

 對於固定大小的儲存系統 (例如 Amazon EBS 或 Amazon FSx)，請確保監控使用的儲存量佔整體儲存大小的比例，並在達到閾值時建立自動化 (如可能) 以增加儲存大小 

 **常用的反模式：** 
+  您假設在客戶未投訴的情況下，儲存效能即已足敷使用。 
+  您只使用一個存儲層 – 假設所有工作負載都適合該層。 

 **建立此最佳實務的優勢：** 您需要取得整合操作檢視、即時精細資料和歷史參考，以優化效能和資源使用率。您可以建立 1 秒精細度的自動儀表板和資料，以對資料執行指標運算，並獲得儲存需求的操作和使用率洞見。 

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

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

 優化您的儲存使用和存取方式：根據工作負載的存取模式和可用儲存選項的特性選擇儲存系統。確定儲存資料的最佳位置，這將讓您能夠滿足您的要求，同時減少開銷。在設定和與資料互動時，根據儲存的特性利用效能優化和存取模式 (例如，對儲存磁碟區進行條帶化或對資料進行分割)。 

 為儲存選項選取適當的指標：確保為工作負載選取適當的儲存指標。每個儲存選項提供各種指標來追蹤工作負載在一段時間內的執行狀況。確保針對任何儲存高載指標進行測量 (例如監控 Amazon EFS 的爆量額度)。對於大小固定的儲存系統，例如 Amazon Elastic Block Store 或 Amazon FSx，請確保您監控的是使用儲存量與整體儲存大小的比較情況。儘可能建立自動化以在達到閾值時增加儲存大小。 

 監控指標：Amazon CloudWatch 可以收集架構中各種資源的指標。您還可以收集和發佈自訂指標以顯示業務或衍生指標。使用 CloudWatch 或第三方解決方案來設定可指出何時超過閾值的警示。 

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

 **相關文件：** 
+  [Amazon EBS 磁碟區類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Amazon EC2 儲存](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS：Amazon EFS 效能](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Amazon FSx for Lustre 效能](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server 效能](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier：Amazon Glacier 文件](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3：請求率和效能考量](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [AWS 的雲端儲存](https://aws.amazon.com/products/storage/) 
+  [EBS I/O 特性](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [使用 Amazon CloudWatch 監控和了解 Amazon EBS 效能](https://aws.amazon.com/blogs/storage/valuable-tips-for-monitoring-and-understanding-amazon-ebs-performance-using-amazon-cloudwatch/) 

 **相關影片：** 
+  [深入探討 Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [使用 Amazon S3 優化儲存效能 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **相關範例：** 
+  [Amazon EFS CSI 驅動程式](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Amazon EBS CSI 驅動程式](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Amazon EFS 公用事業](https://github.com/aws/efs-utils) 
+  [Amazon EBS 自動擴展](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Amazon S3 範例](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 

# PERF 4  您如何選擇資料庫解決方案？
<a name="w2aac19c11b5c11"></a>

 系統的最佳資料庫解決方案可能會依可用性、一致性、分割容錯度、延遲、耐用性、可擴展性及查詢能力的需求而有所不同。許多系統針對不同子系統使用不同資料庫解決方案，並啟用不同功能以提升效能。為系統選錯資料庫解決方案和功能，可能使效能達成效率降低。 

**Topics**
+ [PERF04-BP01 了解資料特性](perf_right_database_solution_understand_char.md)
+ [PERF04-BP02 評估可用選項](perf_right_database_solution_evaluate_options.md)
+ [PERF04-BP03 收集並記錄資料庫效能指標](perf_right_database_solution_collect_metrics.md)
+ [PERF04-BP04 根據存取模式選擇資料儲存](perf_right_database_solution_access_patterns.md)
+ [PERF04-BP05 根據存取模式和指標優化資料儲存](perf_right_database_solution_optimize_metrics.md)

# PERF04-BP01 了解資料特性
<a name="perf_right_database_solution_understand_char"></a>

 選擇您的資料管理解決方案，以最佳方式符合工作負載資料集的特性、存取模式和要求。在選取和實作資料管理解決方案時，您必須確保查詢、擴展和儲存特性支援工作負載資料要求。了解各種資料庫選項如何符合您的資料模型，以及哪些組態選項最適合您的使用案例。  

 AWS 提供眾多資料庫引擎，包括關聯式、鍵值、文件、記憶體內、圖形、時間序列和總帳資料庫。每個資料管理解決方案都有選項和組態，可供您支援使用案例和資料模型。您的工作負載能夠根據資料特性使用數個不同的資料庫解決方案。藉由選取特定問題的最佳資料庫解決方案，您可以擺脫整合型資料庫，這些資料庫採用一體適用的方法，但此方法有限制性，並專注於管理資料以符合客戶的需求。 

 **預期成果：** 工作負載資料特性會加以記錄，並提供足夠的詳細資訊，以利於選取和設定支援的資料庫解決方案，而且這些特性可讓您洞悉潛在的替代方案。 

 **常用的反模式：** 
+  未考慮將大型資料集分割成具有類似特性之較小資料集合的方法，這會導致錯失使用更多專用資料庫，更好地符合資料和成長特性的機會。 
+  未預先識別資料存取模式，這會導致稍後進行昂貴且複雜的修改。 
+  使用不會視需要快速擴展的資料儲存策略來限制成長 
+  為所有工作負載選擇一個資料庫類型和廠商。 
+  堅持使用某個資料庫解決方案，因為對某種特定類型的資料庫解決方案具有內部經驗和知識。 
+  保留資料庫解決方案，因為它在內部部署環境中運作良好。 

 **建立此最佳實務的優勢：** 熟悉所有 AWS 資料庫解決方案，以便您可以判斷適合各種工作負載的正確資料庫解決方案。為工作負載選取適當的資料庫解決方案之後，您可以快速試驗每個資料庫產品，以判斷它們是否能繼續滿足您的工作負載需求。 

 **若未建立此最佳實務，暴露的風險等級：** 高 
+  可能未識別潛在的節省成本。 
+  可能無法將資料保護到所需的等級。 
+  資料存取和儲存效能可能不是最佳的。 

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

 定義工作負載的資料特性和存取模式。檢閱所有可用的資料庫解決方案來識別哪個解決方案支援您的資料要求。在特定工作負載內，可能選取多個資料庫。評估每個服務或服務群組，並個別存取它們。如果針對部分或全部資料識別了潛在的替代資料管理解決方案，請嘗試可能解開成本、安全性、效能和可靠性優勢的替代實作。如果採用新的資料管理方式，請更新現有文件。 


|  **類型**  |  **AWS 服務**  |  **重要特性**  |  **常見的使用案例**  | 
| --- | --- | --- | --- | 
|  關聯式  |  Amazon RDS、Amazon Aurora  |  參考完整性、ACID 交易、寫入時的結構描述  |  ERP、CRM、商務現成軟體  | 
|  鍵值  |  Amazon DynamoDB  |  高輸送量、低延遲、近乎無限可擴展性  |  購物車 (商務)、產品型錄、聊天應用程式  | 
|  文件  |  Amazon DocumentDB  |  儲存 JSON 文件並查詢任何屬性  |  內容管理 (CMS)、客戶設定檔、行動應用程式  | 
|  記憶體內  |  Amazon ElastiCache、Amazon MemoryDB  |  微秒延遲  |  快取、遊戲排行榜  | 
|  圖形  |  Amazon Neptune  |  高度關聯式資料，其中資料之間的關係有意義  |  社交網路、個人化引擎、詐騙偵測  | 
|  時間序列  |  Amazon Timestream  |  其中主要維度為時間的資料  |  DevOps、IoT、監控  | 
|  寬欄  |  Amazon Keyspaces  |  Cassandra 工作負載。  |  產業設備維護、路由優化  | 
|  總帳  |  Amazon QLDB  |  不可變且可加密驗證的變更總帳  |  記錄、醫療保健、供應鏈、金融機構的系統  | 

 **實作步驟** 

1.  如何建構資料？(例如，非結構化、鍵值、半結構化、關聯式) 

   1.  如果資料是非結構化，請考慮物件存放區，例如 [Amazon S3](https://aws.amazon.com/products/storage/data-lake-storage/) 或 NoSQL 資料庫，例如 [Amazon DocumentDB。](https://aws.amazon.com/documentdb/) 

   1.  若為鍵值資料，請考慮 [DynamoDB](https://aws.amazon.com/documentdb/)， [ElastiCache for Redis](https://aws.amazon.com/elasticache/redis/) 或 [MemoryDB。](https://aws.amazon.com/memorydb/) 

   1.  如果資料具有關聯式結構，需要哪個層級的參考完整性。 

      1.  針對外部索引鍵限制，關聯式資料庫 (例如 [Amazon RDS](https://aws.amazon.com/rds/) 和 [Aurora](https://aws.amazon.com/rds/aurora/) ) 可以提供此層級的完整性。 

      1.  通常，在 NoSQL 資料模型內，您會將資料去正規化為單一文件或文件集合，以便可在單一請求中擷取，而不是跨文件或資料表聯結。  

1.  需要 ACID (單元性、一致性、隔離行為、持續性) 合規嗎？ 

   1.  如果需要與關聯式資料庫相關聯的 ACID 屬性，請考慮關聯式資料庫，例如 [Amazon RDS](https://aws.amazon.com/rds/) 和 [Aurora。](https://aws.amazon.com/rds/aurora/) 

1.  需要哪個一致性模式？ 

   1.  如果您的應用程式可以容忍最終一致性，請考慮 NoSQL 實作。檢閱其他特性以協助選擇哪個 [NoSQL 資料庫](https://aws.amazon.com/nosql/) 最適用。 

   1.  如果需要高度一致性，您可以使用高度一致性讀取，搭配 [DynamoDB](https://aws.amazon.com/documentdb/) 或關聯式資料庫，例如 [Amazon RDS](https://aws.amazon.com/rds/)。 

1.  必須支援哪些查詢和結果格式？(例如，SQL、CSV、Parque、Avro、JSON 等) 

1.  存在哪些資料類型、欄位大小和整體數量？(例如，文字、數字、空間、已計算的時間序列、二進位或 Blob 文件) 

1.  儲存要求如何隨時間變更？ 這如何影響可擴展性？ 

   1.  無伺服器資料庫，例如 [DynamoDB](https://aws.amazon.com/documentdb/) 和 [Amazon Quantum Ledger Database](https://aws.amazon.com/qldb/) ，將自動擴增至近乎無限的儲存。 

   1.  關聯式資料庫在佈建的儲存上具有上限，一旦達到這些限制，通常必須透過碎片化這類機制進行水平分割。 

1.  讀取查詢與寫入查詢的比例是多少？ 快取可能改善效能嗎？ 

   1.  包含大量讀取作業的工作負載可以從快取層中受益，這可以是 [ElastiCache](https://aws.amazon.com/elasticache/) 或 [DAX](https://aws.amazon.com/dynamodb/dax/) 如果資料庫是 DynamoDB。 

   1.  讀取也可以卸載至具有關聯式資料庫的讀取複本，例如 [Amazon RDS](https://aws.amazon.com/rds/)。 

1.  儲存和修改 (OLTP - 線上交易處理) 或擷取和報告 (OLAP - 線上分析處理) 是否具有更高的優先順序？ 

   1.  如需高輸送量交易處理，請考慮 NoSQL 資料庫，例如 DynamoDB 或 Amazon DocumentDB。 

   1.  如需分析查詢，請考慮單欄式資料庫，例如 [Amazon Redshift](https://aws.amazon.com/redshift/) 或將資料匯出至 Amazon S3 並執行分析，方法為使用 [Athena](https://aws.amazon.com/athena/) 或 [QuickSight。](https://aws.amazon.com/quicksight/) 

1.  此資料的敏感程度，以及其需要哪個等級的保護和加密？ 

   1.  所有 Amazon RDS 和 Aurora 都支援使用 AWS KMS 進行靜態資料加密。Microsoft SQL Server 和 Oracle 也會在使用 Amazon RDS 時支援原生透明資料加密 (TDE)。 

   1.  針對 DynamoDB，您可以使用更精細的存取控制，搭配 [IAM](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-overview.html) 控制誰可以存取金鑰等級的哪些資料。 

1.  資料需要哪個等級的耐久性？ 

   1.  Aurora 會自動跨區域內的三個可用區域複寫您的資料，這表示您的資料可以耐久，因而資料遺失的機會降低。 

   1.  DynamoDB 會自動跨多個可用區域進行複寫，這會提供高可用性和資料耐久性。 

   1.  Amazon S3 提供 99.999999999% 耐久性。許多資料庫服務 (例如 Amazon RDS 和 DynamoDB) 支援將資料匯出至 Amazon S3，進行長期保留和封存。 

1.  復原時間目標 (RTO) [或復原點目標 (RPO)](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/plan-for-disaster-recovery-dr.html) 要求是否影響解決方案？ 

   1.  Amazon RDS、Aurora、DynamoDB、Amazon DocumentDB 和 Neptune 全都支援時間點復原，以及隨需備份和還原。  

   1.  針對高可用性要求，可以全域複寫 DynamoDB 資料格，方法為使用 [全域資料表](https://aws.amazon.com/dynamodb/global-tables/) 功能，而且可以使用全域資料庫功能。跨多個區域複寫 Aurora 叢集。此外，還可以使用跨區域複寫，跨 AWS 區域 複寫 S3 儲存貯體。  

1.  是否希望擺脫商務資料庫引擎/授權成本？ 

   1.  考慮開放原始碼引擎，例如 Amazon RDS 或 Aurora 上的 PostgreSQL 和 MySQL 

   1.  利用 [AWS DMS](https://aws.amazon.com/dms/) 和 [AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/) 從商務資料庫引擎遷移至開放原始碼 

1.  對資料庫的操作期望是什麼？ 移至受管服務是否為主要問題？ 

   1.  利用 Amazon RDS 而非 Amazon EC2 和 DynamoDB，或利用 Amazon DocumentDB 而非自行託管 NoSQL 資料庫，可以降低營運負擔。 

1.  目前如何存取資料庫？ 它是否只是應用程式存取，或是否有商業智能 (BI) 使用者和其他連網的現成應用程式？ 

   1.  如果您依賴外部工具，則可能必須維護與其所支援資料庫的相容性。Amazon RDS 完全與其支援的不同引擎版本相容，包括 Microsoft SQL Server、Oracle、MySQL 和 PostgreSQL。 

1.  下列是潛在資料管理服務的清單，以及最能在哪裡使用這些服務： 

   1.  關聯式資料庫會使用預先定義的結構描述和它們之間的關係來儲存資料。這些資料庫旨在支援 ACID (單元性、一致性、隔離行為、持續性) 交易，並維護參考完整性和強大的資料一致性。許多傳統應用程式、企業資源規劃 (ERP)、客戶關係管理 (CRM) 和電子商務都使用關聯式資料庫來儲存資料。您可以在 Amazon EC2 上執行許多資料庫引擎，或選擇其中一種 AWS 受管  [資料庫服務](https://aws.amazon.com/products/databases/)： [Amazon Aurora](https://aws.amazon.com/rds/aurora)、 [Amazon RDS](https://aws.amazon.com/rds)和 [Amazon Redshift](https://aws.amazon.com/redshift)。 

   1.  鍵值資料庫已針對常見的存取模式進行優化，通常用於儲存和擷取大量資料。即使有極大量的並行請求，這些資料庫也能提供快速回應。高流量 Web 應用程式、電子商務系統和遊戲應用程式是鍵值資料庫的典型使用案例。在 AWS 中，您可以利用 [Amazon DynamoDB](https://aws.amazon.com/dynamodb/)，這是一個全受管、多區域、多主機、耐用的資料庫，針對網際網路規模的應用程式提供內建安全性、備份和還原以及記憶體內快取。 

   1.  記憶體內資料庫適用於需要即時存取資料、最低延遲和最高輸送量的應用程式。透過將資料直接儲存在記憶體中，這些資料庫可為應用程式提供微秒延遲，因為毫秒延遲不足以因應其需求。您可以將記憶體內資料庫用於應用程式快取、工作階段管理、遊戲排行榜和地理空間應用程式。 [Amazon ElastiCache](https://aws.amazon.com/elasticache/) 是全受管的記憶體內資料存放區，與 [Redis](https://aws.amazon.com/elasticache/redis/) 或 [Memcached](https://aws.amazon.com/elasticache/memcached)。若應用程式也需要更高的耐久性要求， [Amazon MemoryDB for Redis](https://aws.amazon.com/memorydb/) 會將其結合為耐久的記憶體內資料庫服務，以取得超快效能。 

   1.  文件資料庫旨在將半結構化資料儲存為 JSON 類文件。這些資料庫可協助開發人員快速建置和更新應用程式，例如內容管理、目錄和使用者設定檔。 [Amazon DocumentDB](https://aws.amazon.com/documentdb/) 是快速、可擴展、高度可用且全受管的文件資料庫服務，可支援 MongoDB 工作負載。 

   1.  寬欄存放區是一種 NoSQL 資料庫類型。它使用表格、列和欄，但與關聯式資料庫不同，在同一個表格中，欄的名稱和格式會因列而異。您通常會在大規模工業應用程式中看到寬欄存放區，用於設備維護、叢集管理和路由優化。 [Amazon Keyspaces (適用於 Apache Cassandra)](https://aws.amazon.com/mcs/) 是寬欄的可擴展、高度可用且受管的 Apache Cassandra 相容資料庫服務。 

   1.  圖形資料庫適用此類應用程式：必須在高度連線圖形資料集之間，大規模導覽和查詢數百萬個關係，並且只有毫秒延遲。許多公司使用圖形資料庫進行詐騙偵測、社交聯網和推薦引擎。 [Amazon Neptune](https://aws.amazon.com/neptune/) 是快速、可靠、全受管的圖形資料庫服務，可讓您輕鬆建立和執行搭配高度連線資料集使用的應用程式。 

   1.  時間序列資料庫可有效率地從隨時間變化的資料收集、合成和衍生洞見。IoT 應用程式、DevOps 和工業遙測可以利用時間序列資料庫。 [Amazon Timestream](https://aws.amazon.com/timestream/) 是適用於 IoT 和操作應用程式的快速、可擴展、全受管時間序列資料庫服務，每天可輕鬆儲存和分析數兆個事件。 

   1.  總帳資料庫提供集中化且受信任的機構，為每個應用程式維護可擴展、不可變且以密碼編譯方式驗證的交易記錄。我們會看到用於記錄、供應鏈、註冊甚至銀行交易系統的總帳資料庫。 [Amazon Quantum Ledger Database (Amazon QLDB)](https://aws.amazon.com/qldb/) 是全受管總帳資料庫，提供透明、不可變且可加密驗證的交易日誌，由集中式信任的授權單位所擁有。Amazon QLDB 會追蹤每個應用程式資料變更，並維護一段時間內完整且可驗證的變更歷史記錄。 

 **實作計劃的工作量： **如果工作負載從某個資料庫解決方案移至另一個資料庫解決方案，則有一個 *高* 工作量，其中涉及重構資料和應用程式。   

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

 **相關文件：** 
+  [AWS 的雲端資料庫 ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [AWS 資料庫快取 ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Amazon Aurora 最佳實務 ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Amazon Redshift 效能 ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [Amazon Athena 10 大效能秘訣 ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Amazon Redshift Spectrum 最佳實務 ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Amazon DynamoDB 最佳實務](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 
+  [在 EC2 與 Amazon RDS 之間選擇](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/comparison.html) 
+  [實作 Amazon ElastiCache 的最佳實務](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 

 **相關影片：** 
+ [AWS 專用資料庫 (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+ [探究 Amazon Aurora 儲存的奧秘：運作方式 (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+ [深入探討 Amazon DynamoDB：進階設計模式 (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **相關範例：** 
+  [使用 Amazon Redshift 資料共用來優化資料模式](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [資料庫遷移](https://github.com/aws-samples/aws-database-migration-samples) 
+  [MS SQL Server - AWS Database Migration Service (DMS) 複寫示範](https://github.com/aws-samples/aws-dms-sql-server) 
+  [資料庫現代化實際操作研討會](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Amazon Neptune 範例](https://github.com/aws-samples/amazon-neptune-samples) 

# PERF04-BP02 評估可用選項
<a name="perf_right_database_solution_evaluate_options"></a>

 了解可用的資料庫選項，以及這些選項如何在您選取資料管理解決方案之前優化您的效能。使用負載測試，識別對您的工作負載而言很重要的資料庫指標。在探索資料庫選項時，請考慮各種層面，例如參數群組、儲存選項、記憶體、運算、讀取複本、最終一致性、連線集區，以及快取選項。嘗試使用這些不同的組態選項來改善指標。 

 **預期成果：** 一個工作負載可以具有一或多個根據資料類型使用的資料庫解決方案。資料庫功能和優勢完美符合資料特性、存取模式和工作負載要求。要優化資料庫效能和成本，您必須評估資料存取模式，以判斷適當的資料庫選項。評估可接受的查詢時間，以確保選取的資料庫選項可以符合要求。 

 **常用的反模式：** 
+  未識別資料存取模式。 
+  未意識到所選資料庫管理解決方案的組態選項。 
+  僅依靠增加執行個體大小，而不查看其他可用的組態選項。 
+  未測試所選解決方案的擴展特性。 

 

 **建立此最佳實務的優勢：** 藉由探索和嘗試使用資料庫選項，您能夠降低基礎設施成本、改善效能和可擴展性，以及減少維護工作負載所需的工作量。 

 **若未建立此最佳實務，暴露的風險等級：** 高 
+  必須優化 *一體適用* 資料庫，表示做出不必要的妥協。 
+  由於未設定資料庫解決方案以符合流量模式，因此成本更高。 
+  擴展問題可能會出現操作問題。 
+  可能無法將資料保護到所需的等級。 

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

 了解您的工作負載資料特性，以便您可以設定資料庫選項。執行負載測試來識別您的重要效能指標和瓶頸。使用這些特性和指標，來評估資料庫選項並嘗試使用不同的組態。 


|  AWS 服務  |  Amazon RDS、Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  擴展運算  |  增加執行個體大小，Aurora 無伺服器執行個體會自動擴展，以回應負載中的變更  |  隨需容量模式下的自動讀取/寫入擴展，或所佈建容量模式下所佈建讀取/寫入容量的自動擴展  |  增加執行個體大小  |  增加執行個體大小、將節點新增至叢集  |  增加執行個體大小  |  自動擴展以調整容量  |  隨需容量模式下的自動讀取/寫入擴展，或所佈建容量模式下所佈建讀取/寫入容量的自動擴展  |  自動擴展以調整容量  | 
|  橫向擴展讀取  |  所有引擎都支援讀取複本。Aurora 支援自動擴展讀取複本執行個體。  |  增加已佈建的讀取容量單位  |  讀取複本  |  讀取複本  |  讀取複本。支援自動擴展讀取複本執行個體  |  自動擴展  |  增加已佈建的讀取容量單位  |  自動縱向擴展至記錄的並行限制  | 
|  橫向擴展寫入  |  增加執行個體大小、在應用程式中批次寫入、在資料庫前面新增佇列。透過跨多個執行個體的應用程式層級共用來水平擴展  |  增加已佈建的寫入容量單位。確定最佳的分區索引鍵以防止分割層級寫入限流  |  增加主要執行個體大小  |  在叢集模式下使用 Redis 跨碎片散發寫入  |  增加執行個體大小  |  寫入要求可能會在擴展時進行限流。如果遇到限流異常，請繼續以相同 (或更高) 的輸送量傳送資料以自動擴展。批次寫入以減少並行寫入要求  |  增加已佈建的寫入容量單位。確定最佳的分區索引鍵以防止分割層級寫入限流  |  自動縱向擴展至記錄的並行限制  | 
|  引擎組態  |  參數群組  |  不適用  |  參數群組  |  參數群組  |  參數群組  |  不適用  |  不適用  |  不適用  | 
|  快取  |  記億體內快取，可透過參數群組設定。與 ElastiCache for Redis 等專用快取配對，以卸載經常存取項目的請求  |  DAX (DAX) 可用的完全受管快取  |  記憶體內快取。或者，與 ElastiCache for Redis 等專用快取配對，以卸載經常存取項目的請求  |  主要功能為快取  |  使用查詢結果快取來快取唯讀查詢的結果  |  Timestream 有兩個儲存層；其中一個是高效能記憶體內層  |  部署個別的專用快取 (例如 ElastiCache for Redis)，以卸載經常存取項目的請求  |  不適用  | 
|  高可用性/災難復原  |  生產工作負載的建議組態是在第二個可用區域中執行待命執行個體，以在區域內提供彈性。  若為跨區域的彈性，可以使用 Aurora 全域資料庫  |  區域內的高可用性可以使用 DynanoDB 全域資料表跨區域複寫資料表  |  如需可用性，跨可用區域建立多個執行個體。  可以跨區域共用快照，也可以使用 DMS 複寫叢集，以提供跨區域複寫/災難復原  |  生產叢集的建議組態是在次要可用區域中建立至少一個節點。  ElastiCache Global Datastore 可以用來跨區域複寫叢集。  |  其他可用區域中的讀取複本會充當容錯移轉目標。  可以跨區域共用快照，也可以使用 Neptune 串流複寫叢集，以在兩個不同區域的兩個叢集之間複寫資料。  |  可在區域內高度使用。跨區域複寫需要使用 Timestream SDK 進行自訂應用程式開發  |  區域內的高可用性  跨區域複寫需要自訂應用程式邏輯或第三方工具  |  區域內的高可用性  若要跨區域複寫，請將 Amazon QLDB 日誌的內容匯出到 S3 儲存貯體，並設定儲存貯體進行跨區域複寫。  | 

 

 **實作步驟** 

1.  哪些組態選項適用於選取的資料庫？ 

   1.  Amazon RDS 和 Aurora 的參數群組可讓您調整常用的資料庫引擎層級設定，例如針對快取分配的記憶體或調整資料庫的時區 

   1.  針對佈建的資料庫服務，例如 Amazon RDS、Aurora、Neptune、Amazon DocumentDB，以及在 Amazon EC2 上部署的服務，您可以變更執行個體類型、佈建的儲存，以及新增讀取複本。 

   1.  DynamoDB 可讓您指定兩個容量模式：隨需和已佈建。若要處理不同的工作負載，您可以隨時在這些模式之間進行變更，以及在已佈建模式下增加分配的容量。 

1.  工作負載是大量讀取或大量寫入？  

   1.  哪些解決方案適用於卸載讀取 (讀取複本、快取等)？  

      1.  若為 DynamoDB 資料表，您可以使用 DAX 卸載讀取，以進行快取。 

      1.  對於關聯式資料庫，您可以建立一個 ElastiCache for Redis 叢集，並將您的應用程式設定為首先從快取中讀取，如果請求的項目不存在，則退回到資料庫。 

      1.  關聯式資料庫 (例如 Amazon RDS 和 Aurora) 和已佈建的 NoSQL 資料庫 (例如 Neptune 和 Amazon DocumentDB) 全都支援新增讀取複本，以卸載工作負載的讀取部分。 

      1.  無伺服器資料庫 (例如 DynamoDB) 將自動擴展。確定您已佈建足夠的讀取容量單位 (RCU) 來處理工作負載。 

   1.  哪些解決方案適用於擴增寫入 (分區索引鍵碎片、引進佇列等)？ 

      1.  對於關聯式資料庫，您可以增加執行個體的大小，以適應增加的工作負載或增加已佈建的 IOPS，以允許增加基礎儲存的輸送量。 
         +  您也可以在資料庫前面引進佇列，而不是直接寫入至資料庫。此模式允許您將擷取與資料庫分離並控制流量，因此資料庫不會癱瘓。  
         +  批次處理寫入請求而不是建立許多短期交易，有助於改善高寫入量關聯式資料庫中的輸送量。 

      1.  DynamoDB 之類的無伺服器資料庫可以自動擴展寫入輸送量，或透過調整已佈建的容量單位 (WCU) 來進行，取決於容量模式。  
         +  您仍會遇到 *常用* 分區的問題，但這時您達到特定分區索引鍵的輸送量限制。這可以透過選擇更均勻分佈的分區索引鍵，或對分區索引鍵進行寫入碎片化來緩解。  

1.  目前或預期的每秒尖峰交易 (TPS) 有多少？ 使用此流量和此容量 \$1X% 進行測試，以了解擴展特性。 

   1.  原生工具 (例如 pg\$1bench for PostgreSQL) 可以用來對資料庫進行壓力測試，並了解瓶頸和擴展特性。 

   1.  應該擷取生產類流量，以便可以將其重播，來模擬除了綜合工作負載之外的真實條件。 

1.  如果使用無伺服器或彈性可擴展運算，請測試在資料庫上進行此擴展的影響。若適用，請引進連線管理或集區，以降低對資料庫的影響。  

   1.  RDS Proxy 可以搭配 Amazon RDS 和 Aurora 使用，以管理資料庫的連線。  

   1.  無伺服器資料庫 (例如 DynamoDB) 沒有與其相關聯的連線，但會考慮佈建的容量和自動擴展政策來處理負載中的峰值。 

1.  負載是否可預測、負載中是否有峰值，以及是否有閒置期間？ 

   1.  若有閒置期間，請考慮在這些時段縮減佈建的容量或執行個體大小。Aurora Serverless V2 將根據負載自動擴增和縮減。 

   1.  針對非生產執行個體，請考慮在這些非運作時刻暫停或停止這些執行個體。 

1.  您是否需要根據存取模式和資料特性分割和分解資料模型？ 

   1.  考慮使用 AWS DMS 或 AWS SCT，將您的資料移至其他服務。 

## 實作計劃的工作量： 
<a name="level-of-effort-for-the-implementation-plan-to-establish-this-best-practice-you-must-be-aware-of-your-current-data-characteristics-and-metrics.-gathering-those-metrics-establishing-a-baseline-and-then-using-those-metrics-to-identify-the-ideal-database-configuration-options-is-a-low-to-moderate-level-of-effort.-this-is-best-validated-by-load-tests-and-experimentation."></a>

若要建立此最佳實務，您必須注意目前資料特性和指標。收集這些指標、建立基準，然後使用這些指標來識別理想的資料庫組態選項為 *低* 至 *中* 工作量。這最好由負載測試和試驗進行驗證。 

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

 **相關文件：** 
+  [AWS 的雲端資料庫 ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [AWS 資料庫快取 ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Amazon Aurora 最佳實務 ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Amazon Redshift 效能 ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [Amazon Athena 10 大效能秘訣 ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Amazon Redshift Spectrum 最佳實務 ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Amazon DynamoDB 最佳實務](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 

 

 **相關影片：** 
+  [AWS 專用資料庫 (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28)
+ [探究 Amazon Aurora 儲存的奧秘：運作方式 (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [深入探討 Amazon DynamoDB：進階設計模式 (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **相關範例：** 
+  [Amazon DynamoDB 範例](https://github.com/aws-samples/aws-dynamodb-examples) 
+  [AWS 資料庫遷移範例](https://github.com/aws-samples/aws-database-migration-samples) 
+  [資料庫現代化研討會](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [使用 Amazon RDS for PostgreSQL 資料庫上的參數](https://github.com/awsdocs/amazon-rds-user-guide/blob/main/doc_source/Appendix.PostgreSQL.CommonDBATasks.Parameters.md) 

# PERF04-BP03 收集並記錄資料庫效能指標
<a name="perf_right_database_solution_collect_metrics"></a>

 若要了解您的資料管理系統如何執行，請務必追蹤相關指標。這些指標將協助您優化資料管理資源，以確保符合您的工作負載要求，並確保您對工作負載如何執行有著清楚的概觀。使用工具、程式庫和系統來記錄與資料庫效能有關的效能測量值。 

 

 有一些與資料庫託管所在系統相關的指標 (例如，CPU、儲存體、記憶體、IOPS)，也有一些用於存取資料本身的指標 (例如，每秒交易數、查詢率、回應時間、錯誤)。任何支援或操作人員都應該可以立即存取這些指標，並且有足夠的歷史記錄能夠識別趨勢、異常和瓶頸。 

 

 **預期成果：** 若要監控資料庫工作負載的效能，您必須記錄一段時間的多個效能指標。這可讓您偵測異常，以及針對業務指標測量效能，以確保符合您的工作負載需求。 

 **常用的反模式：** 
+  您只使用手動日誌檔案來搜尋指標。 
+  您只會將指標發佈至您團隊所使用的內部工具，而且沒有工作負載的全貌。 
+  您只會使用所選監控軟體記錄的預設指標。 
+  您只會在有問題時檢閱指標。 
+  您只會監控系統層級指標，而不會擷取資料存取或用量指標。 

 **建立此最佳實務的優勢：** 建立效能基準可協助您了解正常行為和工作負載的要求。異常模式可以更快地識別和偵錯，進而改善資料庫的效能和可靠性。可以設定資料庫容量，以確保最佳成本，而不會犧牲效能。 

 **若未建立此最佳實務，暴露的風險等級：** 高 
+  無法區分異常與正常效能等級將讓您難以識別問題和做出決策。 
+  可能未識別潛在的節省成本。 
+  將不會識別可能導致可靠性或效能下降的成長模式。 

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

 識別、收集、彙總資料庫相關指標，並使其相互關聯。指標應該同時包括支援資料庫的基礎系統和資料庫指標。基礎系統指標可能包括 CPU 使用率、記憶體、可用磁碟儲存、磁碟 I/O 和網路傳入和傳出指標，而資料庫指標可能包括每秒交易數、熱門查詢、平均查詢率、回應時間、索引使用情況、表格鎖定、查詢逾時，以及開啟的連線數目。此資料對於了解工作負載的執行方式，以及資料庫解決方案的使用方式至關重要。將這些指標納入資料驅動的方法，以調整和優化工作負載的資源。  

 **實作步驟：** 

1.  務必要追蹤哪些資料庫指標？ 

   1.  [監控 Amazon RDS 的指標](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html) 

   1.  [使用 Performance Insights 進行監控](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 

   1.  [增強型監控](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 

   1.  [DynamoDB 指標](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) 

   1.  [監控 DynamoDB DAX](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.Monitoring.html) 

   1.  [監控 MemoryDB](https://docs.aws.amazon.com/memorydb/latest/devguide/monitoring-cloudwatch.html) 

   1.  [監控 Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/metrics.html) 

   1.  [Timeseries 指標和維度參考](https://docs.aws.amazon.com/timestream/latest/developerguide/metrics-dimensions.html) 

   1.  [Aurora 的叢集層級指標](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html) 

   1.  [監控 Amazon Keyspaces](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 

   1.  [監控 Amazon Neptune](https://docs.aws.amazon.com/neptune/latest/userguide/monitoring.html) 

1.  資料庫監控是否會受益於偵測操作異常效能問題的機器學習解決方案？ 

   1.  [Amazon DevOps Guru for Amazon RDS](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-rds.overview.how-it-works.html) 可讓您查看效能問題，並做出更正動作的建議。 

1.  您是否需要有關 SQL 使用情況的應用程式層級詳細資訊？ 

   1.  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html#api-segmentdocuments-sql) 可以檢測至應用程式，以獲得見解並封裝所有資料點以進行單一查詢。 

1.  您目前是否具有核准的記錄和監控解決方案？ 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 可以收集架構中各種資源的指標。您還可以收集和發佈自訂指標以顯示業務或衍生指標。使用 CloudWatch 或第三方解決方案來設定可指出何時超過閾值的警示。 

1.  您是否已識別並設定資料保留策略，以符合安全和營運目標？ 

   1.  [CloudWatch 指標的預設資料保留](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [CloudWatch Logs 的預設資料保留](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

 **實作計劃的工作量： **有一個 *中* 工作量，用來從所有資料庫資源識別、追蹤、收集、彙總指標，並使其相互關聯。 

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

 **相關文件：** 
+ [AWS 資料庫快取 ](https://aws.amazon.com/caching/database-caching/) 
+ [ Amazon Athena 10 大效能秘訣 ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/)
+ [ Amazon Aurora 最佳實務 ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html)
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/)
+ [Amazon DynamoDB 最佳實務 ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+ [Amazon Redshift Spectrum 最佳實務 ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+ [Amazon Redshift 效能 ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+ [AWS 的雲端資料庫 ](https://aws.amazon.com/products/databases/) 
+  [Amazon RDS Performance Insights](https://aws.amazon.com/rds/performance-insights/) 

 **相關影片：** 
+ [AWS 專用資料庫 (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [探究 Amazon Aurora 儲存的奧秘：運作方式 (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+  [深入探討 Amazon DynamoDB：進階設計模式 (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **相關範例：** 
+  [Level 100：使用 CloudWatch 儀表板進行監控](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [AWS 資料集擷取指標收集架構](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Amazon RDS 監控研討會](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 

# PERF04-BP04 根據存取模式選擇資料儲存
<a name="perf_right_database_solution_access_patterns"></a>

 根據工作負載的存取模式確定要使用的服務和技術。除了效能和規模等非功能性要求外，存取模式還嚴重影響資料庫和儲存解決方案的選擇。第一個維度是對交易、ACID 合規和一致性讀取的需求。並非每個資料庫都支持這些項目，並且大部分 NoSQL 資料庫都會提供最終一致性模型。第二個重要維度是寫入和讀取隨時間和空間的分佈。全球分散式應用程式需要考慮流量模式、延遲和存取要求，以便識別最佳的儲存解決方案。選擇的第三個關鍵層面是查詢模式靈活性、隨機存取模式，以及一次性查詢。還必須斟酌圍繞文字和自然語言處理、時間系列和圖形的高度專業化查詢功能的考量。 

 **預期成果：** 已根據識別和記錄的資料存取模式選取資料儲存。這可能包括最常見的讀取、寫入和刪除查詢、對特定計算和彙總的需求、資料的複雜性、資料相依性，以及必要的一致性需求。 

 **常用的反模式：** 
+  您只選取一個資料庫廠商來簡化操作管理。 
+  您假設資料存取模式不會隨著時間改變。 
+  您在應用程式中實作複雜的交易、回復和一致性邏輯。 
+  資料庫設定為支援潛在的高流量爆增，這會導致資料庫資源大部分時間保持閒置狀態。 
+  使用共用的資料庫進行交易和分析用途。 

 **建立此最佳實務的優勢：** 根據存取模式選取和優化您的資料儲存將有助於降低開發複雜性，並優化您的效能機會。了解何時使用讀取複本、全域表、資料分割和快取將協助您降低營運負擔，並根據您的工作負載需求進行擴展。 

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

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

 識別並評估您的資料存取模式，以選取正確的儲存組態。每個資料庫解決方案都有設定和優化儲存解決方案的選項。使用收集的指標和記錄，並嘗試使用選項來找出最佳組態。使用下表根據每個資料庫服務檢閱儲存選項。 


|  AWS 服務  |  Amazon RDS、Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  擴展儲存  |  可用來自動擴展所佈建儲存 IOPS 的儲存自動擴展選項也可以在利用佈建的 IOPS 儲存類型時，獨立於佈建的儲存進行擴展  |  自動擴展。資料表在大小方面不受限制。  |  儲存自動擴展選項可用來擴展佈建的儲存  |  儲存是記憶體內，受制於執行個體類型或計數  |  儲存自動擴展選項可用來自動擴展佈建的儲存  |  設定記憶體內和磁性層的保留期間 (以天為單位)  |  自動擴增和縮減表格儲存  |  自動擴展。資料表在大小方面不受限制。  | 

 

 **實作步驟：** 

1.  識別並記錄資料和流量的預期成長。 

   1.  Amazon RDS 和 Aurora 支援儲存自動擴增至記錄的限制。除此之外，考慮將較舊資料轉換到 Amazon S3 進行封存、彙總歷史資料進行分析，或透過碎片水平擴展。 

   1.  DynamoDB 和 Amazon S3 將自動擴展至近乎無限制的儲存容量。 

   1.  可以手動調整在 EC2 上執行的 Amazon RDS 執行個體和資料庫大小，並且 EC2 執行個體可以在後來新增 EBS 容量以取得額外的儲存。  

   1.  可以根據活動中的變更來變更執行個體類型。例如，您可以在測試時從較小的執行個體開始，然後在您開始接收服務的生產流量時擴展執行個體。Aurora Serverless V2 會自動擴展以回應負載中的變更。  

1.  記錄有關正常和尖峰效能 (每秒交易數 TPS 和每秒查詢數 QPS) 和一致性 (ACID 和最終一致性) 的要求。 

1.  記錄解決方案部署層面和資料庫存取要求 (全域、多可用區域、讀取複寫、多個寫入節點) 

 **實作計劃的工作量： **如果您的資料管理解決方案沒有日誌或指標，則需要在識別和記錄資料存取模式之前完成該操作。一旦了解您的資料存取模式，選取並設定您的資料儲存是 *低* 工作量。 

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

 **相關文件：** 
+ [AWS 資料庫快取 ](https://aws.amazon.com/caching/database-caching/)
+ [Amazon Athena 10 大效能秘訣 ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+ [Amazon Aurora 最佳實務](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+ [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/) 
+ [Amazon DynamoDB 最佳實務 ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+ [Amazon Redshift Spectrum 最佳實務 ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+ [Amazon Redshift 效能 ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+  [AWS 的雲端資料庫 ](https://aws.amazon.com/products/databases/)
+  [Amazon RDS 儲存類型](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) 

 **相關影片：** 
+ [AWS 專用資料庫 (DAT209-L)](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [探究 Amazon Aurora 儲存的奧秘：運作方式 (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+ [ 深入探討 Amazon DynamoDB：進階設計模式 (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **相關範例：** 
+  [在 AWS 上使用分散式負載測試進行試驗和測試](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF04-BP05 根據存取模式和指標優化資料儲存
<a name="perf_right_database_solution_optimize_metrics"></a>

 使用效能特性和存取模式來優化資料儲存或查詢，以實現最佳效能。測量索引編制、鍵值分佈、資料倉儲設計或快取策略此類的優化，會對系統效能或整體效率造成何種影響。 

 **常用的反模式：** 
+  您只使用手動日誌檔案來搜尋指標。 
+  您只將指標發佈到內部工具。 

 **建立此最佳實務的優勢：** 為了確保您符合工作負載所需的指標，您必須監控與讀取和寫入相關的資料庫效能指標。您可以使用這些資料，針對資料儲存層讀取和寫入來新增新的優化。 

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

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

 根據指標和模式優化資料儲存：使用報告的指標來識別工作負載中任何效能不佳的區域，並優化您的資料庫元件。每個資料庫系統都有不同的效能特性要評估，例如建立索引的方式、快取的方式或在多個系統之間分發的方式。測量優化的影響。 

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

 **相關文件：** 
+  [AWS 資料庫快取](https://aws.amazon.com/caching/database-caching/) 
+  [Amazon Athena 10 大效能秘訣](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+  [Amazon Aurora 最佳實務](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+  [Amazon DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/) 
+  [Amazon DynamoDB 最佳實務](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+  [Amazon Redshift Spectrum 最佳實務](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+  [Amazon Redshift 效能](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+  [AWS 的雲端資料庫](https://aws.amazon.com/products/databases/) 
+  [使用 DevOps Guru for RDS 分析效能異常](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/devops-guru-for-rds.html) 
+  [DynamoDB 的讀取/寫入容量](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html) 

 **相關影片：** 
+  [AWS 專用資料庫 (DAT209-L)](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [探究 Amazon Aurora 儲存的奧秘：運作方式 (DAT309-R)](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [深入探討 Amazon DynamoDB：進階設計模式 (DAT403-R1)](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **相關範例：** 
+  [Amazon DynamoDB 的實作實驗室](https://amazon-dynamodb-labs.workshop.aws/hands-on-labs.html) 

# PERF 5  您如何設定聯網解決方案？
<a name="w2aac19c11b5c13"></a>

 工作負載的最佳網路解決方案會根據延遲、輸送量需求、抖動和頻寬而有所不同。實體限制 (例如使用者或內部部署資源) 會決定位置選項。這些限制條件可以隨著節點或資源置放而位移。 

**Topics**
+ [PERF05-BP01 了解聯網如何影響效能](perf_select_network_understand_impact.md)
+ [PERF05-BP02 評估可用的聯網功能](perf_select_network_evaluate_features.md)
+ [PERF05-BP03 為混合式工作負載選擇適當大小的專用連線或 VPN](perf_select_network_hybrid.md)
+ [PERF05-BP04 利用負載平衡和加密卸載](perf_select_network_encryption_offload.md)
+ [PERF05-BP05 選擇網路通訊協定以提高效能](perf_select_network_protocols.md)
+ [PERF05-BP06 根據網路要求選擇工作負載的位置](perf_select_network_location.md)
+ [PERF05-BP07 根據指標優化網路組態](perf_select_network_optimize.md)

# PERF05-BP01 了解聯網如何影響效能
<a name="perf_select_network_understand_impact"></a>

 分析並了解與網路相關的決策如何影響工作負載效能。網路為應用程式元件、雲端服務、邊緣網絡和內部部署資料之間的連線負責，因此可以高度地影響工作負載效能。除了工作負載效能外，使用者體驗也會受到網路延遲、頻寬、通訊協定、位置、網路擁塞、抖動、輸送量和路由規則的影響。 

 **預期成果：** 具有來自工作負載的聯網要求的記錄清單，包括延遲、封包大小、路由規則、通訊協定和支援的流量模式。檢閱可用的聯網解決方案，並識別哪個服務符合您的工作負載聯網特性。雲端型網路可以快速重建，因此隨著時間演進您的網路架構是改善效能達成效率的必要條件。 

 **常用的反模式：** 
+  通過現有資料中心的所有流量流程。 
+  您尚未了解實際用量要求，就建置過多的 Direct Connect 工作階段。 
+  在定義聯網解決方案時，您未考慮工作負載特性和加密負擔。 
+  您將內部部署概念和策略用於雲端中的聯網解決方案。 

 **建立此最佳實務的優勢：** 了解聯網如何影響工作負載效能協助您識別潛在的瓶頸、改善使用者體驗、提高可靠性，以及隨著工作負載的變更降低營運維護成本。 

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

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

 識別工作負載的重要網路效能指標，並擷取其聯網特性。使用基準化分析或負載測試，定義並記錄屬於資料驅動方法的要求。使用這些資料來確定您的網路解決方案受限的地方，並檢查可以改善此工作負載的組態選項。了解雲端原生聯網功能和可用選項，以及它們如何根據要求影響您的工作負載效能。每個聯網功能都有優缺點，並且可以設定為符合您的工作負載特性，並根據您的需求進行擴展。 

 **實作步驟：** 

1.  定義並記錄聯網效能需求： 

   1.  包括網路延遲、頻寬、通訊協定、位置、流量模式 (峰值和頻率)、輸送量、加密、檢查，以及路由規則等指標 

1.  擷取您的基礎聯網特性： 

   1.  [VPC Flow Logs ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

   1.  [AWS Transit Gateway 指標](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-cloudwatch-metrics.html) 

   1.  [AWS PrivateLink 指標](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-cloudwatch-metrics.html) 

1.  擷取您的應用程式聯網特性： 

   1.  [彈性網路配接卡](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html) 

   1.  [AWS App Mesh 指標](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy-metrics.html) 

   1.  [Amazon API Gateway 指標](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html) 

1.  擷取您的邊緣聯網特性： 

   1.  [Amazon CloudFront 指標](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html) 

   1.  [Amazon Route 53 指標](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-cloudwatch.html) 

   1.  [AWS Global Accelerator 指標](https://docs.aws.amazon.com/global-accelerator/latest/dg/cloudwatch-monitoring.html) 

1.  擷取您的混合聯網特性： 

   1.  [Direct Connect 指標](https://docs.aws.amazon.com/directconnect/latest/UserGuide/monitoring-cloudwatch.html) 

   1.  [AWS 站點對站點 VPN 指標](https://docs.aws.amazon.com/vpn/latest/s2svpn/monitoring-cloudwatch-vpn.html) 

   1.  [AWS Client VPN 指標](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/monitoring-cloudwatch.html) 

   1.  [AWS 雲端 WAN 指標](https://docs.aws.amazon.com/vpc/latest/cloudwan/cloudwan-cloudwatch-metrics.html) 

1.  擷取您的安全聯網特性： 

   1.  [AWS Shield、WAF 和 Network Firewall 指標](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html) 

1.  使用追蹤工具擷取端對端效能指標： 

   1.  [AWS X-Ray](https://aws.amazon.com/xray/) 

   1.  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 

1.  對網路效能進行基準測試： 

   1.  [基準](https://aws.amazon.com/premiumsupport/knowledge-center/network-throughput-benchmark-linux-ec2/) 網路輸送量：當執行個體位於同一 VPC 時，可能會影響 EC2 網路效能的一些因素。測量同一 VPC 中 EC2 Linux 執行個體之間的網路頻寬。 

   1.  執行 [負載測試](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 嘗試使用聯網解決方案和選項 

 **實作計劃的工作量： **有一個 *中等* 工作量，用來記錄工作負載聯網要求、選項和可用的解決方案。 

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

 **相關文件：** 
+ [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+ [Linux 上的 EC2 增強型聯網 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+ [Windows 上的 EC2 增強型聯網 ](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+ [EC2 置放群組 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+ [在 Linux 執行個體上啟用搭配彈性網路轉接器 (ENA) 的增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+ [Network Load Balancer ](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [AWS 的聯網產品](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway ](https://docs.aws.amazon.com/vpc/latest/tgw)
+ [轉換到 Amazon Route 53 中的 Latency Based Routing ](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+ [VPC 端點 ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+ [VPC Flow Logs ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **相關影片：** 
+ [與 AWS 和混合 AWS 網路架構的連線 (NET317-R1) ](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+ [優化 Amazon EC2 執行個體的網路效能 (CMP308-R1) ](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [改善應用程式的全球網路效能](https://youtu.be/vNIALfLTW9M) 
+  [EC2 執行個體和效能優化最佳實務](https://youtu.be/W0PKclqP3U0) 
+  [優化 Amazon EC2 執行個體的網路效能](https://youtu.be/DWiwuYtIgu0) 
+  [搭配 Well-Architected Framework 的聯網最佳實務和秘訣](https://youtu.be/wOMNpG49BeM) 
+  [大規模遷移中的 AWS 聯網最佳實務](https://youtu.be/qCQvwLBjcbs) 

 **相關範例：** 
+  [AWS Transit Gateway 和可擴展的安全解決方案](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS 聯網研討會](https://networking.workshop.aws/) 

# PERF05-BP02 評估可用的聯網功能
<a name="perf_select_network_evaluate_features"></a>

評估雲端中可能提升效能的聯網功能。透過測試、指標和分析來測量這些功能的影響。例如，利用可用的網路層級功能來降低延遲、封包遺失或抖動。

許多服務的功用是要改善效能，有些則通常是為了提供優化網路效能的功能。AWS Global Accelerator 和 Amazon CloudFront 之類的服務旨在改善效能，而其他大部分的服務則具有優化網路流量的產品功能。檢閱服務功能 (例如，EC2 執行個體網路功能、增強型聯網執行個體類型、經 Amazon EBS 優化的執行個體、Amazon S3 Transfer Acceleration 和 CloudFront)，以改善您的工作負載效能。

**預期成果：** 您已記載工作負載內的元件清查，並識別個別元件有哪些聯網組態有助於您達到效能要求。在評估聯網功能之後，您試驗並測量了效能指標，以識別如何使用您可用的功能。

**常見的反模式：** 
+ 您將所有的工作負載放在離總部最近的 AWS 區域 中，而不是使用者附近的 AWS 區域。
+ 未能對您的工作負載效能進行基準測試，並根據其結果持續評估工作負載效能。
+ 您未檢閱服務組態以找出效能改進選項。

**建立此最佳實務的優勢：** 評估所有服務功能和選項可提高工作負載效能、降低基礎架構成本、減少維護工作負載所需的人力，以及提升整體安全狀態。您可以使用全球 AWS 骨幹，以確保能為客戶提供最佳的聯網體驗。

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

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

檢閱您可以使用哪些網路相關組態選項，及其對工作負載可能有何影響。了解這些選項如何與您的架構互動，以及這些選項對衡量效能與使用者感知效能的影響，對於效能最佳化至關重要。

**實作步驟：** 

1. 建立工作負載元件清單。

   1. 使用下列工具來建置、管理及監控您的組織網路： [AWS 雲端 WAN](https://aws.amazon.com/cloud-wan/)。

   1. 使用下列工具檢視您的網路： [Network Manager](https://docs.aws.amazon.com/vpc/latest/tgwnm/what-is-network-manager.html)。使用現有的組態管理資料庫 (CMDB) 工具或 [AWS Config](https://aws.amazon.com/config/) 之類的工具，建立工作負載的清查及其設定方式。

1. 如果這是現有的工作負載，請識別並記載效能指標的基準，並將重心放在瓶頸和有待改善的領域上。每個工作負載的效能相關聯網指標，都會隨著業務要求和工作負載特性而不同。一開始對您的工作負載而言，下列指標可能都是必須檢閱的：頻寬、延遲、封包遺失、抖動和重新傳輸。

1. 如果這是新的工作負載，請執行 [負載測試](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 以找出效能瓶頸。

1. 對於您找出的效能瓶頸，請檢閱您解決方案的組態選項，以找出改善效能的機會。

1. 如果您不知道網路路徑或路由，請使用 [Network Access Analyzer](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-vaa.html) 加以識別。

1. 檢閱您的網路通訊協定，以進一步降低延遲。
   + [PERF05-BP05 選擇網路通訊協定以提高效能](perf_select_network_protocols.md) 

1. 如果您跨多個位置使用 AWS Site-to-Site VPN 連線至 AWS 區域，請檢閱 [加速 Site-to-Site VPN 連線](https://docs.aws.amazon.com/vpn/latest/s2svpn/accelerated-vpn.html) 以找出改善聯網效能的機會。

1. 如果您的工作負載流量分散於多個帳戶，請評估網路拓撲和服務以降低延遲。
   + 在連接多個帳戶時，評估 [VPC 對等互連](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) 和 [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) 之間在操作和效能上的權衡。AWS Transit Gateway 支援 AWS Site-to-Site VPN 輸送量擴展至單一 [IPsec 最大限制](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) 以上 (使用多重路徑)。Amazon VPC 與 AWS Transit Gateway 之間的流量仍會在私有 AWS 網路上，且不會對網際網路公開。AWS Transit Gateway 會簡化所有 VPC 的互連方式，如此便可跨數千個 AWS 帳戶 並進入內部部署網路。使用下列工具在多個帳戶間共用您的 AWS Transit Gateway： [Resource Access Manager](https://aws.amazon.com/ram/)。若要取得檢視全域網路流量的能力，請使用 [Network Manager](https://aws.amazon.com/transit-gateway/network-manager/) 以集中檢視您的網路指標。

1. 檢閱您的使用者位置，並儘可能拉近使用者與工作負載之間的距離。

   1. [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) 是一項連網服務，可使用 Amazon Web Services 全域網路基礎架構將使用者流量效能提升最多達 60%。網際網路壅塞時，AWS Global Accelerator 會找出最佳的應用程式路徑，以持續保持低封包遺失率、低抖動和低延遲。此外也提供靜態 IP 位址，以方便在可用區域或 AWS 區域 之間移動端點，而無須更新 DNS 組態或變更面向用戶端的應用程式。

   1. [Amazon CloudFront](https://aws.amazon.com/cloudfront/) 可讓您改善全域的工作負載內容傳遞效能和延遲。CloudFront 具有超過 410 個散佈於全球的連接點，可快取您的內容並降低使用者經歷的延遲。

   1. Amazon Route 53 提供 [以延遲為基礎的路由](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-latency.html)，[地理位置路由](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geo.html)，[地理位置臨近性路由](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html)和 [以 IP 為基礎的路由](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-ipbased.html) 等選項，可協助您提升全球對象的工作負載效能。請檢閱您的工作負載流量和使用者位置，找出能夠優化工作負載效能的路由選項。

1. 評估用來改善儲存 IOPS 的其他 Amazon S3 功能。

   1.  [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) 功能讓外部使用者得以獲益於 CloudFront 的聯網優化，以將資料上傳到 Amazon S3。這樣就可以更輕易地從與 AWS 雲端 沒有專用連線的遠端位置輸送大量資料。

   1.  [Amazon S3 多區域存取點](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPoints.html) 可將內容複寫至多個區域，並提供單一存取點以簡化工作負載。使用多區域存取點時，您可以使用可識別最低延遲儲存貯體的服務，來要求資料或將資料寫入 Amazon S3。

1. 請檢閱您的運算資源網路頻寬。

   1. EC2 執行個體、容器和 Lambda 函數所使用的彈性網絡介面 (ENA) 會按個別流程受到限制。請檢閱您的置放群組以優化 [EC2 聯網輸送量](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html)。若要避免發生個別流程的瓶頸，請將應用程式設計為使用多個流程。若要監控及檢視您的運算相關聯網指標，請使用 [CloudWatch 指標](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-network-bandwidth.html) 和 [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html)。`ethtool` 包含在 ENA 驅動程式中，會將可發佈為 [自訂指標](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) 的其他網路相關指標公開至 CloudWatch。

   1. 較新的 EC2 執行個體可以利用增強型聯網。[N 系列 EC2 執行個體](https://aws.amazon.com/ec2/nitro/)(例如 `M5n` 和 `M5dn`) 利用第四代自訂 Nitro 卡，為單一執行個體提供高達 100 Gbps 的網路輸送量。相較於基礎的 `M5` 執行個體，這些執行個體提供 4 倍之多的網路頻寬和封包程序，非常適合網路密集型應用程式。

   1. [Amazon Elastic Network Adapters](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) (ENA) 可提供進一步的優化，具體方法是為您在叢集置放群組內的執行個體提供更理想的 [輸送量](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-cluster%23placement-groups-limitations-cluster)。

   1. [Elastic Fabric Adapter](https://aws.amazon.com/hpc/efa/) (EFA) 是 Amazon EC2 執行個體的網路介面，讓您能夠在 AWS 上大規模執行需要高階節點間通訊的工作負載。透過 EFA，使用訊息傳遞界面 (MPI) 的高效能運算 (HPC) 應用程式，以及使用 NVIDIA 集體通訊函式庫 (NCCL) 的機器學習 (ML) 應用程式可擴展到數千個 CPU 或 GPU。

   1. [經 Amazon EBS 優化的](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 執行個體使用優化的設定堆疊，可提供更多專用容量以增加 Amazon EBS I/O。這項優化能盡量減少 Amazon EBS I/O 與傳出執行個體的其他流量之間的競用，使得 EBS 磁碟區具有最佳效能。

**實作計劃的工作量： **

若要建立此最佳實務，您必須了解目前有哪些工作負載元件選項會影響網路效能。收集元件、評估網路改進選項、試驗、實作和記載這些改進，是 *低* 至 *中等* 工作量。

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

 **相關文件：** 
+  [Amazon EBS - 優化的執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Amazon EC2 執行個體網路頻寬](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) 
+  [Linux 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Windows 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [EC2 置放群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [在 Linux 執行個體上啟用搭配彈性網路轉接器 (ENA) 的增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [AWS 的聯網產品](https://aws.amazon.com/products/networking/) 
+  [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [轉換到 Amazon Route 53 中以延遲為基礎的路由](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [建置雲端 CMDB](https://aws.amazon.com/blogs/mt/building-a-cloud-cmdb-on-aws-for-consistent-resource-configuration-in-hybrid-environments/) 
+  [使用 AWS Transit Gateway 擴展 VPN 輸送量](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) 

 **相關影片：** 
+  [與 AWS 和混合 AWS 網路架構的連線 (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [優化 Amazon EC2 執行個體的網路效能 (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 

 **相關範例：** 
+  [AWS Transit Gateway 和可擴展的安全解決方案](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS 聯網研討會](https://networking.workshop.aws/) 

# PERF05-BP03 為混合式工作負載選擇適當大小的專用連線或 VPN
<a name="perf_select_network_hybrid"></a>

 當需要公共網路連接 AWS 中的內部部署和雲端資源時，請確保您有足夠的頻寬來符合您的效能要求。預估混合工作負載的頻寬和延遲需求。這些數字將促進 AWS Direct Connect 或 VPN 端點的調整大小需求。 

 **預期成果：** 部署需要混合式網路連線能力的工作負載時，您會有多種連線組態選項可用，例如受管和非受管 VPN 或 Direct Connect。為每個工作負載選取適用的連線類型，同時確保在您的位置與雲端之間您有足夠的頻寬和加密要求。 

 **常用的反模式：** 
+  您只針對網路加密要求評估 VPN 解決方案。 
+  您未評估備份或並行連線能力選項。 
+  您將預設組態用於路由器、通道和 BGP 工作階段。 
+  您無法了解或識別所有工作負載要求 (加密、通訊協定、頻寬和流量需求)。 

 **建立此最佳實務的優勢：** 選取和設定適當大小的混合網路解決方案將提高工作負載的可靠性，並充分利用效能機會。藉由識別工作負載要求、提前規劃和評估混合解決方案，您將最大限度地減少昂貴的實體網路變更和營運負擔，同時延長上市時間。 

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

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

 根據您的頻寬要求開發混合式聯網架構：預估混合式應用程式的頻寬和延遲要求。根據頻寬要求，單一 VPN 連線或 Direct Connect 連線可能不足，而且您必須架構混合式設定，以便啟用跨多個連線的流量負載平衡。由於其私用網路連線，可能需要 Direct Connect，提供更可預測和一致的效能。非常適合需要一致延遲且幾乎無抖動的生產工作負載。 

 AWS Direct Connect 提供與 AWS 環境的專用連線，速度範圍為 50 Mbps 到最高 10 Gbps。這可為您提供受管和受控的延遲以及佈建頻寬，因此您的工作負載可以輕鬆、高效地連線到其他環境。使用 AWS Direct Connect 合作夥伴之一，您可以從多個環境獲得端到端連線能力，從而為擴展的網路提供一致的效能。 

 AWS 站點對站點 VPN 是 VPC 的受管 VPN 服務。建立 VPN 連接時，AWS 會提供通道給兩個不同的 VPN 端點。透過 AWS Transit Gateway，您可以簡化多個 VPC 之間的連線，也可以使用單一 VPN 連線 AWS Transit Gateway 連接的任何 VPC。AWS Transit Gateway 還能透過多個 VPN 通道啟用同等成本的多路徑 (ECMP) 路由支援，讓您擴展到超過 1.25 Gbps IPsec VPN 的輸送量限制。 

 **實作計劃的工作量： **有一個 *高* 工作量，用來評估混合網路的工作負載需求，以及實作混合聯網解決方案。 

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

 **相關文件：** 
+ [Network Load Balancer ](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [AWS 的聯網產品](https://aws.amazon.com/products/networking/) 
+ [Transit Gateway ](https://docs.aws.amazon.com/vpc/latest/tgw) 
+ [轉換到 Amazon Route 53 中的 Latency Based Routing](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+ [VPC 端點 ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+ [VPC Flow Logs ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [站點對站點 VPN](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) 
+  [建置可擴展且安全的多 VPC AWS 網路基礎設施](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) 
+  [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) 
+  [Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html) 

 **相關影片：** 
+ [與 AWS 和混合 AWS 網路架構的連線 (NET317-R1) ](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+ [優化 Amazon EC2 執行個體的網路效能 (CMP308-R1) ](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 
+  [Direct Connect* *](https://www.youtube.com/watch?v=DXFooR95BYc&t=6s) 
+  [Transit Gateway Connect](https://www.youtube.com/watch?v=_MPY_LHSKtM&t=491s) 
+  [VPN 解決方案](https://www.youtube.com/watch?v=qmKkbuS9gRs) 
+  [使用 VPN 解決方案保護安全](https://www.youtube.com/watch?v=FrhVV9nG4UM) 

 **相關範例：** 
+  [AWS Transit Gateway 和可擴展的安全解決方案](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS 聯網研討會](https://networking.workshop.aws/) 

# PERF05-BP04 利用負載平衡和加密卸載
<a name="perf_select_network_encryption_offload"></a>

 在多個資源或服務之間分配流量，以讓您的工作負載能夠利用雲端提供的彈性。您也可以使用負載平衡來卸載加密終止，以提升效能及有效管理和路由流量。 

 在實作向外擴展架構時，如果想要使用多個執行個體來獲取服務內容，您可以利用 Amazon VPC 內部的負載平衡器。AWS 為您 ELB 服務中的應用程式提供了多種模型。Application Load Balancer 最適合 HTTP 和 HTTPS 流量的負載平衡，並提供了針對現代應用程式架構 (包括微型服務和容器) 交付的進階請求路由。 

 Network Load Balancer 最適合需要極高效能的 TCP 流量的負載平衡。它能夠每秒處理數百萬個請求，同時保持超低延遲性，並且還進行優化，可處理突發的和不穩定的流量模式。 

 [https://aws.amazon.com/elasticloadbalancing/](https://aws.amazon.com/elasticloadbalancing/) 提供整合的憑證管理和 SSL/TLS 解密，讓您能夠靈活地集中管理負載平衡器的 SSL 設定，並從工作負載中卸載 CPU 密集型工作。 

 **常用的反模式：** 
+  您可以透過現有的負載平衡器路由所有網際網路流量。 
+  您可以使用一般 TCP 負載平衡，並讓每個運算節點處理 SSL 加密。 

 **建立此最佳實務的優勢：** 負載平衡器會處理單一可用區域中或橫跨多個可用區域的應用程式流量的不同負載。負載平衡器具備高可用性、自動調整規模，以及讓應用程式具備容錯能力所需的強大安全性。 

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

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

 將適當的負載平衡器用於您的工作負載：為工作負載選取適當的負載平衡器。如果您必須平衡 HTTP 請求的負載，我們建議使用 Application Load Balancer。針對網路和傳輸通訊協定 (第 4 層 – TCP, UDP) 負載平衡，以及針對極端效能和低延遲應用程式，我們建議使用 Network Load Balancer。Application Load Balancers 支援 HTTPS，Network Load Balancer 支援 TLS 加密卸載。 

 啟用 HTTPS 或 TLS 加密卸載：Elastic Load Balancing 包括整合式憑證管理、使用者身份驗證和 SSL/TLS 解密。它提供集中管理 TLS 設定並從應用程式卸載 CPU 密集型工作負載的彈性。將所有 HTTPS 流量作為負載平衡器部署的一部分進行加密。 

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

 **相關文件：** 
+  [Amazon EBS - 優化的執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Linux 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Windows 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [EC2 置放群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [在 Linux 執行個體上啟用搭配彈性網路轉接器 (ENA) 的增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [AWS 的聯網產品](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [轉換到 Amazon Route 53 中的 Latency Based Routing](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **相關影片：** 
+  [與 AWS 和混合 AWS 網路架構的連線 (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [優化 Amazon EC2 執行個體的網路效能 (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

 **相關範例：** 
+  [AWS Transit Gateway 和可擴展的安全解決方案](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS 聯網研討會](https://networking.workshop.aws/) 

# PERF05-BP05 選擇網路通訊協定以提高效能
<a name="perf_select_network_protocols"></a>

 根據對工作負載效能的影響，做出系統和網路間通訊協定的決策。 

 實現輸送量的延遲和頻寬之間存在關係。如果您的檔案傳輸使用 TCP，較高的延遲會降低整體傳輸量。有一些方法可以使用 TCP 調校和優化的傳輸通訊協定來解決這個問題，有些方法則會使用 UDP。 

 **常用的反模式：** 
+  無論效能需求為何，您都可以將 TCP 用於所有工作負載。 

 **建立此最佳實務的優勢：** 為工作負載元件之間的通訊選擇適當的通訊協定，便可確保達到該工作負載的最佳效能。無連線 UDP 雖然達到高速，但卻失去重新傳輸能力或高可靠性。TCP 是功能完整的通訊協定，但需要更大的額外負荷來處理封包。 

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

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

 優化網路流量：選擇適當的通訊協定，以最佳化工作負載的效能。實現輸送量的延遲和頻寬之間存在關係。如果您的檔案傳輸使用 TCP，較高的延遲會降低整體輸送量。有一些方法可以使用 TCP 調校和優化的傳輸通訊協定來解決延遲，有些方法則會使用 UDP。 

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

 **相關文件：** 
+  [Amazon EBS - 優化的執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Linux 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Windows 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [EC2 置放群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [在 Linux 執行個體上啟用搭配彈性網路轉接器 (ENA) 的增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [AWS 的聯網產品](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [轉換到 Amazon Route 53 中的 Latency Based Routing](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **相關影片：** 
+  [與 AWS 和混合 AWS 網路架構的連線 (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [優化 Amazon EC2 執行個體的網路效能 (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

 **相關範例：** 
+  [AWS Transit Gateway 和可擴展的安全解決方案](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS 聯網研討會](https://networking.workshop.aws/) 

# PERF05-BP06 根據網路要求選擇工作負載的位置
<a name="perf_select_network_location"></a>

 使用可用的雲端位置選項來降低網路延遲或提高輸送量。使用 AWS 區域、可用區域、置放群組和邊緣節點 (例如 AWS Outposts、AWS Local Zones 和 AWS Wavelength) 來降低網路延遲或改善輸送量。 

 AWS 雲端基礎架構是以區域與可用區域為中心所建置。區域是世界上有多個可用區域的實體位置。 

 可用區域由一或多個分散的資料中心所組成，每個都有備援電源、聯網和連線能力，且置放在不同的機構。這些可用區域讓您能夠運作生產應用程式和資料庫，它們比單一資料中心具有更高的可用性、容錯力和可擴展性 

 根據下列關鍵元素，為您的部署選擇適當的一個或多個區域： 
+  **使用者所在的位置**：選擇靠近工作負載使用者的區域可確保降低其使用工作負載時的延遲。 
+  **資料所在位置**：對於資料密集型應用程式，資料傳輸是延遲的主要瓶頸。應用程式程式碼應盡可能接近資料予以執行。 
+  **其他限制**：請考慮安全性和合規性等限制。 

 Amazon EC2 提供了適用於聯網的置放群組。置放群組是執行個體的邏輯分組，可降低延遲或提高可靠性。使用搭配支援的執行個體類型以及彈性網路轉接器 (ENA) 的置放群組，可讓工作負載參與低延遲 25 Gbps 的網路。建議將置放群組用於受益於低網路延遲、高網路輸送量或兩者兼而有之的工作負載。使用置放群組的益處是可以降低網路通訊中的抖動。 

 使用邊緣位置的全球網路可在邊緣交付對延遲敏感的服務。這些節點通常可提供諸如內容交付網路 (CDN) 和網域名稱系統 (DNS) 之類的服務。透過將這些服務置於邊緣，工作負載可以低延遲回應內容或 DNS 解決的請求。這些服務還提供地理服務，例如內容的地理定位 (根據最終使用者的位置提供不同的內容)，或 Latency-Based Routing，將最終使用者定向到最近區域的 (最小延遲)。 

 [https://aws.amazon.com/cloudfront/](https://aws.amazon.com/cloudfront/) 是全域 CDN，可用於加速靜態內容 (例如影響、指令碼和影片) 以及動態內容 (例如 API 或 Web 應用程式)。它依賴於節點的全球網路，該網路會快取內容並為我們的使用者提供高效能的網路連線能力。CloudFront 還可加快許多其他功能的速度，例如內容上傳和動態應用程式，使其成為所有透過網際網路提供流量的應用程式的效能補充。 [https://aws.amazon.com/lambda/edge/](https://aws.amazon.com/lambda/edge/) 是 Amazon CloudFront 的一項功能，可讓您更接近工作負載的使用者執行程式碼，藉此提升效能並減少延遲。 

 Amazon Route 53 是一項高可用性、可擴展的雲端 DNS Web 服務。該服務旨在為開發人員和企業提供一種非常可靠且經濟實惠的方式，將名稱 (如 www.example.com) 轉換為電腦用來互相連線的數字 IP 地址 (如 192.168.2.1)，將最終使用者路由到網際網路應用程式。Route 53 可與 IPv6 完全相容。 

 [https://aws.amazon.com/outposts/](https://aws.amazon.com/outposts/) 是專為因延遲需求而需要保持內部部署的工作負載所設計，而您希望該工作負載能夠與 AWS 中的其他工作負載無縫執行。AWS Outposts 是利用 AWS 設計的硬體所建置的全受管和可設定的運算和儲存機架，讓您能夠在內部部署執行運算和儲存，同時無縫連線到雲端中的 AWS 各種服務。 

 [https://aws.amazon.com/about-aws/global-infrastructure/localzones/](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) 專為執行需要低於十毫秒延遲的工作負載 (例如影片轉譯和圖形密集型虛擬桌面應用程式) 所設計。Local Zones 可讓您取得所有優勢，讓運算和儲存資源更接近最終使用者。 

 [https://aws.amazon.com/wavelength/](https://aws.amazon.com/wavelength/) 的設計目的是透過將 AWS 基礎設施、服務、API 和工具擴展到 5G 網路，將超低延遲應用程式交付到 5G 裝置。Wavelength 將儲存和運算嵌入到電信供應商 5G 網路內，可在您的 5G 工作負載需要低於十毫秒的延遲時協助您，例如 IoT 裝置、遊戲串流、自動駕駛車輛和即時媒體製作。 

 使用邊緣服務來減少延遲及啟用內容快取。確保您已為 DNS 和 HTTP/HTTPS 正確設定了快取控制，才能從這些方法中獲得最大的收益。 

 **常用的反模式：** 
+  您可以將所有工作負載資源合併到單一地理位置。 
+  您選擇的區域最接近您的位置，但不是最接近工作負載最終使用者。 

 **建立此最佳實務的優勢：** 無論您想要觸及哪一處的客戶，您必須確保網路都能使用。使用 AWS 的私有全球網路將工作負載部署到離客戶最近的位置，即可確保客戶享有最低的延遲體驗。 

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

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

 選取正確的位置來減少延遲：識別使用者和資料的位置。利用 AWS 區域、可用區域、置放群組和節點來減少延遲。 

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

 **相關文件：** 
+  [Amazon EBS - 優化的執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Linux 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Windows 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [EC2 置放群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [在 Linux 執行個體上啟用搭配彈性網路轉接器 (ENA) 的增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [AWS 的聯網產品](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [轉換到 Amazon Route 53 中的 Latency Based Routing](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **相關影片：** 
+  [與 AWS 和混合 AWS 網路架構的連線 (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [優化 Amazon EC2 執行個體的網路效能 (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

 **相關範例：** 
+  [AWS Transit Gateway 和可擴展的安全解決方案](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS 聯網研討會](https://networking.workshop.aws/) 

# PERF05-BP07 根據指標優化網路組態
<a name="perf_select_network_optimize"></a>

 使用收集和分析的資料來做出有關優化網路組態的明智決策。測量這些變更的影響，並利用這些測量結果來做出未來的決策。 

 為工作負載使用的所有 VPC 網路啟用 VPC Flow Logs。VPC Flow Logs 功能可以擷取有關往返 VPC 網路接口 IP 流量的資訊。VPC Flow Logs 可協助您執行多項任務，例如針對特定流量無法到達執行個體的問題進行疑難排解，進而協助您診斷過於嚴格的安全群組規則。您可以使用 Flow Logs 做為安全工具，來監控到達執行個體的流量、分析網路流量，以及尋找異常的流量行為。 

 隨著工作負載的演進，使用聯網指標變更聯網組態。雲端型網路可以快速重建，因此隨著時間演進您的網路架構是維持效能達成效率的必要條件。 

 **常用的反模式：** 
+  您假設所有效能相關問題都與應用程式有關。 
+  您只能從靠近已部署工作負載的位置測試網路效能。 

 **建立此最佳實務的優勢：**若要確保符合工作負載所需的指標，您必須監控網路效能指標。您可以擷取往返 VPC 中網路界面的 IP 流量資訊，並使用此資料新增最佳化項目，或將工作負載部署到新的地理區域。 

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

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

 啟用 VPC Flow Logs：VPC Flow Logs 讓您可以擷取有關往返 VPC 網路界面 IP 流量的資訊。VPC Flow Logs 可協助您執行多項任務，例如針對特定流量無法到達執行個體的問題進行疑難排解，進而協助您診斷過於嚴格的安全群組規則。您可以使用 Flow Logs 做為安全工具，來監控到達執行個體的流量、分析網路流量，以及尋找異常的流量行為。 

 為網路選項啟用適當的指標：確保您為工作負載選擇適當的網路指標。您可以為 VPC NAT 閘道、傳輸閘道和 VPN 通道啟用指標。 

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

 **相關文件：** 
+  [Amazon EBS - 優化的執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Linux 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Windows 上的 EC2 增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [EC2 置放群組](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [在 Linux 執行個體上啟用搭配彈性網路轉接器 (ENA) 的增強型聯網](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [AWS 的聯網產品](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [轉換到 Amazon Route 53 中的 Latency Based Routing](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [VPC 端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [VPC Flow Logs](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [使用 Amazon Cloudwatch 指標監控您的全球和核心網路](https://docs.aws.amazon.com/vpc/latest/tgwnm/monitoring-cloudwatch-metrics.html) 
+  [持續監控網路流量和資源](https://docs.aws.amazon.com/whitepapers/latest/security-best-practices-for-manufacturing-ot/continuously-monitor-network-traffic-and-resources.html) 

 **相關影片：** 
+  [與 AWS 和混合 AWS 網路架構的連線 (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [優化 Amazon EC2 執行個體的網路效能 (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [監控網路流量並對其進行疑難排解](https://www.youtube.com/watch?v=Ed09ReWRQXc) 
+  [使用 Amazon VPC Traffic Mirroring 簡化流量監控和可見性](https://www.youtube.com/watch?v=zPovlZxuZ-c) 

 **相關範例：** 
+  [AWS Transit Gateway 和可擴展的安全解決方案](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS 聯網研討會](https://networking.workshop.aws/) 
+  [AWS 網路監控](https://github.com/aws-samples/monitor-vpc-network-patterns) 