Back-end - Teste de carga distribuído na AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Back-end

O back-end consiste em um pipeline de imagem de contêiner e um mecanismo de teste de carga que você usa para gerar carga para os testes. Você interage com o back-end por meio do front-end. Além disso, as tarefas do Amazon ECS no AWS Fargate lançadas para cada teste são marcadas com um identificador de teste (ID) exclusivo. Essas etiquetas de identificação de teste podem ser usadas para ajudá-lo a monitorar os custos dessa solução. Para obter informações adicionais, consulte as tags de alocação de custos definidas pelo usuário no Guia do usuário do AWS Billing and Cost Management.

Pipeline de imagens de containers

Essa solução usa uma imagem de contêiner criada com o Amazon Linux 2023 como imagem base com a estrutura de teste de carga Taurus instalada. O Taurus é uma estrutura de automação de testes de código aberto que suporta K6 JMeter, Locust e outras ferramentas de teste. A AWS hospeda essa imagem em um repositório público do Amazon Elastic Container Registry (Amazon ECR). A solução usa essa imagem para executar tarefas no Amazon ECS no cluster AWS Fargate.

Para obter mais informações, consulte a seção Personalização da imagem do contêiner deste guia.

Testando a infraestrutura

Além do CloudFormation modelo principal, a solução fornece um modelo regional para lançar os recursos necessários para a execução de testes em várias regiões. A solução armazena esse modelo no Amazon S3 e fornece um link para ele no console web. Cada pilha regional inclui uma VPC, um cluster AWS Fargate e uma função Lambda para processar dados ativos.

Para obter mais informações sobre como implantar a infraestrutura de teste em regiões adicionais, consulte a seção Implantação multirregional deste guia.

Motor de teste de carga

A solução Distributed Load Testing usa o Amazon Elastic Container Service (Amazon ECS) e o AWS Fargate para simular milhares de usuários simultâneos em várias regiões, gerando solicitações HTTP a uma taxa sustentada.

Você define os parâmetros de teste usando o console web incluído. A solução usa esses parâmetros para gerar um cenário de teste JSON e armazená-lo no Amazon S3. Para obter mais informações sobre scripts de teste e parâmetros de teste, consulte Tipos de teste nesta seção.

Uma máquina de estado do AWS Step Functions executa e monitora tarefas do Amazon ECS em um cluster do AWS Fargate. A máquina de estado do AWS Step Functions inclui uma função AWS Lambda, uma função AWS Lambda, uma função AWS Lambda, uma função task-status-checker AWS Lambda executora de tarefas, uma função AWS Lambda canceladora de tarefas e uma função AWS Lambda de análise de resultados. Para obter mais informações sobre o fluxo de trabalho, consulte a seção Testar fluxo de trabalho deste guia. Para obter mais informações sobre os resultados do teste, consulte a seção Resultados do teste deste guia. Para obter mais informações sobre o fluxo de trabalho de cancelamento de teste, consulte a seção Fluxo de trabalho de cancelamento de teste deste guia.

Se você selecionar dados ativos, a solução iniciará uma função real-time-data-publisher Lambda em cada região pelos CloudWatch registros que correspondem às tarefas do Fargate nessa região. Em seguida, a solução processa e publica os dados em um tópico no AWS IoT Core na região em que você lançou a pilha principal. Para obter mais informações, consulte a seção Dados ativos deste guia.