View a markdown version of this page

Frontend - Verteilte Lasttests auf AWS

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.

Frontend

Das Frontend bietet die Schnittstellen für die Interaktion mit der Lösung und umfasst:

  • Eine Lasttest-API für den programmatischen Zugriff

  • Eine Webkonsole zum Erstellen, Planen und Ausführen von Leistungstests

  • Ein optionaler MCP-Server zur AI-assisted Analyse von Testergebnissen und Fehlern

Test-API laden

Distributed Load Testing auf AWS konfiguriert Amazon API Gateway so, dass es die RESTful-API der Lösung hostet. Benutzer können über die mitgelieferte Webkonsole, die RESTful-API und den optionalen MCP-Server sicher mit dem Lasttestsystem interagieren. Die API fungiert als „Eingangstür“ für den Zugriff auf Testdaten, die in Amazon DynamoDB gespeichert sind. Sie können die APIs auch verwenden, um auf alle erweiterten Funktionen zuzugreifen, die Sie in die Lösung integriert haben.

Diese Lösung nutzt die Benutzerauthentifizierungsfunktionen der Amazon Cognito Cognito-Benutzerpools. Nach erfolgreicher Authentifizierung eines Benutzers gibt Amazon Cognito ein JSON-Web-Token aus, das der Konsole ermöglicht, Anfragen an die APIs der Lösung (Amazon API Gateway Gateway-Endpunkte) zu senden. HTTPS-Anfragen werden von der Konsole mit dem Autorisierungsheader, der das Token enthält, an die APIs gesendet.

Basierend auf der Anfrage ruft API Gateway die entsprechende AWS Lambda Lambda-Funktion auf, um die erforderlichen Aufgaben mit den in den DynamoDB-Tabellen gespeicherten Daten auszuführen, Testszenarien als JSON-Objekte in Amazon S3 zu speichern, Amazon CloudWatch Metrics-Bilder abzurufen und Testszenarien an die AWS Step Functions Functions-Zustandsmaschine zu senden.

Weitere Informationen zur API der Lösung finden Sie im Abschnitt Distributed Load Testing API dieses Handbuchs.

Web-Konsole

Diese Lösung umfasst eine Webkonsole, mit der Sie Tests konfigurieren und ausführen, laufende Tests überwachen und detaillierte Testergebnisse anzeigen können. Die Konsole ist eine ReactJS-Anwendung, die mit Cloudscape, einem Open-Source-Designsystem für die Erstellung intuitiver Webanwendungen, erstellt wurde. Die Anwendung nutzt AWS Amplify zur Integration mit Amazon Cognito, um Benutzer zu authentifizieren. Die Webkonsole enthält auch eine Option zum Anzeigen von Live-Daten für einen laufenden Test, in dem sie das entsprechende Thema in AWS IoT Core abonniert.

Die Lösung unterstützt drei Hosting-Optionen für Webkonsolen. Die Backend-Architektur und die Cognito-Authentifizierung sind für alle Optionen identisch:

  • CloudFront + S3 (Standard) — Die Konsole wird in Amazon S3 gehostet und der Zugriff erfolgt über Amazon CloudFront. Die URL der Webkonsole ist der Name der CloudFront Distributionsdomain, der in den CloudFormation Ausgaben als Konsole zu finden ist. Nachdem Sie die CloudFormation Vorlage gestartet haben, erhalten Sie außerdem eine E-Mail mit der URL der Webkonsole und dem Einmalkennwort für die Anmeldung.

  • ALB + ECS Fargate — Die Konsole läuft auf einem ECS Fargate-Dienst hinter einem Application Load Balancer mit einem vom Kunden bereitgestellten ACM-Zertifikat und einer benutzerdefinierten Domain. Eine AWS WAF WAF-Web-ACL wird vor der ALB bereitgestellt, um gängige webbasierte Angriffe zu filtern. Diese Option eignet sich für Umgebungen, in denen VPC Block Public Access (BPA) -Richtlinien den Datenverkehr von öffentlichen CloudFront Verteilern verhindern, oder für Organisationen, die keine Anforderungen an die Gefährdung des öffentlichen Internets stellen. Anweisungen zur Bereitstellung finden Sie unter Deploy using ALB + ECS Fargate.

  • Headless (bringen Sie Ihren eigenen Webserver mit) — Die Lösung stellt nur das Backend bereit und bietet ein herunterladbares ZIP-Archiv der statischen Ressourcen der Webkonsole. Sie hosten die Konsole auf Ihrem eigenen Webserver. Diese Option eignet sich für Unternehmen, die eine vollständige Netzwerkisolierung ohne öffentliche AWS-Endpunkte benötigen oder die die Konsole auf einer vorhandenen lokalen oder vom Unternehmen verwalteten Infrastruktur hosten müssen. Anweisungen zur Bereitstellung finden Sie unter Bereitstellen mithilfe einer kopflosen Vorlage (bringen Sie Ihren eigenen Webserver mit).

MCP-Server (optional)

Der optionale Model Context Protocol (MCP) -Server bietet eine zusätzliche Schnittstelle für KI-Entwicklungstools, um über Interaktionen in natürlicher Sprache auf Lasttestdaten zuzugreifen und diese zu analysieren. Diese Komponente wird nur bereitgestellt, wenn Sie bei der Bereitstellung der Lösung die Option MCP-Server auswählen.

Mit dem MCP-Server können KI-Agenten mithilfe von Tools wie Amazon Q, Claude und anderen MCP-compatible KI-Assistenten Testergebnisse abfragen, Leistungskennzahlen analysieren und Einblicke in Ihre Lasttestdaten gewinnen. Ausführliche Informationen zur Architektur und Konfiguration des MCP-Servers finden Sie in diesem Abschnitt unter MCP Server.