Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Panoramica dell’architettura
Diagramma architetturale
La distribuzione di questa soluzione con i parametri predefiniti distribuisce i seguenti componenti nel tuo account AWS.
Test di carico distribuito sull'architettura AWS su AWS
Nota
Le CloudFormation risorse AWS vengono create a partire da costrutti di AWS Cloud Development Kit (AWS CDK).
Il flusso di processo di alto livello per i componenti della soluzione distribuiti con il CloudFormation modello AWS è il seguente:
-
Un'API di test di carico distribuita sfrutta Amazon API Gateway
per richiamare i microservizi della soluzione (funzioni AWS Lambda). -
I microservizi forniscono la logica aziendale per gestire i dati di test ed eseguire i test.
-
Questi microservizi interagiscono con Amazon Simple Storage Service
(Amazon S3), Amazon DynamoDB e AWS Step Functions per archiviare dettagli e risultati dello scenario di test e orchestrare l'esecuzione dei test. -
Viene distribuita una topologia di rete Amazon Virtual Private Cloud
(Amazon VPC) contenente i contenitori Amazon Elastic Container Service (Amazon ECS) della soluzione in esecuzione su AWS Fargate. -
I container utilizzano un'immagine base di Amazon Linux 2023
con il framework di load testing Taurus installato. Taurus è un framework di automazione dei test open source che supporta K6 JMeter, Locust e altri strumenti di test. L'immagine del contenitore è conforme a Open Container Initiative (OCI) e ospitata da AWS in un repository pubblico Amazon Elastic Container Registry (Amazon ECR). Per ulteriori informazioni, consulta la sezione Personalizzazione dell'immagine del contenitore. -
Una console Web basata su AWS Amplify
viene distribuita in un bucket S3 configurato per l'hosting web statico. -
Amazon CloudFront
fornisce un accesso pubblico e sicuro ai contenuti del bucket del sito Web della soluzione. -
Durante la configurazione iniziale, la soluzione crea un ruolo di amministratore predefinito (ruolo IAM) e invia un invito di accesso a un indirizzo e-mail utente specificato dal cliente.
-
Un pool di utenti di Amazon Cognito
gestisce l'accesso degli utenti alla console, all'API del tester di carico distribuito e al server MCP. -
Dopo aver distribuito questa soluzione, puoi utilizzare la console Web o creare ed eseguire scenari APIs di test che definiscono una serie di attività.
-
I microservizi utilizzano questo scenario di test per eseguire attività ECS su Fargate nelle regioni specificate.
-
Se si abilita l'opzione live data, la soluzione invia CloudWatch i log delle attività di Fargate a una funzione Lambda durante il test per ogni regione in cui viene eseguito il test.
-
La funzione Lambda pubblica i dati nell'argomento corrispondente in AWS IoT Core
nella regione in cui è stato distribuito lo stack principale. La console web sottoscrive l'argomento e visualizza i dati in tempo reale durante l'esecuzione del test. Nota
I passaggi seguenti descrivono l'integrazione opzionale del server MCP per l'analisi dei test di carico assistita dall'intelligenza artificiale. Questo componente viene distribuito solo se si seleziona l'opzione MCP Server durante la distribuzione della soluzione.
-
Un client MCP (strumento di sviluppo AI) si connette all'endpoint AWS AgentCore Gateway
per accedere ai dati della soluzione Distributed Load Testing tramite il Model Context Protocol. AgentCore Gateway convalida il token di autenticazione Cognito dell'utente per garantire l'accesso autorizzato al server MCP. -
Una volta completata l'autenticazione, AgentCore Gateway inoltra la richiesta dello strumento MCP alla funzione Lambda del server DLT MCP. La funzione Lambda restituisce i dati strutturati a AgentCore Gateway, che li invia al client MCP per analisi e approfondimenti assistiti dall'intelligenza artificiale.
-
La funzione Lambda elabora la richiesta e interroga le risorse AWS appropriate (tabelle DynamoDB, bucket S3 o CloudWatch log) per recuperare i dati di test di carico richiesti.