本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
故障排除
已知问题解决方案提供了缓解已知错误的说明。如果这些说明无法解决您的问题,请联系 AWS Supp ort 提供有关如何为该解决方案提出 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 服务就可以通过从 aw distributed-load-testing-on
问题:测试需要使用私有或无法通过 Internet 网关访问的端点
-
解决方案:
在测试无法通过互联网网关访问的私有 API 端点时,请考虑以下方法:
-
网络配置:确保将 ECS 任务使用的子网路由表更新为指向正在测试的私有终端节点 IP 地址范围的路由。这允许测试流量到达您的 VPC 内的私有终端节点。
-
DNS 解析:对于自定义域,请在您的 VPC 中配置 DNS 设置以解析私有终端节点的域名。有关详细说明,请参阅 VPC DNS 文档。
-
VPC 终端节点:如果测试 AWS 服务,请考虑使用 VPC 终端节点 (AWS PrivateLink) 建立私有连接。例如,要测试私有 API 网关,您可以为 API Gateway 创建 VPC 终端节点。参见私有 API Gateway 文档。
-
VPC 对等互连:如果私有终端节点位于其他 VPC 中,请在部署解决方案的 VPC 和包含私有终端节点的 VPC 之间建立 VPC 对等关系。在两者中配置适当的路由表 VPCs。请参阅 VPC 对等互连文档。
-
T@@ ransit Gateway:对于涉及多个的更复杂的联网场景 VPCs,可以考虑使用 AWS Transit Gateway 在解决方案的 VPC 和包含私有终端节点的 VPC 之间路由流量。请参阅 Transit Gateway 文档
-
安全组:确保与您的 ECS 任务关联的安全组允许私有终端节点的出站流量,并且私有终端节点的安全组允许来自 ECS 任务的入站流量。
要测试内部应用程序负载均衡器或 EC2 实例,请确保 VPC CIDR 范围不重叠,并在路由表中配置必要的路由。
问题:测试已完成,但用户界面上未显示结果
-
解决方案:
如果测试已完成,但用户界面中没有结果,则结果文件仍应位于运行测试的 ECS 任务的 S3 存储桶中。这是解决方案中的一个已知限制。在当前架构中,该解决方案使用结果解析 Lambda 函数来汇总多个 ECS 任务的结果,然后将这些结果作为一个项目存储在 DynamoDB 表中。DynamoDB 表的最大项目大小限制为 400 KB。是否达到此限制取决于测试脚本的复杂性、并发性和正在使用的任务数。该错误并不意味着测试失败;它表示汇总结果并将其存储在 DynamoDB 表中以进行 CRUD 操作的过程失败。测试场景的结果仍可在 S3 存储桶中找到。