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 auf AWS
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:
-
Eine verteilte Loadtester-API nutzt Amazon API Gateway
, um die Microservices der Lösung (AWS Lambda Lambda-Funktionen ) aufzurufen. -
Die Microservices stellen die Geschäftslogik zur Verwaltung von Testdaten und zum Ausführen der Tests bereit.
-
Diese Microservices interagieren mit Amazon Simple Storage Service
(Amazon S3), Amazon DynamoDB und AWS Step Functions , um Details und Ergebnisse von Testszenarien zu speichern und die Testausführung zu orchestrieren. -
Eine Amazon Virtual Private Cloud
(Amazon VPC) -Netzwerktopologie wird bereitgestellt, die die Amazon Elastic Container Service (Amazon ECS) -Container der Lösung enthält, die auf AWS Fargate ausgeführt werden. -
Die Container verwenden ein Amazon Linux 2023-Basis-Image
, auf dem das Taurus Load Testing Framework installiert ist. Taurus ist ein Open-Source-Framework zur Testautomatisierung, das K6 JMeter, Locust und andere Testtools unterstützt. Das Container-Image entspricht der Open Container Initiative (OCI) und wird von AWS in einem öffentlichen Repository von Amazon Elastic Container Registry (Amazon ECR) gehostet. Weitere Informationen finden Sie unter Anpassung des Container-Images. -
Eine von AWS Amplify
betriebene Webkonsole wird in einem S3-Bucket bereitgestellt, der für statisches Webhosting konfiguriert ist. -
Amazon CloudFront
bietet sicheren, öffentlichen Zugriff auf die Bucket-Inhalte der Website der Lösung. -
Bei der Erstkonfiguration erstellt die Lösung eine standardmäßige Administratorrolle (IAM-Rolle) und sendet eine Zugangseinladung an eine vom Kunden angegebene Benutzer-E-Mail-Adresse.
-
Ein Amazon Cognito Cognito-Benutzerpool
verwaltet den Benutzerzugriff auf die Konsole, die Distributed Load Tester API und den MCP-Server. -
Nachdem Sie diese Lösung bereitgestellt haben, können Sie die Webkonsole verwenden oder APIs Testszenarien erstellen und ausführen, die eine Reihe von Aufgaben definieren.
-
Die Microservices verwenden dieses Testszenario, um ECS-Aufgaben auf Fargate in den angegebenen Regionen auszuführen.
-
Wenn Sie die Live-Datenoption aktivieren, sendet die Lösung während des Tests für jede Region, in der der Test ausgeführt wird, CloudWatch Protokolle von den Fargate-Aufgaben an eine Lambda-Funktion.
-
Die Lambda-Funktion veröffentlicht die Daten zum entsprechenden Thema in AWS IoT Core
in der Region, in der der Haupt-Stack bereitgestellt wurde. Die Webkonsole abonniert das Thema und zeigt Echtzeitdaten an, während der Test ausgeführt wird. Anmerkung
In den folgenden Schritten wird die optionale MCP-Serverintegration für KI-gestützte Lasttestanalysen 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 AgentCore AWS-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 für KI-gestützte Analysen und Einblicke 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.