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á.
Segurança
Quando você cria sistemas na infraestrutura da AWS, as responsabilidades de segurança são compartilhadas entre você e a AWS. Esse modelo de responsabilidade compartilhada
Perfis do IAM
As funções do AWS Identity and Access Management (IAM) permitem que os clientes atribuam políticas e permissões de acesso granulares a serviços e usuários na Nuvem AWS. Essa solução cria funções do IAM que concedem às funções do AWS Lambda da solução acesso para criar recursos regionais.
Amazônia CloudFront
Essa solução implanta uma interface de usuário web hospedada em um bucket do Amazon S3, que é distribuído pela Amazon. CloudFront Para ajudar a reduzir a latência e melhorar a segurança, essa solução inclui uma CloudFront distribuição com uma identidade de acesso de origem, que é um CloudFront usuário que fornece acesso público ao conteúdo do bucket do site da solução. Por padrão, a CloudFront distribuição oferece suporte a conexões de até TLS 1.3, usando a versão de protocolo mais alta que o visualizador suporta. Para obter mais informações, consulte Restringir o acesso a uma origem do Amazon S3 no Amazon CloudFront Developer Guide.
CloudFront ativa mitigações de segurança adicionais para anexar cabeçalhos de segurança HTTP a cada resposta do visualizador. Para obter mais informações, consulte Adicionar ou remover cabeçalhos HTTP nas CloudFront respostas.
Essa solução usa o CloudFront certificado padrão, que tem um protocolo de segurança mínimo suportado de TLS v1.0. Para impor o uso do TLS v1.2 ou TLS v1.3, você deve usar um certificado SSL personalizado em vez do certificado padrão. CloudFront Para obter mais informações, consulte Como configuro minha CloudFront distribuição para usar um SSL/TLS certificado
Amazon API Gateway
Essa solução implanta endpoints do Amazon API Gateway com otimização de borda para fornecer APIs RESTful para a funcionalidade de teste de carga usando o endpoint padrão do API Gateway em vez de um domínio personalizado. Para APIs otimizadas para borda usando o endpoint padrão, o API Gateway usa a política de segurança. TLS-1-0 Para obter mais informações, consulte Trabalhando com APIs REST no Guia do desenvolvedor do Amazon API Gateway.
Essa solução usa o certificado padrão do API Gateway, que tem um protocolo de segurança mínimo suportado do TLS v1.0. Para impor o uso do TLS v1.2 ou TLS v1.3, você deve usar um domínio personalizado com um certificado SSL personalizado em vez do certificado padrão do API Gateway. Para obter mais informações, consulte Configurando nomes de domínio personalizados para APIs REST.
Grupo de segurança AWS Fargate
Por padrão, essa solução abre a regra de saída do grupo de segurança do AWS Fargate para o público. Se você quiser impedir que o AWS Fargate envie tráfego para qualquer lugar, altere a regra de saída para um Inter-Domain roteamento sem classe (CIDR) específico.
Esse grupo de segurança também inclui uma regra de entrada que permite tráfego local na porta 50.000 para qualquer fonte que pertença ao mesmo grupo de segurança. Isso é usado para permitir que os contêineres se comuniquem entre si.
Amazon VPC
VPC: uma nuvem privada virtual (VPC) baseada no serviço Amazon VPC oferece uma rede privada e logicamente isolada na nuvem da AWS.
Você pode especificar sua própria VPC nos CloudFormation parâmetros da AWS durante a implantação. A VPC é usada exclusivamente pelas tarefas do ECS que geram carga; o console web e a API não são implantados nessa VPC. Se você não especificar uma VPC existente, a solução criará uma nova VPC com a configuração de rede necessária. Se você optar por usar uma VPC existente, ela deverá atender aos seguintes requisitos para executar tarefas de teste de carga com sucesso.
Requisitos da VPC
Os requisitos mínimos para que uma VPC seja usada com testes de carga distribuída na AWS estão listados abaixo.
-
A VPC deve conter pelo menos duas AZs
-
A VPC deve conter pelo menos duas sub-redes, cada uma em uma AZ separada
-
As sub-redes VPC podem ser públicas ou privadas, mas devem usar a mesma configuração (tanto públicas quanto privadas)
-
A VPC deve fornecer acesso aos endpoints para ECR, CloudWatch Logs, S3 e AWS IoT Core.
-
A VPC deve fornecer acesso aos serviços que estão sendo alvo dos testes de carga.
nota
Se você não tiver uma VPC que atenda a esses critérios, poderá criar uma VPC com o assistente de VPC rapidamente. Para obter mais informações, consulte Criar uma VPC.
As sub-redes públicas podem atender a esses requisitos incluindo o seguinte:
-
Um gateway de internet conectado à VPC
-
Uma rota para o gateway da Internet (0.0.0. 0/0)
As sub-redes privadas podem atender a esses requisitos por meio do uso de gateways NAT ou endpoints VPC, conforme descrito abaixo.
Opção 1: NAT Gateway
-
Implante um gateway NAT em cada AZ com sub-redes privadas
-
Configure tabelas de rotas para rotear o tráfego vinculado à Internet (0.0.0. 0/0) por meio do NAT Gateway
Opção 2: VPC Endpoints
Crie os seguintes endpoints de VPC em sua VPC:
-
Endpoint da API Amazon ECR:
com.amazonaws.<region>.ecr.api -
Endpoint DKR do Amazon ECR:
com.amazonaws.<region>.ecr.dkr -
Endpoint CloudWatch do Amazon Logs:
com.amazonaws.<region>.logs -
Endpoint do Amazon S3 Gateway:
com.amazonaws.<region>.s3 -
Endpoint do AWS IoT Core (necessário se estiver usando os gráficos de dados ao vivo)
com.amazonaws.<region>.iot.data
Outras configurações de VPC também podem funcionar.
Importante
O grupo de segurança conectado a cada interface de endpoint da VPC deve permitir o tráfego TCP de entrada na porta 443 do grupo de segurança de tarefas do ECS.
Configuração do grupo de segurança
Durante a implantação, a solução criará um grupo de segurança em sua VPC para permitir o seguinte tráfego com tarefas no cluster do ECS:
-
Todo o tráfego de saída
-
Tráfego de entrada na porta 50000 de outras tarefas no mesmo grupo de segurança, para facilitar a coordenação entre as tarefas do trabalhador e do líder.
Teste de estresse de rede
Você é responsável por usar essa solução de acordo com a Política de testes do
Restringindo o acesso à interface pública do usuário
A abordagem para restringir o acesso ao console web depende da opção de implantação que você escolher.
Implantação padrão (CloudFront + S3) — Para restringir o acesso à interface de usuário voltada para o público além dos mecanismos de autenticação e autorização fornecidos pelo IAM e pelo Amazon Cognito, você pode associar uma ACL web do AWS WAF à distribuição. CloudFront Considere usar a solução AWS WAF Security Automations
Implantação do ALB + ECS Fargate — A solução implanta automaticamente uma ACL web do AWS WAF na frente do ALB com regras gerenciadas que fornecem proteção básica contra ataques comuns baseados na web. Você pode personalizar as regras do WAF para atender aos seus requisitos de segurança específicos, incluindo adicionar listas de IP-based permissão ou bloqueio, restrições geográficas, limitação de taxas ou outros grupos de regras gerenciados pela AWS. Para obter instruções sobre como modificar a configuração do WAF, consulte a seção de integração do WAF nas instruções de implantação.
Segurança do servidor MCP (opcional)
Se você implantar a integração opcional do servidor MCP, a solução usa o Amazon Bedrock AgentCore Gateway para fornecer acesso seguro aos dados de teste de carga para agentes de IA. AgentCore O Gateway valida os tokens de autenticação do Amazon Cognito para cada solicitação, de forma que somente usuários autorizados possam acessar o servidor MCP. Todas as interações do servidor MCP usam os mesmos limites de permissão e controles de acesso do console web.
O parâmetro MCP Server Access Mode controla o que os agentes de IA podem fazer. No ReadOnly modo padrão, o servidor MCP expõe somente as ferramentas de leitura. A política do AWS Identity and Access Management (IAM) na função MCP Server Lambda permite somente GET solicitações para a API da solução, portanto, os agentes não podem modificar as configurações ou os resultados dos testes. No ReadWrite modo, os agentes também podem criar, modificar, excluir e iniciar cenários de teste. Escolha ReadWrite somente se seu caso de uso exigir que os agentes alterem os testes.
Rotação de credenciais — Se você conectar um cliente MCP usando autenticação baseada em serviços (máquina a máquina), a solução cria um cliente de aplicativo Amazon Cognito com um segredo de cliente de longa duração. Você é responsável por alternar esse segredo e por armazená-lo com segurança. Recomendamos alterná-lo pelo menos a cada 90 dias. Para procedimentos, consulte Rotate the MCP Server Client Secret em Use the solution.
Segurança do console web hospedado pelo ALB + ECS Fargate (opcional)
Se você escolher a opção de implantação ALB + ECS Fargate, as seguintes considerações de segurança se aplicam:
-
Compatibilidade com acesso público do bloco VPC — A opção ALB + ECS Fargate foi projetada para ambientes em que as políticas de acesso público do bloco VPC (BPA) bloqueiam o tráfego de distribuições públicas. CloudFront O ALB pode ser implantado como um balanceador de carga interno em sua VPC, acessível somente por meio de sua rede corporativa, VPN ou AWS PrivateLink, atendendo a zero requisitos de exposição pública à Internet.
-
Gerenciamento de certificados ACM — O ALB usa um certificado ACM para terminação HTTPS. Você é responsável por garantir que o certificado permaneça válido e seja renovado antes da expiração. O ACM renova automaticamente os certificados que gerencia, mas os certificados importados devem ser renovados manualmente. Para obter mais informações, consulte Renovação gerenciada de certificados no Guia do usuário do AWS Certificate Manager.
-
Proteção do AWS WAF — O WAF é implantado por padrão com o modelo ALB + ECS Fargate. Para obter detalhes, consulte Restringindo o acesso à interface pública do usuário.
Segurança sem cabeça (traga seu próprio servidor web) (opcional)
Se você escolher a opção de implantação sem controle e hospedar o console web em seu próprio servidor web, você será responsável pelas seguintes considerações de segurança:
-
Configuração HTTPS — É altamente recomendável configurar HTTPS no seu servidor web.
-
Controles de acesso — Você é responsável por implementar controles de acesso, regras de firewall e segurança de rede em seu servidor web.
-
Fortalecimento da segurança — aplique os padrões de reforço de segurança da sua organização ao servidor web, incluindo aplicação de patches, monitoramento e detecção de intrusões.
Third-party estruturas de teste
O Distributed Load Testing na AWS agrupa três estruturas de teste de terceiros — Apache JMeter, Grafana k6 e Locust. No modelo de responsabilidade compartilhada da AWS
Para obter detalhes sobre quando cada estrutura é instalada e como ela é provisionada, consulte Testando o provisionamento da estrutura.
Apache JMeter
A versão integrada do Apache JMeter tem vulnerabilidades de segurança conhecidas que não podem ser totalmente corrigidas externamente sem quebrar a compatibilidade com a estrutura de automação de testes Taurus e o ecossistema de plug-ins JMeter do qual a solução depende. Antes de executar testes de carga, revise os avisos de segurança do Apache JMeter
nota
O Apache JMeter também funciona nos bastidores para o tipo de teste Simple HTTP Endpoint. Quando você configura um URL, método, cabeçalhos e carga útil corporal no console web, a solução gera um plano de teste do JMeter e o executa com o binário JMeter incluído. As considerações de segurança do JMeter descritas nesta seção, portanto, também se aplicam aos testes de endpoint HTTP simples.
Se você precisar de uma versão corrigida do JMeter, você tem duas opções. Ambas as opções exigem um arquivo de teste e estão disponíveis somente para o tipo de teste JMeter:
-
Forneça um binário JMeter corrigido — Inclua um binário JMeter corrigido em seu arquivo de teste. A solução usa seu binário no lugar da versão incluída.
-
Substituir JARs de plug-ins individuais — Use o mecanismo de substituição de plug-ins para substituir JARs específicos de plug-ins vulneráveis por versões corrigidas. Para obter mais informações, consulte os testes do JMeter.
O tipo de teste Simple HTTP Endpoint não aceita um arquivo de teste e, portanto, não pode substituir o binário ou os plug-ins do JMeter incluídos. Se você precisar executar testes de endpoint HTTP com um JMeter corrigido, use o tipo de teste JMeter e forneça um script JMeter (.jmx) ou um arquivo .zip que inclua o binário JMeter corrigido ou os JARs do plugin.
Grafana k6
O k6 é lançado sob a AGPL-3.0 licença.
Gafanhoto
Nenhuma vulnerabilidade de segurança conhecida foi identificada na versão incluída do Locust no momento do lançamento desta solução. A solução não monitora continuamente o Locust em busca de novas vulnerabilidades; você é responsável por avaliar o Locust em relação aos seus requisitos de segurança durante todo o uso.