AWS solutions documentation change
Summary
Updated solution version to 4.1.0, added implementation guide link, rephrased solution description, added new features including multiple deployment options (CloudFront+S3, ALB+ECS Fargate, headless), updated architecture diagram and steps, and provided separate CloudFormation templates.
Security assessment
The change introduces new deployment options (headless/ALB) that enhance network security by allowing private hosting and restricted access, but doesn't address any specific vulnerability. No evidence of security incident response.
Diff
diff --git a/solutions/distributed-load-testing-on-aws/index.md b/solutions/distributed-load-testing-on-aws/index.md index 3f514520c..24f974b0a 100644 --- a//solutions/distributed-load-testing-on-aws/index.md +++ b//solutions/distributed-load-testing-on-aws/index.md @@ -8 +8 @@ Version - 4.0.16 + 4.1.0 @@ -11,2 +10,0 @@ Released -Author - AWS @@ -16,0 +15,2 @@ Estimated cost +Implementation guide + [ View guide ](/solutions/latest/distributed-load-testing-on-aws/solution-overview.html) @@ -22 +22 @@ Estimated cost -Distributed Load Testing on AWS automates performance testing at scale, demonstrating how systems behave under different load conditions and helping identify potential performance issues throughout their lifecycle. This solution simulates user transactions ranging from hundreds to millions by automatically launching and managing distributed test runners within and across AWS Regions, without manual user or server provisioning and providing insights into crucial areas such as the scalability and reliability of your Amazon EC2 instances, Amazon ECS or Amazon EKS, AWS Lambda function performance, Amazon RDS database query performance, and Amazon CloudFront response times. +Simulate hundreds to millions of concurrent users against any endpoint, in any AWS Region, without provisioning a single server. Distributed Load Testing on AWS is an open-source solution that automates performance testing at scale, demonstrating how systems behave under different load conditions and helping identify potential performance issues throughout their lifecycle. The solution automatically launches and manages distributed test runners within and across AWS Regions, providing insights into the scalability and reliability of your Amazon EC2 instances, Amazon ECS or Amazon EKS clusters, AWS Lambda functions, Amazon RDS databases, and Amazon CloudFront distributions. @@ -24 +24 @@ Distributed Load Testing on AWS automates performance testing at scale, demonstr -This Solution supports JMeter, K6, and Locust testing frameworks and provides comprehensive analytics capabilities. Easily set test baselines to compare results throughout your application lifecycle and deploy the optional MCP server to build AI-powered analytics. You can streamline test execution, analyze regression over time, and gain deeper visibility into system behavior. +This solution supports JMeter, k6, and Locust testing frameworks, single HTTP endpoint tests, and provides comprehensive analytics capabilities. Set test baselines to compare results throughout your application lifecycle and deploy the optional MCP server to build AI-powered analytics. Streamline test execution, analyze regression over time, and gain deeper visibility into system behavior. @@ -28 +28 @@ This Solution supports JMeter, K6, and Locust testing frameworks and provides co -Optimize resource costs +Distribute load across regions @@ -30 +30 @@ Optimize resource costs -Right-size your infrastructure by gaining accurate insights into how your applications perform under varying load conditions, resulting in cost-effective resource allocation. +Optimize your application performance by simulating real-world traffic from multiple AWS Regions to assess how your application behaves under diverse geographic loads. @@ -36 +36 @@ Easily access test run and results data through the dashboard that supports down -Distribute load across regions +Automate insights with agentic AI @@ -38 +38 @@ Distribute load across regions -Optimize your application performance by simulating real-world traffic from multiple AWS Regions to assess how your application behaves under diverse geographic loads. +Deploy the optional MCP server to connect DLT with agentic AI workflows. Automate performance analysis, compare test results against observability metrics and application changes, and accelerate root cause identification without manual investigation. @@ -40 +40 @@ Optimize your application performance by simulating real-world traffic from mult -Integrate agents +Deploy behind any network boundary @@ -42 +42,5 @@ Integrate agents -Optionally, integrate with a MCP (Model Context Protocol) server to leverage agentic AI for automated insights and accelerate performance test and root cause analysis by integrating continuous performance testing with your agentic workflows to compare test results, observability metrics, and application changes. +Choose from three console hosting options: Amazon CloudFront with Amazon Simple Storage Service for public delivery, Application Load Balancer with Amazon Elastic Container Service on AWS Fargate for restricted networks, or a headless backend-only deployment for self-hosting behind your corporate network. + +Optimize resource costs + +Right-size your infrastructure by gaining accurate insights into how your applications perform under varying load conditions, resulting in cost-effective resource allocation. @@ -46 +50,3 @@ Optionally, integrate with a MCP (Model Context Protocol) server to leverage age -You can automatically deploy this architecture using the implementation guide and the accompanying AWS CloudFormation template for AWS Regions. +Choose from three web console hosting options to match your network and compliance requirements. The default uses Amazon CloudFront with Amazon Simple Storage Service for fast public delivery. For environments that restrict public Amazon CloudFront distributions, deploy with Application Load Balancer and Amazon Elastic Container Service on AWS Fargate. For complete network isolation, use the headless option that deploys the backend only and lets you host the console on your own web server. All options share the same backend and Amazon Cognito authentication. + +You can automatically deploy this architecture using the implementation guide and the accompanying AWS CloudFormation template. @@ -50 +56 @@ You can automatically deploy this architecture using the implementation guide an - Step 1 + Step 1 @@ -52 +58 @@ You can automatically deploy this architecture using the implementation guide an -A distributed load tester API leverages Amazon API Gateway to invoke the solution’s microservices (AWS Lambda functions). +(CloudFront + S3 hosting deployment option) The Console User accesses the web console through Amazon CloudFront, which serves the AWS Amplify application hosted in an Amazon Simple Storage Service (Amazon S3) bucket. @@ -56 +62 @@ Step 2 -The microservices provide the business logic to manage test data and run the tests. +(ALB + ECS Fargate hosting deployment option) The Console User accesses the web console through an Application Load Balancer, which routes traffic to the AWS Amplify application running on Amazon Elastic Container Service (Amazon ECS) on AWS Fargate inside an Amazon Virtual Private Cloud (Amazon VPC). @@ -60 +66 @@ Step 3 -These microservices interact with Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB, and AWS Step Functions to store test scenario details and results and to orchestrate test execution. +(Headless deployment option) No public front end is deployed. The solution provides the web console as a downloadable ZIP in a private Amazon S3 bucket. The Console User can access the console from a self-hosted web server. @@ -64 +70 @@ Step 4 -An Amazon Virtual Private Cloud (Amazon VPC) network topology deploys containing the solution’s Amazon Elastic Container Service (Amazon ECS) containers running on AWS Fargate. +During initial configuration, the solution creates a default administrator user in the Amazon Cognito user pool and sends an account creation email to the email address you provide. The Cognito user pool manages user access to the web console, the REST API, the CLI, and the MCP Server. @@ -68 +74 @@ Step 5 -The containers use an Amazon Linux 2023 base image with the [Taurus ](https://gettaurus.org/) load testing framework installed. Taurus is an open-source test automation framework that supports JMeter, K6, Locust, and other testing tools. The container image is [Open Container Initiative (OCI) ](https://opencontainers.org/) compliant and hosted by AWS in an Amazon Elastic Container Registry (Amazon ECR) public repository. For more information, refer to [Container image customization](/solutions/latest/distributed-load-testing-on-aws/container-image.html). +Amazon API Gateway invokes AWS Lambda microservices that provide the business logic to manage test data and run the tests. @@ -72 +78 @@ Step 6 -A web console powered by AWS Amplify deploys into an S3 bucket configured for static web hosting. +The microservices interact with Amazon S3, Amazon DynamoDB, and Amazon EventBridge to store test scenario details and manage test schedules. When you schedule a test to run at a future time or on a recurring interval, the microservices create an EventBridge Scheduler schedule that invokes the microservice at the scheduled time. @@ -76 +82 @@ Step 7 -Amazon CloudFront provides secure, public access to the solution’s website bucket contents. +To run a test, the microservices invoke AWS Step Functions, which orchestrates the test execution. @@ -80 +86 @@ Step 8 -During initial configuration, the solution creates a default administrator role (IAM role) and sends an access invite to a customer-specified user email address. +Amazon EventBridge rules route Amazon ECS task and Step Functions failure events to a failure handler Lambda function. @@ -84 +90 @@ Step 9 -An Amazon Cognito user pool manages user access to the console, the distributed load tester API, and the MCP Server. +Step Functions launches Amazon Elastic Container Service (Amazon ECS) tasks on AWS Fargate in each AWS Region you selected. @@ -88 +94 @@ Step 10 -After you deploy this solution, you can use the web console or APIs to create and run test scenarios that define a series of tasks. +Each task runs within an Amazon Virtual Private Cloud (Amazon VPC) in the selected Region. @@ -92 +98 @@ Step 11 -The microservices use this test scenario to run ECS tasks on Fargate in the specified Regions. +The load testing container uses an Amazon Linux 2023 base image with the [Taurus ](https://gettaurus.org/) test automation framework installed. Taurus executes your JMeter, k6, Locust, or Single HTTP Endpoint test. The container images are hosted by AWS in an Amazon Elastic Container Registry (Amazon ECR) public repository. @@ -96 +102 @@ Step 12 -When the test completes, the solution stores results in S3 and DynamoDB and logs output in Amazon CloudWatch. +Each Fargate task writes its per-Region test results to Amazon S3 and emits logs to Amazon CloudWatch. When all Regions complete, the microservices aggregate the results in DynamoDB. @@ -100 +106 @@ Step 13 -If you enable the live data option, the solution sends CloudWatch logs from the Fargate tasks to a Lambda function during the test for each Region where the test runs. +If you enable the live data option, a Lambda function receives CloudWatch logs from Fargate tasks during the test. @@ -104 +110 @@ Step 14 -The Lambda function publishes the data to the corresponding topic in AWS IoT Core in the Region where the main stack was deployed. The web console subscribes to the topic and displays real-time data while the test runs. +The Lambda function publishes the logs to a topic in AWS IoT Core in the Region where the main stack is deployed. The web console subscribes to the topic to display real-time metrics while the test runs. @@ -106 +112 @@ The Lambda function publishes the data to the corresponding topic in AWS IoT Cor -NOTE +Step 15 @@ -108 +114 @@ NOTE -The following steps describe the optional MCP Server integration for AI-assisted load testing analysis. This component is only deployed if you select the MCP Server option during solution deployment. +(Optional CLI access) Users can install the DLT command-line interface (CLI) locally to interact with the solution from their terminal. The CLI authenticates through Cognito and calls the REST API directly, enabling scripted automation and CI/CD integration. @@ -110 +116 @@ The following steps describe the optional MCP Server integration for AI-assisted -Step 15 +NOTE @@ -112 +118 @@ Step 15 -An MCP client (AI development tool) connects to the Amazon Bedrock AgentCore Gateway endpoint to access the Distributed Load Testing solution’s data through the Model Context Protocol. AgentCore Gateway validates the user’s Cognito authentication token to ensure authorized access to the MCP server. +The following steps describe the optional MCP Server integration for AI-assisted load testing analysis. This component is only deployed if you select the MCP Server option during solution deployment. @@ -116 +122 @@ Step 16 -Upon successful authentication, AgentCore Gateway forwards the MCP tool request to the DLT MCP Server Lambda function. The Lambda function returns the structured data to AgentCore Gateway, which sends it back to the MCP client for AI-assisted analysis and insights. +An MCP client (AI development tool) connects to the Amazon Bedrock AgentCore Gateway endpoint to access the Distributed Load Testing solution's data through the Model Context Protocol. AgentCore Gateway validates the user's Cognito authentication token to ensure authorized access to the MCP Server. @@ -120 +126,5 @@ Step 17 -The Lambda function processes the request and queries the appropriate AWS resources (DynamoDB tables, S3 buckets, or CloudWatch logs) to retrieve the requested load testing data. +Upon successful authentication, AgentCore Gateway forwards the MCP tool request to the DLT MCP Server Lambda function. + +Step 18 + +The Lambda function processes the request and queries the appropriate AWS resources (DynamoDB tables, S3 buckets, or CloudWatch logs) to retrieve the requested load testing data. It then returns the structured data to AgentCore Gateway, which sends it back to the MCP client for AI-assisted analysis and insights. @@ -134 +144 @@ Get started fast. Read the implementation guide for deployment steps, architectu -Ready to deploy? Follow a step-by-step guide in the AWS Console to begin setting up the infrastructure you need. You'll be prompted to access your AWS account if you haven't yet logged in. +Ready to deploy? AWS Launch Wizard walks you through setup in the AWS Console, where you can choose from three hosting templates to match your network requirements. You'll be prompted to access your AWS account if you haven't yet logged in. @@ -148 +158,7 @@ Follow these links for direct access to the artifacts for this AWS Solution. -### CloudFormation template +### CloudFormation templates + +Download the CloudFormation template for your preferred hosting option. + +[ Amazon CloudFront + S3 ](https://solutions-reference.s3.amazonaws.com/distributed-load-testing-on-aws/latest/distributed-load-testing-on-aws.template) [ ALB + ECS on Fargate ](https://solutions-reference.s3.amazonaws.com/distributed-load-testing-on-aws/latest/distributed-load-testing-on-aws-alb-ecs.template) [ Headless ](https://solutions-reference.s3.amazonaws.com/distributed-load-testing-on-aws/latest/distributed-load-testing-on-aws-headless.template) + +### Launch the stack @@ -150 +166 @@ Follow these links for direct access to the artifacts for this AWS Solution. -View or modify the CloudFormation template to customize your deployment. +Launch a CloudFormation template directly in your AWS account. @@ -152 +168 @@ View or modify the CloudFormation template to customize your deployment. -[ Download template ](https://solutions-reference.s3.amazonaws.com/distributed-load-testing-on-aws/latest/distributed-load-testing-on-aws.template) +[ Deploy Amazon CloudFront + S3 ](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?&templateURL=https://solutions-reference.s3.amazonaws.com/distributed-load-testing-on-aws/latest/distributed-load-testing-on-aws.template&redirectId=SolutionWeb) [ Deploy ALB + ECS on Fargate ](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?&templateURL=https://solutions-reference.s3.amazonaws.com/distributed-load-testing-on-aws/latest/distributed-load-testing-on-aws-alb-ecs.template&redirectId=SolutionWeb) [ Deploy Headless ](https://console.aws.amazon.com/cloudformation/home?region=us-east-1#/stacks/new?&templateURL=https://solutions-reference.s3.amazonaws.com/distributed-load-testing-on-aws/latest/distributed-load-testing-on-aws-headless.template&redirectId=SolutionWeb)