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