View a markdown version of this page

Front-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á.

Front-end

O front-end fornece as interfaces para interagir com a solução e inclui:

  • Uma API de teste de carga para acesso programático

  • Um console web para criar, programar e executar testes de desempenho

  • Um servidor MCP opcional para AI-assisted análise de resultados e erros de testes

API de teste de carga

O teste de carga distribuído na AWS configura o Amazon API Gateway para hospedar a API RESTful da solução. Os usuários podem interagir com o sistema de teste de carga de forma segura por meio do console web incluído, da API RESTful e do servidor MCP opcional. A API atua como uma “porta de entrada” para acesso aos dados de teste armazenados no Amazon DynamoDB. Você também pode usar as APIs para acessar qualquer funcionalidade estendida incorporada à solução.

Essa solução aproveita os recursos de autenticação de usuários dos grupos de usuários do Amazon Cognito. Depois de autenticar um usuário com sucesso, o Amazon Cognito emite um token web JSON que é usado para permitir que o console envie solicitações às APIs da solução (endpoints do Amazon API Gateway). As solicitações HTTPS são enviadas pelo console às APIs com o cabeçalho de autorização que inclui o token.

Com base na solicitação, o API Gateway invoca a função apropriada do AWS Lambda para realizar as tarefas necessárias nos dados armazenados nas tabelas do DynamoDB, armazenar cenários de teste como objetos JSON no Amazon S3, recuperar imagens de métricas da CloudWatch Amazon e enviar cenários de teste para a máquina de estado do AWS Step Functions.

Para obter mais informações sobre a API da solução, consulte a seção API de teste de carga distribuída deste guia.

Console web

Essa solução inclui um console web que você pode usar para configurar e executar testes, monitorar testes em execução e visualizar resultados detalhados dos testes. O console é um aplicativo ReactJS criado com o Cloudscape, um sistema de design de código aberto para criar aplicativos web intuitivos. O aplicativo utiliza o AWS Amplify para se integrar ao Amazon Cognito para autenticar usuários. O console web também contém uma opção para visualizar dados ao vivo para um teste em execução, no qual ele se inscreve no tópico correspondente no AWS IoT Core.

A solução oferece suporte a três opções de hospedagem do console web. A arquitetura de back-end e a autenticação do Cognito são idênticas em todas as opções:

  • CloudFront + S3 (padrão) — O console é hospedado no Amazon S3 e acessado pela Amazon. CloudFront O URL do console web é o nome do domínio de CloudFront distribuição que pode ser encontrado nas CloudFormation saídas como Console. Depois de iniciar o CloudFormation modelo, você também receberá um e-mail contendo o URL do console web e a senha de uso único para fazer login nele.

  • ALB + ECS Fargate — O console é executado em um serviço ECS Fargate por trás de um Application Load Balancer com um certificado ACM fornecido pelo cliente e um domínio personalizado. Uma ACL web do AWS WAF é implantada na frente do ALB para filtrar ataques comuns baseados na web. Essa opção é adequada para ambientes em que as políticas de VPC Block Public Access (BPA) evitam o tráfego de CloudFront distribuições públicas ou organizações sem requisitos de exposição pública à Internet. Para obter instruções de implantação, consulte Implantar usando ALB + ECS Fargate.

  • Headless (traga seu próprio servidor web) — A solução implanta somente o back-end e fornece um arquivo zip para download dos ativos estáticos do console web. Você hospeda o console em seu próprio servidor web. Essa opção é adequada para organizações que precisam de isolamento completo da rede sem endpoints públicos da AWS ou que precisam hospedar o console em uma infraestrutura existente no local ou gerenciada pela empresa. Para obter instruções de implantação, consulte Implantar usando o modelo headless (traga seu próprio servidor web).

Servidor MCP (opcional)

O servidor opcional Model Context Protocol (MCP) fornece uma interface adicional para ferramentas de desenvolvimento de IA acessarem e analisarem dados de teste de carga por meio de interações de linguagem natural. Esse componente só será implantado se você selecionar a opção MCP Server durante a implantação da solução.

O MCP Server permite que agentes de IA consultem resultados de testes, analisem métricas de desempenho e obtenham insights sobre seus dados de teste de carga usando ferramentas como Amazon Q, Claude e outros assistentes de MCP-compatible IA. Para obter informações detalhadas sobre a arquitetura e a configuração do MCP Server, consulte MCP Server nesta seção.