Présentation de l’architecture - Tests de charge distribués sur AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Présentation de l’architecture

Diagramme d’architecture

Le déploiement de cette solution avec les paramètres par défaut déploie les composants suivants dans votre compte AWS.

Tests de charge distribués sur l'architecture AWS sur AWS

Procédé DLT MCP
Note

Les CloudFormation ressources AWS sont créées à partir des constructions du kit AWS Cloud Development Kit (AWS CDK).

Le flux de processus de haut niveau pour les composants de solution déployés avec le CloudFormation modèle AWS est le suivant :

  1. Une API de testeur de charge distribué utilise Amazon API Gateway pour appeler les microservices de la solution (fonctions AWS Lambda).

  2. Les microservices fournissent la logique métier permettant de gérer les données de test et d'exécuter les tests.

  3. Ces microservices interagissent avec Amazon Simple Storage Service (Amazon S3), Amazon DynamoDB et AWS Step Functions pour stocker les détails et les résultats des scénarios de test et pour orchestrer l'exécution des tests.

  4. Une topologie de réseau Amazon Virtual Private Cloud (Amazon VPC) est déployée et contient les conteneurs Amazon Elastic Container Service (Amazon ECS) de la solution exécutés sur AWS Fargate.

  5. Les conteneurs utilisent une image de base Amazon Linux 2023 sur laquelle le framework de test de charge Taurus est installé. Taurus est un framework d'automatisation des tests open source qui prend en charge K6 JMeter, Locust et d'autres outils de test. L'image du conteneur est conforme à l'Open Container Initiative (OCI) et est hébergée par AWS dans un référentiel public Amazon Elastic Container Registry (Amazon ECR). Pour plus d'informations, reportez-vous à la section Personnalisation de l'image du conteneur.

  6. Une console Web alimentée par AWS Amplify se déploie dans un compartiment S3 configuré pour l'hébergement Web statique.

  7. Amazon CloudFront fournit un accès public sécurisé au contenu du bucket du site Web de la solution.

  8. Lors de la configuration initiale, la solution crée un rôle d'administrateur par défaut (rôle IAM) et envoie une invitation d'accès à une adresse e-mail utilisateur spécifiée par le client.

  9. Un groupe d'utilisateurs Amazon Cognito gère l'accès des utilisateurs à la console, à l'API du testeur de charge distribué et au serveur MCP.

  10. Après avoir déployé cette solution, vous pouvez utiliser la console Web ou APIs créer et exécuter des scénarios de test qui définissent une série de tâches.

  11. Les microservices utilisent ce scénario de test pour exécuter des tâches ECS sur Fargate dans les régions spécifiées.

  12. Une fois le test terminé, la solution stocke les résultats dans S3 et DynamoDB et enregistre les résultats sur Amazon. CloudWatch

  13. Si vous activez l'option Live Data, la solution envoie les CloudWatch journaux des tâches Fargate à une fonction Lambda pendant le test pour chaque région où le test est exécuté.

  14. La fonction Lambda publie les données dans le sujet correspondant dans AWS IoT Core dans la région où le stack principal a été déployé. La console Web s'abonne au sujet et affiche les données en temps réel pendant le test.

    Note

    Les étapes suivantes décrivent l'intégration optionnelle du serveur MCP pour l'analyse des tests de charge assistée par l'IA. Ce composant n'est déployé que si vous sélectionnez l'option Serveur MCP lors du déploiement de la solution.

  15. Un client MCP (outil de développement d'IA) se connecte au point de terminaison AWS AgentCore Gateway pour accéder aux données de la solution de test de charge distribué via le protocole Model Context. AgentCore Gateway valide le jeton d'authentification Cognito de l'utilisateur pour garantir un accès autorisé au serveur MCP.

  16. Une fois l'authentification réussie, AgentCore Gateway transmet la demande d'outil MCP à la fonction Lambda du serveur DLT MCP. La fonction Lambda renvoie les données structurées à AgentCore Gateway, qui les renvoie au client MCP pour une analyse et des informations assistées par l'IA.

  17. La fonction Lambda traite la demande et interroge les ressources AWS appropriées (tables DynamoDB, compartiments S3 ou CloudWatch journaux) pour récupérer les données de test de charge demandées.