Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Información general de la arquitectura
Diagrama de arquitectura
Al implementar esta solución con los parámetros predeterminados, se implementan los siguientes componentes en su cuenta de AWS.
Pruebas de carga distribuidas en la arquitectura de AWS
nota
Los CloudFormation recursos de AWS se crean a partir de las construcciones del kit de desarrollo en la nube de AWS (AWS CDK).
El flujo de proceso de alto nivel para los componentes de la solución implementados con la CloudFormation plantilla de AWS es el siguiente:
-
(CloudFront + opción de implementación del alojamiento S3) El usuario de la consola accede a la consola web a través de Amazon CloudFront
, que sirve la aplicación AWS Amplify alojada en un bucket de Amazon Simple Storage Service (Amazon S3). -
(Opción de implementación de alojamiento ALB + ECS Fargate) El usuario de la consola accede a la consola web a través de un balanceador de carga de aplicaciones
, que dirige el tráfico a la aplicación AWS Amplify que se ejecuta en Amazon Elastic Container Service (Amazon ECS) en AWS Fargate dentro de una nube privada virtual de Amazon (Amazon VPC). -
(Opción de implementación automática) No se implementa ninguna interfaz pública. La solución proporciona la consola web en forma de ZIP descargable en un bucket privado de Amazon S3. El usuario de la consola puede acceder a la consola desde un servidor web autohospedado.
-
Durante la configuración inicial, la solución crea un usuario administrador predeterminado en el grupo de usuarios de Amazon Cognito
y envía un correo electrónico de creación de cuenta a la dirección de correo electrónico que usted proporcione. El grupo de usuarios de Cognito administra el acceso de los usuarios a la consola web, la API REST, la CLI y el servidor MCP. -
Amazon API Gateway
invoca los microservicios de AWS Lambda que proporcionan la lógica empresarial necesaria para administrar los datos de las pruebas y ejecutarlas. -
Los microservicios interactúan con Amazon S3, Amazon DynamoDB y
Amazon EventBridge para almacenar los detalles de los escenarios de prueba y gestionar los cronogramas de las pruebas. Cuando programa una prueba para que se ejecute en un momento futuro o en un intervalo periódico, los microservicios crean una EventBridge programación del programador que invoca el microservicio a la hora programada. -
Para ejecutar una prueba, los microservicios invocan AWS Step Functions
, que organiza la ejecución de la prueba. -
EventBridge las reglas dirigen los eventos fallidos de las tareas y de Step Functions de Amazon ECS a una función Lambda del controlador de errores.
-
Step Functions lanza las tareas de Amazon Elastic Container Service
(Amazon ECS) en AWS Fargate en cada región de AWS que haya seleccionado. -
Cada tarea se ejecuta en una nube privada virtual de Amazon
(Amazon VPC) en la región seleccionada. -
Los contenedores de pruebas de carga utilizan una imagen base de
Amazon Linux 2023, y la imagen que utiliza una tarea depende del modo de configuración del tráfico de la prueba. En el modo Estándar, la imagen tiene instalado el marco de automatización de pruebas de Taurus. Taurus ejecuta la prueba de punto final HTTP de JMeter, k6, Locust o Simple mediante los parámetros de carga que configuró en la consola. En el modo nativo, una imagen dedicada para cada marco ejecuta ese marco directamente en el script, sin Taurus ni parámetros de carga de la solución. Para obtener más información sobre los modos, consulte los modos Traffic Shape. Para ver cómo se aprovisiona cada marco de prueba, consulta el aprovisionamiento del marco de prueba. La opción ALB + ECS utilizará el contenedor de alojamiento web. AWS aloja las imágenes del contenedor en un repositorio público de Amazon Elastic Container Registry (Amazon ECR). -
Cada tarea de Fargate escribe los resultados de las pruebas por región en Amazon S3 y emite los registros a Amazon. CloudWatch
Cuando se completan todas las regiones, los microservicios agregan los resultados en DynamoDB. -
Si habilita la opción de datos en tiempo real, una función de Lambda recibe los CloudWatch registros de las tareas de Fargate durante la prueba.
-
La función Lambda publica los registros de un tema de AWS IoT Core en la región
en la que está implementada la pila principal. La consola web se suscribe al tema para mostrar las métricas en tiempo real mientras se ejecuta la prueba. -
(Acceso a la CLI opcional) Los usuarios pueden instalar la interfaz de línea de comandos (CLI) del DLT de forma local para interactuar con la solución desde su terminal. La CLI se autentica a través de Cognito y llama directamente a la API REST, lo que permite la automatización y la integración mediante scripts. CI/CD
nota
En los pasos siguientes se describe la integración opcional del servidor MCP para AI-assisted el análisis de las pruebas de carga. Este componente solo se implementa si se selecciona la opción del servidor MCP durante la implementación de la solución.
-
Un cliente MCP (herramienta de desarrollo de IA) se conecta al punto final de
Amazon Bedrock AgentCore Gateway para acceder a los datos de la solución de pruebas de carga distribuidas a través del protocolo Model Context. AgentCore Gateway valida el token de autenticación de Amazon Cognito del usuario para verificar el acceso autorizado al servidor MCP. -
Tras la autenticación correcta, AgentCore Gateway reenvía la solicitud de la herramienta MCP a la función Lambda del servidor MCP del DLT.
-
La función Lambda llama a la API REST de DLT existente para recuperar los datos de prueba de carga solicitados. A continuación, devuelve los datos estructurados a AgentCore Gateway, que los envía de vuelta al cliente MCP para su análisis y AI-assisted análisis.