

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 问题排查
<a name="troubleshooting"></a>

 [已知问题解决方案](#known-issue-resolution)提供了缓解已知错误的说明。如果这些说明无法解决您的问题，[请联系 AWS Supp](contact-aws-support.md) ort 提供有关如何为该解决方案提出 AWS Support 案例的说明。

## 已知问题解决方案
<a name="known-issue-resolution"></a>

 **问题：您使用的是现有 VPC，测试失败，状态为 “失败”，从而出现以下错误消息：**

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

确保子网存在于指定的 VPC 中，并且这些子网具有通过互联网[网关或 [NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html) 网关到互联网](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html)的路由。AWS Fargate 需要访问权限才能从公共存储库中提取容器映像才能成功运行测试。

 **问题：测试运行时间太长或无法无限期运行** 
+ 解决方法：

取消测试并检查 AWS Fargate，确保所有任务都已停止。如果他们尚未停止，请手动停止所有 Fargate 任务。检查您账户的按需 Fargate 任务限制，确保您可以启动所需数量的任务。您还可以查看 Lambda 任务运行器函数的 CloudWatch 日志，以更深入地了解启动 Fargate 任务时出现的故障。查看 CloudWatch ECS 日志，详细了解正在运行的 Fargate 容器中发生的事情。

 **问题：测试已开始但未能完成，或者 ECS 任务的状态未知** 
+ 解决方法：

如果您选择了在部署解决方案的账户中提供现有 VPC 的选项，请确保 ECS 任务使用的 VPC 有足够的免费 IP 地址来启动测试输入中提供的任务数量。ECS 任务定义使用需要互联网网关或互联网路由的 ECR 映像，这样 ECS 服务就可以通过从 [aw distributed-load-testing-on](https://gallery.ecr.aws/aws-solutions/distributed-load-testing-on-aws-load-tester) s-solutions/-下载解决方案 ECR 映像来配置任务。aws-load-tester如果由于 VPC 中的所有子网都是私有子网而无法提供互联网路由，则可以使用 ECR [拉取](https://docs.aws.amazon.com/AmazonECR/latest/userguide/pull-through-cache.html)缓存将 ECR 镜像托管在您的账户中。使用新的 ECR 镜像 URI 更新任务定义并创建新的修订版。任务定义更新后，需要更新 DynamoDB 表中的解决方案配置以使用新的修订版。DynamoDB 表名可以在密钥下方的堆栈输出选项卡 CloudFormation 中找到。 ScenariosTable使用密钥 testID 和值 region-[SOLUTION-DEPLOYED-REGION] 更新该项目的属性 TaskDefinition。

 **问题：测试需要使用私有或无法通过 Internet 网关访问的端点** 
+ 解决方法：

在测试无法通过互联网网关访问的私有 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 网关，您可以为 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.  T@@ **ransit Gateway**：对于涉及多个的更复杂的联网场景 VPCs，可以考虑使用 AWS Transit Gateway 在解决方案的 VPC 和包含私有终端节点的 VPC 之间路由流量。请参阅 [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html) 文档

1.  **安全组**：确保与您的 ECS 任务关联的安全组允许私有终端节点的出站流量，并且私有终端节点的安全组允许来自 ECS 任务的入站流量。

要测试内部应用程序负载均衡器或 EC2 实例，请确保 VPC CIDR 范围不重叠，并在路由表中配置必要的路由。

 **问题：测试已完成，但用户界面上未显示结果** 
+ 解决方法：

如果测试已完成，但用户界面中没有结果，则结果文件仍应位于运行测试的 ECS 任务的 S3 存储桶中。这是解决方案中的一个已知限制。在当前架构中，该解决方案使用结果解析 Lambda 函数来汇总多个 ECS 任务的结果，然后将这些结果作为一个项目存储在 DynamoDB 表中。DynamoDB 表的最大项目大小限制为 400 KB。是否达到此限制取决于测试脚本的复杂性、并发性和正在使用的任务数。该错误并不意味着测试失败；它表示汇总结果并将其存储在 DynamoDB 表中以进行 CRUD 操作的过程失败。测试场景的结果仍可在 S3 存储桶中找到。