View a markdown version of this page

Partie avant - 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.

Partie avant

Le front-end fournit les interfaces permettant d'interagir avec la solution et inclut :

  • Une API de test de charge pour un accès programmatique

  • Une console Web pour créer, planifier et exécuter des tests de performance

  • Un serveur MCP en option pour l' AI-assisted analyse des résultats des tests et des erreurs

API de test de charge

Les tests de charge distribués sur AWS configurent Amazon API Gateway pour héberger l'API RESTful de la solution. Les utilisateurs peuvent interagir avec le système de test de charge en toute sécurité via la console Web incluse, l'API RESTful et le serveur MCP en option. L'API fait office de « porte d'entrée » pour accéder aux données de test stockées dans Amazon DynamoDB. Vous pouvez également utiliser les API pour accéder à toutes les fonctionnalités étendues que vous intégrez à la solution.

Cette solution tire parti des fonctionnalités d'authentification des utilisateurs des groupes d'utilisateurs Amazon Cognito. Après avoir authentifié un utilisateur avec succès, Amazon Cognito émet un jeton Web JSON qui est utilisé pour permettre à la console d'envoyer des demandes aux API de la solution (points de terminaison Amazon API Gateway). Les requêtes HTTPS sont envoyées par la console aux API avec l'en-tête d'autorisation qui inclut le jeton.

Sur la base de la demande, API Gateway invoque la fonction AWS Lambda appropriée pour effectuer les tâches nécessaires sur les données stockées dans les tables DynamoDB, stocker les scénarios de test sous forme d'objets JSON dans Amazon S3, récupérer les images des métriques CloudWatch Amazon et soumettre des scénarios de test à la machine d'état AWS Step Functions.

Pour plus d'informations sur l'API de la solution, reportez-vous à la section API de test de charge distribuée de ce guide.

console Web

Cette solution inclut une console Web que vous pouvez utiliser pour configurer et exécuter des tests, surveiller les tests en cours et afficher les résultats détaillés des tests. La console est une application ReactJS construite avec Cloudscape, un système de conception open source permettant de créer des applications Web intuitives. L'application utilise AWS Amplify pour s'intégrer à Amazon Cognito afin d'authentifier les utilisateurs. La console Web contient également une option permettant d'afficher les données en temps réel pour un test en cours, dans laquelle elle s'abonne à la rubrique correspondante dans AWS IoT Core.

La solution prend en charge trois options d'hébergement de console Web. L'architecture principale et l'authentification Cognito sont identiques pour toutes les options :

  • CloudFront + S3 (par défaut) — La console est hébergée dans Amazon S3 et accessible via Amazon CloudFront. L'URL de la console Web est le nom de domaine de CloudFront distribution qui se trouve dans les CloudFormation sorties sous forme de console. Après avoir lancé le CloudFormation modèle, vous recevrez également un e-mail contenant l'URL de la console Web et le mot de passe à usage unique pour vous y connecter.

  • ALB + ECS Fargate — La console s'exécute sur un service ECS Fargate derrière un Application Load Balancer avec un certificat ACM fourni par le client et un domaine personnalisé. Une ACL Web AWS WAF est déployée devant l'ALB pour filtrer les attaques Web courantes. Cette option convient aux environnements dans lesquels les politiques VPC bloquant l'accès public (BPA) empêchent le trafic provenant de CloudFront distributions publiques, ou aux organisations n'ayant aucune exigence d'exposition à Internet public. Pour les instructions de déploiement, reportez-vous à la section Déployer à l'aide d'ALB + ECS Fargate.

  • Headless (apportez votre propre serveur Web) : la solution déploie uniquement le backend et fournit une archive zip téléchargeable des actifs statiques de la console Web. Vous hébergez la console sur votre propre serveur Web. Cette option convient aux entreprises qui ont besoin d'une isolation complète du réseau sans point de terminaison AWS destiné au public, ou qui ont besoin d'héberger la console sur une infrastructure existante sur site ou gérée par l'entreprise. Pour les instructions de déploiement, reportez-vous à la section Déployer à l'aide d'un modèle headless (apportez votre propre serveur Web).

Serveur MCP (facultatif)

Le serveur MCP (Model Context Protocol) en option fournit une interface supplémentaire permettant aux outils de développement d'IA d'accéder aux données de test de charge et de les analyser par le biais d'interactions en langage naturel. Ce composant n'est déployé que si vous sélectionnez l'option Serveur MCP lors du déploiement de la solution.

Le serveur MCP permet aux agents d'intelligence artificielle de consulter les résultats des tests, d'analyser les indicateurs de performance et d'obtenir des informations sur vos données de test de charge à l'aide d'outils tels qu'Amazon Q, Claude et d'autres assistants d' MCP-compatible IA. Pour des informations détaillées sur l'architecture et la configuration du serveur MCP, reportez-vous à la section Serveur MCP dans cette section.