本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
架构概述
架构图
使用默认参数部署此解决方案将在您的 AWS 账户中部署以下组件。
在 AWS 上的 AWS 架构上进行分布式负载测试
注意
AWS CloudFormation 资源是基于 AWS Cloud Development Kit (AWS CDK) 结构创建的。
使用 AWS CloudFormation 模板部署的解决方案组件的高级流程如下:
-
分布式负载测试器 API 利用 Amazon API Gateway
来调用解决方案的微服务(AWS Lambda 函数)。 -
微服务提供了用于管理测试数据和运行测试的业务逻辑。
-
这些微服务与亚马逊简单存储服务
(Amazon S3)、Amazon DynamoD B 和 AWS Step Fun ctions 交互,以存储测试场景的详细信息和结果并协调测试执行。 -
部署的亚马逊虚拟私有云
(亚马逊 VPC)网络拓扑结构包含在 AWS Farg ate 上运行的该解决方案的亚马逊弹性容器服务 (Amazon ECS ) 容器。 -
这些容器使用安装了 Ta ur
us 负载测试框架的 Amazon Linux 2023 基础镜像。Taurus 是一个开源测试自动化框架 JMeter,支持 K6、Locust 和其他测试工具。容器镜像符合开放容器计划 (OCI) 标准,由 AWS 托管在亚马逊弹性容器注册表 (Amazon ECR) 公共存储库中。有关更多信息,请参阅容器镜像自定义。 -
由 AWS Amplify
提供支持的网络控制台部署到为静态虚拟主机配置的 S3 存储桶中。 -
Amazon CloudFront
提供对解决方案网站存储桶内容的安全公开访问权限。 -
在初始配置期间,该解决方案会创建默认管理员角色(IAM 角色),并向客户指定的用户电子邮件地址发送访问邀请。
-
A mazon Cognito
用户池管理用户对控制台、分布式负载测试器 API 和 MCP 服务器的访问权限。 -
部署此解决方案后,您可以使用 Web 控制台或 APIs 创建和运行定义一系列任务的测试方案。
-
微服务使用此测试场景在指定区域的 Fargate 上运行 ECS 任务。
-
如果您启用实时数据选项,则该解决方案将在测试期间将运行测试的每个区域的 Fargate 任务中的 CloudWatch 日志发送到 Lambda 函数。
-
Lambda 函数将数据发布到部署主堆栈所在区域的 AWS IoT Core
中的相应主题。Web 控制台订阅主题并在测试运行时显示实时数据。 注意
以下步骤描述了用于人工智能辅助负载测试分析的可选 MCP 服务器集成。只有在解决方案部署期间选择 MCP 服务器选项,才会部署此组件。
-
MCP 客户端(AI 开发工具)连接到 AWS AgentCore Gateway
终端节点,通过模型上下文协议访问分布式负载测试解决方案的数据。 AgentCore Gateway 会验证用户的 Cognito 身份验证令牌,以确保对 MCP 服务器的授权访问。 -
成功进行身份验证后, AgentCore Gateway 会将 MCP 工具请求转发给 DLT MCP 服务器 Lambda 函数。Lambda 函数将结构化数据返回给 Gatewa AgentCore y,网关将其发送回 MCP 客户端,以进行人工智能辅助的分析和见解。
-
Lambda 函数处理请求并查询相应的 AWS 资源(DynamoDB 表、S3 存储桶或 CloudWatch 日志),以检索请求的负载测试数据。