Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Übersicht über die Architektur
Architekturdiagramm
Durch die Bereitstellung dieser Lösung mit den Standardparametern werden die folgenden Komponenten in Ihrem AWS-Konto bereitgestellt.
Verteilte Lasttests auf der AWS-Architektur
Anmerkung
CloudFormation AWS-Ressourcen werden aus Konstrukten des AWS Cloud Development Kit (AWS CDK) erstellt.
Der allgemeine Prozessablauf für die mit der CloudFormation AWS-Vorlage bereitgestellten Lösungskomponenten sieht wie folgt aus:
-
(CloudFront + S3-Hosting-Bereitstellungsoption) Der Konsolenbenutzer greift über Amazon
auf die Webkonsole zu CloudFront, die die AWS Amplify Amplify-Anwendung bereitstellt, die in einem Amazon Simple Storage Service (Amazon S3) -Bucket gehostet wird. -
(ALB + ECS Fargate-Hosting-Bereitstellungsoption) Der Konsolenbenutzer greift über einen Application Load Balancer
auf die Webkonsole zu, der den Datenverkehr an die AWS Amplify Amplify-Anwendung weiterleitet, die auf Amazon Elastic Container Service (Amazon ECS) auf AWS Fargate in einer Amazon Virtual Private Cloud (Amazon VPC ) ausgeführt wird. -
(Headless-Bereitstellungsoption) Es wird kein öffentliches Frontend bereitgestellt. Die Lösung stellt die Webkonsole als herunterladbare ZIP-Datei in einem privaten Amazon S3 S3-Bucket bereit. Der Konsolenbenutzer kann von einem selbst gehosteten Webserver aus auf die Konsole zugreifen.
-
Während der Erstkonfiguration erstellt die Lösung einen Standard-Administratorbenutzer im Amazon Cognito Cognito-Benutzerpool
und sendet eine E-Mail zur Kontoerstellung an die von Ihnen angegebene E-Mail-Adresse. Der Cognito-Benutzerpool verwaltet den Benutzerzugriff auf die Webkonsole, die REST-API, die CLI und den MCP-Server. -
Amazon API Gateway
ruft AWS Lambda Lambda-Mikroservices auf, die die Geschäftslogik für die Verwaltung von Testdaten und die Ausführung der Tests bereitstellen. -
Die Microservices interagieren mit Amazon S3, Amazon DynamoDB und Amazon
, um Details zu Testszenarien EventBridge zu speichern und Testpläne zu verwalten. Wenn Sie einen Test so planen, dass er zu einem future Zeitpunkt oder in einem wiederkehrenden Intervall ausgeführt wird, erstellen die Microservices einen EventBridge Scheduler-Zeitplan, der den Microservice zur geplanten Zeit aufruft. -
Um einen Test auszuführen, rufen die Microservices AWS Step Functions
auf, das die Testausführung orchestriert. -
EventBridge Regeln leiten die Fehlerereignisse von Amazon ECS-Aufgaben und Step Functions an eine Lambda-Funktion für die Fehlerbehandlung weiter.
-
Step Functions startet Amazon Elastic Container Service
(Amazon ECS) -Aufgaben auf AWS Fargate in jeder AWS-Region, die Sie ausgewählt haben. -
Jede Aufgabe wird in einer Amazon Virtual Private Cloud
(Amazon VPC) in der ausgewählten Region ausgeführt. -
Der Load-Test-Container verwendet ein Amazon Linux 2023-Basis-Image
, auf dem das Taurus-Testautomatisierungs-Framework installiert ist. Taurus führt Ihren JMeter-, K6-, Locust- oder Single HTTP Endpoint-Test aus. Einzelheiten zur Bereitstellung der einzelnen Test-Frameworks finden Sie unter Test-Framework-Bereitstellung. Die Option ALB + ECS verwendet den Webhost-Container. Die Container-Images werden von AWS in einem öffentlichen Repository von Amazon Elastic Container Registry (Amazon ECR) gehostet. -
Jede Fargate-Aufgabe schreibt ihre Testergebnisse pro Region in Amazon S3 und sendet Protokolle an Amazon. CloudWatch
Wenn alle Regionen abgeschlossen sind, aggregieren die Microservices die Ergebnisse in DynamoDB. -
Wenn Sie die Live-Datenoption aktivieren, empfängt eine Lambda-Funktion während des CloudWatch Tests Protokolle von Fargate-Aufgaben.
-
Die Lambda-Funktion veröffentlicht die Protokolle zu einem Thema in AWS IoT Core
in der Region, in der der Haupt-Stack bereitgestellt wird. Die Webkonsole abonniert das Thema, um während der Testausführung Echtzeit-Metriken anzuzeigen. -
(Optionaler CLI-Zugriff) Benutzer können die DLT-Befehlszeilenschnittstelle (CLI) lokal installieren, um von ihrem Terminal aus mit der Lösung zu interagieren. Die CLI authentifiziert sich über Cognito und ruft die REST-API direkt auf, was eine skriptbasierte Automatisierung und Integration ermöglicht. CI/CD
Anmerkung
In den folgenden Schritten wird die optionale MCP-Serverintegration für AI-assisted die Lasttestanalyse beschrieben. Diese Komponente wird nur bereitgestellt, wenn Sie bei der Bereitstellung der Lösung die Option MCP Server auswählen.
-
Ein MCP-Client (KI-Entwicklungstool) stellt eine Verbindung zum Amazon Bedrock AgentCore Gateway-Endpunkt
her, um über das Model Context Protocol auf die Daten der Distributed Load Testing-Lösung zuzugreifen. AgentCore Gateway validiert das Cognito-Authentifizierungstoken des Benutzers, um den autorisierten Zugriff auf den MCP-Server sicherzustellen. -
Nach erfolgreicher Authentifizierung leitet AgentCore Gateway die MCP-Tool-Anfrage an die DLT MCP Server Lambda-Funktion weiter. Die Lambda-Funktion gibt die strukturierten Daten an AgentCore Gateway zurück, das sie zur AI-assisted Analyse und Auswertung an den MCP-Client zurücksendet.
-
Die Lambda-Funktion verarbeitet die Anfrage und fragt die entsprechenden AWS-Ressourcen (DynamoDB-Tabellen, S3-Buckets oder CloudWatch Logs) ab, um die angeforderten Lasttestdaten abzurufen.