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.
Backend
Le backend se compose d'un pipeline d'images de conteneur et d'un moteur de test de charge que vous utilisez pour générer de la charge pour les tests. Vous interagissez avec le backend par le biais du front-end. En outre, les tâches Amazon ECS on AWS Fargate lancées pour chaque test sont associées à un identifiant de test (ID) unique. Ces étiquettes d'identification de test peuvent être utilisées pour vous aider à contrôler les coûts de cette solution. Pour plus d'informations, reportez-vous aux balises de répartition des User-Defined coûts dans le guide de l'utilisateur d'AWS Billing and Cost Management.
Pipeline d'images de conteneurs
Cette solution utilise une image de conteneur créée avec Amazon Linux 2023
Pour plus d'informations, reportez-vous à la section Personnalisation des images du conteneur de ce guide.
Provisionnement du framework de test
Les trois frameworks de test pris en charge sont fournis à différents moments du cycle de vie de la solution afin d'équilibrer la taille de l'image avec la flexibilité des versions :
-
Apache JMeter : stocké dans un compartiment S3 de votre compte lors du déploiement de la pile, et extrait lors de l'exécution du test lors de l'exécution d'un test JMeter ou d'un point de terminaison HTTP unique.
-
Grafana K6 — Téléchargé directement depuis le fournisseur du framework et extrait lors de l'exécution du test, uniquement lorsqu'un test K6 s'exécute.
-
Locust : installé dans l'image du conteneur au moment de la création et reste inactif jusqu'à ce qu'un test Locust soit exécuté.
Note
K6 nécessite un accès réseau sortant à la version Grafana K6 lors de l'exécution du test. Une sortie restreinte entraînera l'échec des tests K6 à l'étape de téléchargement.
Infrastructure de test
Outre le CloudFormation modèle principal, la solution fournit un modèle régional pour lancer les ressources nécessaires à l'exécution de tests dans plusieurs régions. La solution stocke ce modèle dans Amazon S3 et fournit un lien vers celui-ci dans la console Web. Chaque stack régional inclut un VPC, un cluster AWS Fargate et une fonction Lambda pour le traitement des données en temps réel.
Pour plus d'informations sur le déploiement de l'infrastructure de test dans des régions supplémentaires, reportez-vous à la section de Multi-Region déploiement de ce guide.
Moteur d'essai de charge
La solution de test de charge distribué utilise Amazon Elastic Container Service (Amazon ECS) et AWS Fargate pour simuler des milliers d'utilisateurs simultanés dans plusieurs régions, générant des requêtes HTTP à un rythme soutenu.
Vous définissez les paramètres de test à l'aide de la console Web incluse. La solution utilise ces paramètres pour générer un scénario de test JSON et le stocker dans Amazon S3. Pour plus d'informations sur les scripts de test et les paramètres de test, reportez-vous à la section Types de tests de cette section.
Une machine d'état AWS Step Functions exécute et surveille les tâches Amazon ECS dans un cluster AWS Fargate. La machine d'état AWS Step Functions inclut une fonction AWS Lambda ecr-checker, une fonction AWS Lambda de vérification du statut des tâches, une fonction AWS Lambda d'exécution de tâches, une fonction AWS Lambda d'annulation de tâches et une fonction AWS Lambda analyseur de résultats. Pour plus d'informations sur le flux de travail, reportez-vous à la section Test du flux de travail de ce guide. Pour plus d'informations sur les résultats des tests, reportez-vous à la section Résultats des tests de ce guide. Pour plus d'informations sur le flux de travail d'annulation des tests, reportez-vous à la section sur le flux de travail d'annulation des tests de ce guide.
Si vous sélectionnez des données en temps réel, la solution lance une fonction Lambda d'éditeur de données en temps réel dans chaque région à partir des journaux correspondant aux CloudWatch tâches Fargate de cette région. La solution traite et publie ensuite les données dans une rubrique d'AWS IoT Core dans la région où vous avez lancé le stack principal. Pour plus d'informations, reportez-vous à la section Données en temps réel de ce guide.