

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

# 疑難排解
<a name="troubleshooting"></a>

 [已知問題解決](#known-issue-resolution)提供減輕已知錯誤的指示。如果這些指示無法解決您的問題，[請聯絡 AWS Support](contact-aws-support.md) 提供為此解決方案開啟 AWS Support 案例的說明。

## 已知問題解決方案
<a name="known-issue-resolution"></a>

 **問題：您正在使用現有的 VPC，且測試失敗狀態為失敗，導致下列錯誤訊息：**

 `Test might have failed to run.` 
+ 解決方法：

確保子網路存在於指定的 VPC 中，且具有具有網際網路[閘道](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)或 [NAT 閘道](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html)的網際網路路由。AWS Fargate 需要存取才能從公有儲存庫提取容器映像，以成功執行測試。

 **問題：測試執行時間過長或無限期停滯** 
+ 解決方法：

取消測試並檢查 AWS Fargate，以確保所有任務都已停止。如果尚未停止，請手動停止所有 Fargate 任務。檢查帳戶的隨需 Fargate 任務限制，以確保您可以啟動所需的任務數量。您也可以檢查 Lambda 任務執行器函數的 CloudWatch 日誌，以深入了解啟動 Fargate 任務時的失敗。檢查 CloudWatch ECS 日誌，了解正在執行的 Fargate 容器中所發生事件的詳細資訊。

 **問題：測試正在開始，但無法完成或 ECS 任務的狀態不明** 
+ 解決方法：

如果您已選取在部署解決方案的帳戶中提供現有 VPC 的選項，請確定 ECS 任務使用的 VPC 有足夠的可用 IP 地址，以開始測試輸入中提供的任務數量。ECS 任務定義使用需要網際網路閘道或網際網路路由的 ECR 映像，以便 ECS 服務可以透過從 [aws-solutions/distributed-load-testing-on-aws-load-tester](https://gallery.ecr.aws/aws-solutions/distributed-load-testing-on-aws-load-tester) 下載解決方案 ECR 映像來佈建任務。如果您無法提供網際網路的路由，因為 VPC 中的所有子網路都是私有的，您可以使用 ECR [提取快取在帳戶中託管 ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html) 映像。使用新的 ECR 映像 URI 更新任務定義，並建立新的修訂。任務定義更新後，DynamoDB 資料表中的解決方案組態需要更新，才能使用新的修訂。您可以在金鑰 ScenariosTable 下的 CloudFormation 堆疊輸出索引標籤中找到 DynamoDB 資料表名稱。使用金鑰 testId 和值區域-【SOLUTION-DEPLOYED-REGION】 更新項目的屬性 taskDefinition。

 **問題：測試需要使用私有或無法透過網際網路閘道使用的端點** 
+ 解決方法：

測試無法透過網際網路閘道存取的私有 API 端點時，請考慮下列方法：

1.  **網路組態**：確保 ECS 任務使用的子網路路由表已更新為要測試之私有端點的 IP 地址範圍的路由。這可讓測試流量到達 VPC 中的私有端點。

1.  **DNS 解析**：對於自訂網域，請在 VPC 中設定 DNS 設定，以解析私有端點的網域名稱。如需詳細說明，請參閱 [VPC DNS](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-dns.html) 文件。

1.  **VPC 端點**：如果測試 AWS 服務，請考慮使用 VPC 端點 (AWS PrivateLink) 來建立私有連線。例如，若要測試私有 API Gateway，您可以為 API Gateway 建立 VPC 端點。請參閱[私有 API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-apis.html) 文件。

1.  **VPC 對等互連**：如果私有端點位於不同的 VPC 中，請在部署解決方案的 VPC 與包含私有端點的 VPC 之間建立 VPC 對等互連。在兩個 VPCs中設定適當的路由表。請參閱 [VPC 對等](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)互連文件。

1.  **傳輸閘道**：對於涉及多個 VPCs的更複雜聯網案例，請考慮使用 AWS Transit Gateway 在解決方案的 VPC 和包含私有端點的 VPC 之間路由流量。請參閱 [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) 文件。

1.  **安全群組**：確保與 ECS 任務相關聯的安全群組允許對私有端點的傳出流量，而私有端點的安全群組允許來自 ECS 任務的傳入流量。

若要測試內部 Application Load Balancer 或 EC2 執行個體，請確保 VPC CIDR 範圍不重疊，且已在路由表中設定必要的路由。

 **問題：測試正在完成，但 UI 上無法使用結果** 
+ 解決方法：

如果測試已完成，但在 UI 中無法使用結果，則結果檔案仍應可從執行測試的 ECS 任務，在 S3 儲存貯體中使用。這是 解決方案中的已知限制。在目前的架構中，解決方案會使用結果剖析 Lambda 函數來摘要來自多個 ECS 任務的結果，然後儲存為 DynamoDB 資料表中的項目。DynamoDB 資料表的項目大小上限為 400 KB。根據測試指令碼的複雜性、並行和使用的任務數量，達到此限制。錯誤並不表示測試失敗；它表示摘要結果並將其儲存在 DynamoDB 資料表中用於 CRUD 操作的程序已失敗。結果仍可在測試案例的 S3 儲存貯體中使用。