架构概述 - AWS 上的分布式负载测试

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

架构概述

架构图

使用默认参数部署此解决方案将在您的 AWS 账户中部署以下组件。

在 AWS 上的 AWS 架构上进行分布式负载测试

DLT MCP 流程
注意

AWS CloudFormation 资源是基于 AWS Cloud Development Kit (AWS CDK) 结构创建的。

使用 AWS CloudFormation 模板部署的解决方案组件的高级流程如下:

  1. 分布式负载测试器 API 利用 Amazon API Gateway 来调用解决方案的微服务(AWS Lambda 函数)。

  2. 微服务提供了用于管理测试数据和运行测试的业务逻辑。

  3. 这些微服务与亚马逊简单存储服务 (Amazon S3)、Amazon DynamoD B 和 AWS Step Fun ctions 交互,以存储测试场景的详细信息和结果并协调测试执行。

  4. 部署的亚马逊虚拟私有云(亚马逊 VPC)网络拓扑结构包含在 AWS Farg ate 上运行的该解决方案的亚马逊弹性容器服务 (Amazon ECS) 容器。

  5. 这些容器使用安装了 Ta ur us 负载测试框架的 Amazon Linux 2023 基础镜像。Taurus 是一个开源测试自动化框架 JMeter,支持 K6、Locust 和其他测试工具。容器镜像符合开放容器计划 (OCI) 标准,由 AWS 托管在亚马逊弹性容器注册表 (Amazon ECR) 公共存储库中。有关更多信息,请参阅容器镜像自定义

  6. AWS Amplify 提供支持的网络控制台部署到为静态虚拟主机配置的 S3 存储桶中。

  7. Amazon CloudFront 提供对解决方案网站存储桶内容的安全公开访问权限。

  8. 在初始配置期间,该解决方案会创建默认管理员角色(IAM 角色),并向客户指定的用户电子邮件地址发送访问邀请。

  9. A mazon Cognito 用户池管理用户对控制台、分布式负载测试器 API 和 MCP 服务器的访问权限。

  10. 部署此解决方案后,您可以使用 Web 控制台或 APIs 创建和运行定义一系列任务的测试方案。

  11. 微服务使用此测试场景在指定区域的 Fargate 上运行 ECS 任务。

  12. 测试完成后,该解决方案会将结果存储在 S3 和 DynamoDB 中,并将输出记录在亚马逊中。 CloudWatch

  13. 如果您启用实时数据选项,则该解决方案将在测试期间将运行测试的每个区域的 Fargate 任务中的 CloudWatch 日志发送到 Lambda 函数。

  14. Lambda 函数将数据发布到部署主堆栈所在区域的 AWS IoT Core 中的相应主题。Web 控制台订阅主题并在测试运行时显示实时数据。

    注意

    以下步骤描述了用于人工智能辅助负载测试分析的可选 MCP 服务器集成。只有在解决方案部署期间选择 MCP 服务器选项,才会部署此组件。

  15. MCP 客户端(AI 开发工具)连接到 AWS AgentCore Gateway 终端节点,通过模型上下文协议访问分布式负载测试解决方案的数据。 AgentCore Gateway 会验证用户的 Cognito 身份验证令牌,以确保对 MCP 服务器的授权访问。

  16. 成功进行身份验证后, AgentCore Gateway 会将 MCP 工具请求转发给 DLT MCP 服务器 Lambda 函数。Lambda 函数将结构化数据返回给 Gatewa AgentCore y,网关将其发送回 MCP 客户端,以进行人工智能辅助的分析和见解。

  17. Lambda 函数处理请求并查询相应的 AWS 资源(DynamoDB 表、S3 存储桶或 CloudWatch 日志),以检索请求的负载测试数据。