

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 規劃您的部署
<a name="plan-your-deployment"></a>

本節說明部署解決方案之前應檢閱的成本、安全性、支援的區域、配額和其他考量事項。

# Cost
<a name="cost"></a>

您必須負責執行此解決方案時所使用的 AWS 服務成本。總成本取決於負載測試執行的數量、這些測試的持續時間，以及產生的資料量。截至此修訂，在美國東部 （維吉尼亞北部） 區域中使用預設設定執行此解決方案的預估成本約為每月 30.90 美元。

下表提供在美國東部 （維吉尼亞北部） 區域中使用預設參數部署此解決方案一個月的範例成本明細。


| AWS 服務 | 維度 | 成本 【美元】 | 
| --- | --- | --- | 
|  AWS Fargate  |  執行 30 小時的 10 個隨需任務 （使用兩個 vCPUs 和 4 GB 記憶體）  |  29.62 美元  | 
|  Amazon DynamoDB  |  1，000 個隨需寫入容量單位 1，000 個隨需讀取容量單位  |  0.0015 美元  | 
|  AWS Lambda  |  1，000 個請求 總持續時間為 10 分鐘  |  1.25 美元  | 
|  AWS Step Functions  |  1，000 個狀態轉換  |  \$10.025  | 
|   **總計：**  |  |   **每月 30.90 美元**   | 

解決方案資源會以 Key=SolutionId 和 Value=SO0062 標記。您可以依照文件啟用標籤來[啟用標籤](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/activating-tags.html)金鑰 SolutionId。標籤啟用後，您可以依照文件建立成本類別來[建立成本類別](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/create-cost-categories.html)規則。您可以監控成本類別主控台並選擇成本類別名稱，以檢視解決方案產生的成本。

我們建議您透過 [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) 建立[預算](https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-create.html)，以協助管理成本。價格可能變動。如需完整詳細資訊，請參閱[此解決方案中使用的每個 AWS 服務的](architecture-details.md#aws-services-in-this-solution)定價網頁。

**注意**  
預設任務組態每個任務使用 2 個 vCPUs和 4 GB 的記憶體。如果您的負載測試不需要這些資源，您可以降低這些資源以降低成本。相反地，您可以增加資源，以支援每個任務更高的並行。如需詳細資訊，請參閱本指南[中的增加容器資源](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/increase-container-resources.html)一節。

**注意**  
此解決方案提供在執行測試時包含即時資料的選項。此功能需要額外的 AWS Lambda 函數和會產生額外費用的 AWS IoT Core 主題。

## MCP 伺服器額外費用 （選用）
<a name="mcp-server-cost"></a>

下表提供 MCP Server 與美國東部 （維吉尼亞北部） 區域中定價整合一個月的成本明細。


| 服務元件 | 維度 | 成本 【美元】 | 
| --- | --- | --- | 
|  AgentCore Gateway - 工具索引  |  10 個工具 × 每 100 個工具 \$10.02  |  0.002 美元  | 
|  AgentCore Gateway - 搜尋 API  |  每 1，000 個 10，000 個互動 × 0.025 美元  |  0.25 美元  | 
|  AgentCore Gateway - API 調用  |  每 1，000 個 50，000 個調用 × 0.005 美元  |  0.25 美元  | 
|  AWS Lambda 函式  |  根據用量的變數 （典型工作負載）  |  5.00 - 20.00 美元  | 
|   **預估總額外費用：**  |  |   **每月 5.50 - 20.50 美元**   | 

價格可能變動。如需 AgentCore Gateway 定價的完整詳細資訊，請參閱 [Amazon Bedrock 定價](https://aws.amazon.com/bedrock/pricing/) (AgentCore Gateway 區段）。如需 Lambda 定價，請參閱 [AWS Lambda 定價](https://aws.amazon.com/lambda/pricing/)。

# 安全
<a name="security-1"></a>

當您在 AWS 基礎設施上建置系統時，安全責任會由您和 AWS 共同承擔。此[共同責任模型](https://aws.amazon.com/compliance/shared-responsibility-model/)可減輕您的營運負擔，因為 AWS 會操作、管理和控制元件，包括主機作業系統、虛擬化層，以及服務營運所在設施的實體安全性。如需 AWS 安全性的詳細資訊，請造訪 [AWS Cloud Security](https://aws.amazon.com/security/)。

## IAM 角色
<a name="iam-roles"></a>

AWS Identity and Access Management (IAM) 角色可讓客戶將精細的存取政策和許可指派給 AWS 雲端上的服務和使用者。此解決方案會建立 IAM 角色，授予解決方案的 AWS Lambda 函數建立區域資源的存取權。

## Amazon CloudFront
<a name="amazon-cloudfront"></a>

此解決方案會部署[託管](https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)在 Amazon S3 儲存貯體中的 Web UI，該儲存貯體由 Amazon CloudFront 分發。為了協助減少延遲並改善安全性，此解決方案包含具有原始存取身分的 CloudFront 分佈，這是提供解決方案網站儲存貯體內容公開存取權的 CloudFront 使用者。根據預設，CloudFront 分佈會使用 TLS 1.2 來強制執行最高層級的安全通訊協定。如需詳細資訊，請參閱《[Amazon CloudFront 開發人員指南》中的限制對 Amazon S3 原始伺服器的存取](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-restricting-access-to-s3.html)。 *Amazon CloudFront *

CloudFront 會啟用其他安全緩解措施，將 HTTP 安全標頭附加到每個檢視器回應。如需詳細資訊，請參閱在 [ CloudFront 回應中新增或移除 HTTP 標頭](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/adding-response-headers.html)。

此解決方案使用預設 CloudFront 憑證，其具有 TLS v1.0 的最低支援安全通訊協定。若要強制使用 TLS v1.2 或 TLS v1.3，您必須使用自訂 SSL 憑證，而非預設 CloudFront 憑證。如需詳細資訊，請參閱[如何將 CloudFront 分佈設定為使用 SSL/TLS 憑證](https://aws.amazon.com/premiumsupport/knowledge-center/install-ssl-cloudfront/)。

## Amazon API Gateway
<a name="amazon-api-gateway"></a>

此解決方案部署邊緣最佳化的 Amazon API Gateway 端點，以使用預設 APIs Gateway 端點而非自訂網域為負載測試功能提供 RESTful API。對於使用預設端點的邊緣最佳化 APIs，API Gateway 會使用 TLS-1-0 安全政策。如需詳細資訊，請參閱《Amazon [ APIs》中的使用 REST](https://docs.aws.amazon.com/apigateway/latest/developerguide/rest-api.html) API。 *Amazon API Gateway *

此解決方案使用預設 API Gateway 憑證，其具有 TLS v1.0 的最低支援安全通訊協定。若要強制使用 TLS v1.2 或 TLS v1.3，您必須使用具有自訂 SSL 憑證的自訂網域，而非預設 API Gateway 憑證。如需詳細資訊，請參閱[設定 REST APIs 的自訂網域名稱](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-custom-domains.html)。

## AWS Fargate 安全群組
<a name="aws-fargate"></a>

根據預設，此解決方案會將 AWS Fargate 安全群組的傳出規則開放給大眾。如果您想要封鎖 AWS Fargate 到處傳送流量，請將傳出規則變更為特定無類別網域間路由 (CIDR)。

此安全群組也包含傳入規則，允許連接埠 50，000 上的本機流量流向屬於相同安全群組的任何來源。這用於允許容器彼此通訊。

## Amazon VPC
<a name="amazon-vpc"></a>

 **VPC**：以 Amazon VPC 服務為基礎的虛擬私有雲端 (VPC) 為您提供 AWS 雲端中邏輯上隔離的私有網路。

您可以在部署期間在 [AWS CloudFormation 參數](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/launch-the-stack.html)中指定自己的 VPC。VPC 僅供產生負載的 ECS 任務使用；Web 主控台和 API 不會部署在此 VPC 中。如果您未指定現有的 VPC，解決方案將使用所需的聯網組態建立新的 VPC。如果您選擇使用現有的 VPC，則必須符合下列要求，才能成功執行負載測試任務。

### VPC 要求
<a name="vpc-requirements"></a>

與 AWS 上的分散式負載測試搭配使用的 VPC 最低需求如下所示。
+ VPC 必須至少包含兩個 AZs
+ VPC 必須至少包含兩個子網路，每個子網路都位於單獨的 AZ 中
+ VPC 子網路可以是公有或私有，但必須使用相同的組態 （公有或私有）
+ VPC 必須提供 ECR、CloudWatch Logs、S3 和 IoT Core 端點的存取權。
+ VPC 必須提供負載測試鎖定目標的 （服務） 存取權。

**注意**  
如果您沒有符合這些條件的 VPC，您可以使用 VPC 精靈快速建立 VPC。如需詳細資訊，請參閱[建立一個 VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html)。

公有子網路可以滿足這些要求，方法是包含下列項目：
+ 連接至 VPC 的網際網路閘道
+ 網際網路閘道的路由 (0.0.0.0/0)

私有子網路可以透過使用 NAT Gateway 或 VPC 端點來滿足這些需求，如下所述。

 **選項 1：NAT 閘道** 
+ 在具有私有子網路的每個 AZ 中部署 NAT 閘道
+ 設定路由表以透過 NAT Gateway 路由網際網路繫結流量 (0.0.0.0/0)

 **選項 2：VPC 端點** 

在 VPC 中建立下列 VPC 端點：
+ Amazon ECR API 端點： `com.amazonaws.<region>.ecr.api`
+ Amazon ECR DKR 端點： `com.amazonaws.<region>.ecr.dkr`
+ Amazon CloudWatch Logs 端點： `com.amazonaws.<region>.logs`
+ Amazon S3 Gateway 端點： `com.amazonaws.<region>.s3`
+ AWS IoT Core 端點 （如果使用即時資料圖表則為必要） `com.amazonaws.<region>.iot.data` 

其他 VPC 組態也可能運作。

**重要**  
連接到每個 VPC 端點界面的安全群組必須允許來自 ECS 任務安全群組的連接埠 443 上的傳入 TCP 流量。

 **安全群組組態** 

在部署期間，解決方案會在 VPC 中建立安全群組，以允許 ECS 叢集中具有任務的下列流量：
+ 所有傳出流量
+ 連接埠 50000 上的傳入流量來自相同安全群組中的其他任務，以促進工作者和領導者任務之間的協調。

## 網路壓力測試
<a name="network-stress-test"></a>

您有責任在[網路壓力測試政策](https://aws.amazon.com/ec2/testing/)下使用此解決方案。此政策涵蓋的情況包括當您計劃直接從 Amazon EC2 執行個體執行大量網路測試到其他位置，例如其他 Amazon EC2 執行個體、AWS 屬性/服務或外部端點。這些測試有時稱為壓力測試、負載測試或遊戲日測試。大多數客戶測試不會屬於此政策；不過，如果您認為產生的流量總計維持超過 1 分鐘、超過 1 Gbps （每秒 10 億位元） 或超過 1 Gpps （每秒 10 億封包）。

## 限制對公有使用者介面的存取
<a name="restricting-access-to-the-public-user-interface"></a>

若要限制存取 IAM 和 Amazon Cognito 提供的身分驗證和授權機制以外的公開使用者介面，請使用 [AWS WAF (Web 應用程式防火牆） 安全自動化解決方案](https://aws.amazon.com/solutions/implementations/aws-waf-security-automations/)。

此解決方案會自動部署一組可篩選常見 Web 型攻擊的 AWS WAF 規則。使用者可以從預先設定的保護功能中選取 ，這些功能定義 AWS WAF Web 存取控制清單 (Web ACL) 中包含的規則。

## MCP 伺服器安全性 （選用）
<a name="mcp-server-security"></a>

如果您部署選用的 MCP Server 整合，解決方案會使用 AWS AgentCore Gateway 提供安全的存取，以載入 AI 代理器的測試資料。AgentCore Gateway 會驗證每個請求的 Amazon Cognito 身分驗證字符，確保只有授權使用者可以存取 MCP 伺服器。MCP Server Lambda 函數實作唯讀存取模式，防止 AI 代理器修改測試組態或結果。所有 MCP 伺服器互動都使用與 Web 主控台相同的許可界限和存取控制。

## 支援的 AWS 區域
<a name="supported-aws-regions"></a>

此解決方案使用 Amazon Cognito 服務，目前尚未在所有 AWS 區域提供。如需各區域 AWS 服務的最新可用性，請參閱 [AWS 區域服務清單](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。

AWS 上的分散式負載測試可在下列 AWS 區域使用：


| 區域名稱 |  | 
| --- | --- | 
|  美國東部 (俄亥俄)  |  亞太地區 (東京)  | 
|  美國東部 (維吉尼亞北部)  |  加拿大 (中部)  | 
|  美國西部 (加利佛尼亞北部)  |  歐洲 (法蘭克福)  | 
|  美國西部 (奧勒岡)  |  歐洲 (愛爾蘭)  | 
|  亞太地區 (孟買)  |  歐洲 (倫敦)  | 
|  亞太地區 (首爾)  |  Europe (Paris)  | 
|  亞太地區 (新加坡)  |  歐洲 (斯德哥爾摩)  | 
|  亞太地區 (悉尼)  |  南美洲 (聖保羅)  | 

### MCP 伺服器支援的 AWS 區域 （選用）
<a name="mcp-server-regions"></a>

如果您打算部署選用的 MCP Server 整合，您必須在可使用 AWS AgentCore Gateway 的 AWS 區域中部署解決方案。MCP 伺服器功能僅適用於下列 AWS 區域：


| 區域名稱 | 區域代碼 | 
| --- | --- | 
|  美國東部 (維吉尼亞北部)  |  us-east-1  | 
|  美國西部 (奧勒岡)  |  us-west-2  | 
|  亞太區域 (新加坡)  |  ap-southeast-1  | 
|  亞太區域 (雪梨)  |  ap-southeast-2  | 
|  亞太區域 (東京)  |  ap-northeast-1  | 
|  歐洲 (法蘭克福)  |  eu-central-1  | 
|  歐洲 (愛爾蘭)  |  eu-west-1  | 
|  歐洲 (倫敦)  |  eu-west-2  | 
|  歐洲 (巴黎)  |  eu-west-3  | 

如需依區域分類的 AWS AgentCore Gateway 最新可用性，請參閱[《AWS AgentCore Gateway 開發人員指南》中的 AWS AgentCore Gateway 端點和配額](https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/agentcore-regions.html)。 * AgentCore *

# 配額
<a name="quotas"></a>

服務配額 (也稱為限制) 是您 AWS 帳戶的服務資源或操作數目最大值。

## 此解決方案中 AWS 服務的配額
<a name="quotas-for-aws-services-in-this-solution"></a>

請確定您為此[解決方案中實作的每個服務](architecture-details.md#aws-services-in-this-solution)有足夠的配額。如需詳細資訊，請參閱 [AWS 服務配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。

使用以下連結前往該服務的 頁面。若要在不切換頁面的情況下檢視文件中所有 AWS 服務的服務配額，請改為檢視 PDF 中[服務端點和配額](https://docs.aws.amazon.com/general/latest/gr/aws-general.pdf#aws-service-information)頁面中的資訊。

## AWS CloudFormation 配額
<a name="aws-cloudformation-quotas"></a>

您的 AWS 帳戶具有在此解決方案中[啟動堆疊](launch-the-stack.md)時應注意的 AWS CloudFormation 配額。透過了解這些配額，您可以避免限制會阻止您成功部署此解決方案的錯誤。如需詳細資訊，請參閱《[AWS CloudFormation 使用者指南》中的 中的 AWS CloudFormation 配額](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html)。 *AWS CloudFormation *

## 負載測試配額
<a name="load-testing-quotas"></a>

可以使用 AWS Fargate 啟動類型在 Amazon ECS 中執行的任務數量上限，取決於任務的 vCPU 大小。AWS 上分散式負載測試的預設任務大小為 2 個 vCPU。若要查看目前的預設配額，請參閱 [Amazon ECS 服務配額](https://docs.aws.amazon.com/AmazonECS/latest/userguide/service-quotas.html)。目前的帳戶配額可能與列出的配額不同。若要檢查帳戶特定的配額，請在 AWS 管理主控台中檢查 Fargate 隨需 vCPU 資源計數的服務配額。如需如何請求增加的說明，請參閱《[AWS 一般參考指南》中的 AWS 服務配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)。 **

Amazon Linux 2023 容器映像 （已安裝 Taurus) 不會限制每個任務的並行連線，但這並不表示它可以支援不限數量的使用者。若要判斷容器可以為測試產生的並行使用者數量，請參閱本指南的[判斷使用者數量](create-test-scenario.md#determine-number-of-users)一節。

**注意**  
根據預設設定，並行使用者的建議限制為 200 個使用者。

## 並行測試
<a name="concurrent-tests"></a>

此解決方案會為每個測試建立 Amazon CloudWatch 儀表板，以即時顯示 Amazon ECS 叢集中執行之所有任務的合併輸出。CloudWatch 儀表板會顯示平均回應時間、並行使用者數、成功請求數和失敗請求數。解決方案會依秒彙總每個指標，並每分鐘更新儀表板。

## Amazon EC2 測試政策
<a name="amazon-ec2-testing-policy"></a>

只要您的網路流量低於 1 Gbps，就不需要 AWS 的核准，即可使用此解決方案執行負載測試。如果您的測試會產生超過 1 Gbps，請聯絡 AWS。如需詳細資訊，請參閱 [Amazon EC2 測試政策](https://aws.amazon.com/ec2/testing/)。

## Amazon CloudFront 負載測試政策
<a name="amazon-cloudfront-load-testing-policy"></a>

如果您打算對 CloudFront 端點進行負載測試，請參閱《*Amazon CloudFront 開發人員指南*》中的[負載測試準則](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/load-testing.html)。我們也建議將流量分散到多個任務和區域。為負載測試提供至少 30 分鐘的漸進測試時間。對於每秒傳送超過 500，000 個請求或要求超過 300 Gbps 資料的負載測試，我們建議您先取得傳送流量的預先核准。CloudFront 可能會調節影響 CloudFront 服務可用性的未核准負載測試流量。

# 監控部署後的解決方案
<a name="monitoring"></a>

部署解決方案之後，建議您使用 Amazon CloudWatch 警示和指標持續監控解決方案的資源。

## 設定 CloudWatch 警示
<a name="cloudwatch-alarms"></a>

您可以設定 [CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)來監控關鍵指標，並在超過閾值時接收通知。請考慮為下列資源設定警示：

 **Amazon CloudFront 分佈指標** 

監控 CloudFront 分佈效能和錯誤。如需詳細資訊，請參閱《Amazon [CloudFront 開發人員指南》中的 CloudFront 分佈指標](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/programming-cloudwatch-metrics.html)。 *Amazon CloudFront *

 **Amazon API Gateway 指標** 

監控 API 請求率、延遲和錯誤。如需詳細資訊，請參閱《[Amazon API Gateway 開發人員指南》中的 Amazon API Gateway 維度和指標](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html)。 *Amazon API Gateway *

 **AWS Lambda 函數指標** 

監控解決方案微服務的 Lambda 函數叫用、持續時間、錯誤和調節。

 **Amazon ECS 和 AWS Fargate 指標** 

在負載測試期間監控任務 CPU 和記憶體使用率，以確保有足夠的資源。

 **Amazon DynamoDB 指標** 

監控讀取和寫入容量消耗、調節請求和延遲。

# 與 專家互動
<a name="cdp"></a>

## 在 AWS 上進行分散式負載測試的 AWS Countdown Premium 短期業務
<a name="aws-countdown-premium-short-term-engagements-for-distributed-load-testing-on-aws"></a>

我們的 AWS 工程師提供有關效能測試基礎知識、指令碼開發和結果分析的專家指導。[立即註冊](https://aws.amazon.com/premiumsupport/aws-countdown/boost/)。

 **概觀** 

AWS Countdown Premium (CDP) 短期業務為大規模執行效能測試的組織提供專家指導。透過協作do-it-yourself」模型，AWS 工程師可在您的團隊維護執行責任的同時，提供策略監督和技術專業知識。專業 AWS 工程師可在註冊後一週內使用，無需簽訂長期合約。

 **服務模型** 

CDP 工程師與您的團隊一起合作，在整個效能測試實作過程中提供指導和監督。這種移出方法可確保您在建置內部功能時獲得專家指導。此服務非常適合具有現有測試功能的組織，這些組織需要專門的 AWS 專業知識，才能有效地在 AWS 上實作分散式負載測試。

 **CDP 工程師提供什麼** 

CDP 工程師會引導您完成 AWS 架構上的效能測試基礎知識和分散式負載測試。它們提供 JMeter、K6 和 Locust 指令碼結構和測試指令碼開發的指引、協助 CloudFormation 範本部署，以及使用效能最佳化建議評估測試結果。支援包括資源使用率分析、最佳實務一致性，以及從初始設定到結果分析end-to-end指引，以便將知識轉移到您的團隊。

 **客戶責任** 

您的團隊會處理應用程式層級組態、測試指令碼開發和測試案例驗證。您維護實際測試執行和操作的責任，包括效能測試事件之前、期間和之後的所有測試活動。

 **主要優點** 

CDP 短期業務透過專家監督、工作負載特有的內容指導、效能最佳化建議、更快的問題解決、最佳實務一致性和全面支援來降低風險，同時維護團隊的擁有權和能力開發。

 **支援的架構** 

AWS 上的分散式負載測試支援大規模測試 Web 應用程式、APIs、微服務和無伺服器架構，並利用 AWS 上的分散式負載測試解決方案。測試功能遠遠超過這些常用案例，包括資料庫、TCP/UDP 通訊協定、LDAP 目錄、SMTP 郵件伺服器，以及許多需要負載效能驗證的其他系統和通訊協定。

 **入門** 

對 AWS 上分散式負載測試的 CDP 短期業務感興趣的組織可以直接從[此處](https://aws.amazon.com/premiumsupport/aws-countdown/boost/)的 AWS 網站註冊，並為您的重點區域選取「使用案例實作」。

 **超出範圍** 

CDP 不提供自訂測試指令碼開發 （僅限指引）、管理測試執行操作，或建立自訂實作實驗室或研討會。現場支援也超出範圍。