本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
架构概述
架构图
使用默认参数部署此解决方案将在您的 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)网络拓扑,其中包含在 A WS Fargate 上运行的该解决方案的亚马逊弹性容器服务 (Amazon ECS ) 容器。 -
这些容器包括 AmazonLinux
(安装了 blazemeter 负载测试框架的)符合开放容器倡议 (OCI) 的容器镜像,该镜像用于生成用于测试应用程序性能的负载。 Taurus/Blazemeter 是一个开源测试自动化框架。容器镜像由 AWS 托管在亚马逊弹性容器注册表 (Amazon ECR) 公共存储库中。有关 ECR 镜像存储库的更多信息,请参阅容器镜像自定义。 -
由 AWS Amplify
提供支持的网络控制台部署到为静态虚拟主机配置的 Amazon S3 存储桶中。 -
Amazon CloudFront
提供对解决方案网站存储桶内容的安全公开访问权限。 -
在初始配置期间,此解决方案还会创建默认的解决方案管理员角色(IAM 角色),并向客户指定的用户电子邮件地址发送访问邀请。
-
A mazon Cognito
用户池管理用户对控制台和分布式负载测试器 API 的访问权限。 -
部署此解决方案后,您可以使用 Web 控制台创建定义一系列任务的测试场景。
-
微服务使用此测试场景在指定区域的 AWS Fargate 任务上运行 Amazon ECS。
-
除了将结果存储在 Amazon S3 和 DynamoDB 中,测试完成后,输出还会记录在亚马逊中。 CloudWatch
-
如果您选择实时数据选项,则该解决方案将在测试期间将 AWS Fargate 任务的 Amazon CloudWatch 日志发送到 Lambda 函数,适用于运行测试的每个区域。
-
然后,Lambda 函数将数据发布到部署主堆栈所在区域的 AWS IoT Core
中的相应主题。Web 控制台订阅了该主题,当测试在 Web 控制台中运行时,您可以看到数据。