本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
前端
前端提供与解决方案交互的接口,包括:
-
用于编程访问的负载测试 API
-
用于创建、安排和运行性能测试的 Web 控制台
-
用于 AI-assisted 分析测试结果和错误的可选 MCP 服务器
负载测试 API
AWS 上的分布式负载测试将 Amazon API Gateway 配置为托管解决方案的 RESTful API。用户可以通过内含的 Web 控制台、RESTful API 和可选的 MCP 服务器安全地与负载测试系统进行交互。该 API 充当访问存储在亚马逊 DynamoDB 中的测试数据的 “前门”。您还可以使用 API 来访问您在解决方案中内置的任何扩展功能。
该解决方案利用了 Amazon Cognito 用户池的用户身份验证功能。成功对用户进行身份验证后,亚马逊 Cognito 会发放一个 JSON 网络令牌,该令牌用于允许控制台向解决方案的 API(亚马逊 API 网关终端节点)提交请求。HTTPS 请求由控制台使用包含令牌的授权标头发送到 API。
根据请求,API Gateway 调用相应的 AWS Lambda 函数,对存储在 DynamoDB 表中的数据执行必要的任务,将测试场景作为 JSON 对象存储在 Amazon S3 中,检索亚马逊 CloudWatch 指标图像,并将测试场景提交到 AWS Step Functions 状态机。
有关该解决方案的 API 的更多信息,请参阅本指南的分布式负载测试 API 部分。
Web 控制台
该解决方案包括一个 Web 控制台,可用于配置和运行测试、监控正在运行的测试以及查看详细的测试结果。该控制台是使用Cloudscape构建的ReactJS应用程序,
该解决方案支持三种 Web 控制台托管选项。所有选项的后端架构和 Cognito 身份验证都是相同的:
-
CloudFront + S3(默认)— 控制台托管在亚马逊 S3 中,可通过亚马逊访问 CloudFront。Web 控制台 URL 是 CloudFront 分发域名,可以在 CloudFormation 输出中以 console URL 的形式找到。启动 CloudFormation 模板后,您还会收到一封包含 Web 控制台 URL 和一次性登录密码的电子邮件。
-
ALB + ECS Fargate — 该控制台在应用程序负载均衡器后面的 ECS Fargate 服务上运行,该服务具有客户提供的 ACM 证书和自定义域。AWS WAF Web ACL 部署在 ALB 前面,以过滤常见的基于 Web 的攻击。此选项适用于 VPC 阻止公共访问 (BPA) 策略阻止来自公共 CloudFront 分配的流量的环境,或对公共互联网暴露要求为零的组织。有关部署说明,请参阅使用 ALB + ECS Far gate 进行部署。
-
Headless(自带 Web 服务器)— 该解决方案仅部署后端,并提供 Web 控制台静态资产的可下载压缩存档。您在自己的 Web 服务器上托管控制台。此选项适用于需要完全网络隔离且没有面向公众的 AWS 终端节点的组织,或者需要在现有本地或企业管理的基础设施上托管控制台的组织。有关部署说明,请参阅使用无头模板进行部署(自带 Web 服务器)。
MCP 服务器(可选)
可选的模型上下文协议 (MCP) 服务器为 AI 开发工具提供了一个额外的接口,用于通过自然语言交互访问和分析负载测试数据。只有在解决方案部署期间选择 “MCP 服务器” 选项时,才会部署此组件。
MCP 服务器使人工智能代理能够使用 Kiro CLI、Claude 和其他 MCP-compatible 人工智能助手等工具查询测试结果、分析性能指标并深入了解您的负载测试数据。有关 MCP 服务器架构和配置的详细信息,请参阅本节中的 MCP 服务器。