本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
疑難排解
已知問題解決提供減輕已知錯誤的指示。如果這些指示無法解決您的問題,請聯絡 AWS Support 提供為此解決方案開啟 AWS Support 案例的說明。
已知問題解決方案
問題:您正在使用現有的 VPC,而且您的測試失敗,狀態為失敗,導致下列錯誤訊息:
Test might have failed to run.
-
解決方法:
確保子網路存在於指定的 VPC 中,並且具有具有網際網路閘道或 NAT 閘道的網際網路路由。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
問題:測試需要使用私有或無法透過網際網路閘道使用的端點
-
解決方法:
測試無法透過網際網路閘道存取的私有 API 端點時,請考慮下列方法:
-
網路組態:確保 ECS 任務使用的子網路路由表已更新為要測試之私有端點的 IP 地址範圍的路由。這可讓測試流量到達 VPC 中的私有端點。
-
DNS 解析:對於自訂網域,請在 VPC 中設定 DNS 設定,以解析私有端點的網域名稱。如需詳細說明,請參閱 VPC DNS 文件。
-
VPC 端點:如果測試 AWS 服務,請考慮使用 VPC 端點 (AWS PrivateLink) 來建立私有連線。例如,若要測試私有 API Gateway,您可以為 API Gateway 建立 VPC 端點。請參閱私有 API Gateway 文件。
-
VPC 對等互連:如果私有端點位於不同的 VPC 中,請在部署解決方案的 VPC 與包含私有端點的 VPC 之間建立 VPC 對等互連。在兩個 VPCs中設定適當的路由表。請參閱 VPC 對等互連文件。
-
傳輸閘道:對於涉及多個 VPCs的更複雜聯網案例,請考慮使用 AWS Transit Gateway 在解決方案的 VPC 和包含私有端點的 VPC 之間路由流量。請參閱 Transit Gateway 文件。
-
安全群組:確保與 ECS 任務相關聯的安全群組允許對私有端點的傳出流量,而私有端點的安全群組允許來自 ECS 任務的傳入流量。
若要測試內部 Application Load Balancer 或 EC2 執行個體,請確保 VPC CIDR 範圍不重疊,且已在路由表中設定必要的路由。
問題:測試正在完成,但 UI 上無法使用結果
-
解決方法:
如果測試已完成,但在 UI 中無法使用結果,則結果檔案應該仍可從執行測試的 ECS 任務,在 S3 儲存貯體中使用。這是 解決方案中的已知限制。在目前的架構中,解決方案會使用結果剖析 Lambda 函數來摘要來自多個 ECS 任務的結果,然後儲存為 DynamoDB 資料表中的項目。DynamoDB 資料表的項目大小上限為 400 KB。根據測試指令碼的複雜性、並行和使用的任務數量,達到此限制。錯誤並不表示測試失敗;它表示摘要結果並將其存放在 DynamoDB 資料表中用於 CRUD 操作的程序已失敗。結果仍可在測試案例的 S3 儲存貯體中使用。