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á.
Criação de um ambiente de teste
Este guia fornece testes práticos para validar a funcionalidade de resposta a incidentes do AWS DevOps Agente usando uma arquitetura de amostra. Use este suplemento se quiser testar o DevOps Agent antes de conectar seus sistemas de produção.
Pré-requisitos
AWS conta com acesso administrativo
AWS DevOps Espaço do agente criado e configurado usando o fluxo de função de criação automática do DevOps agente
Visão geral de custos e segurança
Proteção de custos
Teste EC2: GRATUITO (nível AWS gratuito) ou ~ $0,02 por 2 horas
Teste Lambda: GRATUITO (nível gratuito de 1 milhão requests/month )
CloudWatch: GRÁTIS (10 alarmes, métricas básicas incluídas)
Custo total estimado esperado: $0,00 - $0,05 para o teste completo
Características de segurança nesses testes
Terminação automática: desligamento automático embutido
Nível gratuito qualificado: usa os menores tipos de instância
Escopo limitado: recursos de teste mínimos e isolados
Limpeza fácil: etapas simples do console para remover tudo
Sem impacto na produção: ambiente de teste completamente separado
Configure sua AWS conta para testes
Importante
Os recursos de infraestrutura precisam ser implantados na AWS conta em que você criou a conta de nuvem primária do seu DevOps Agent Space. A região específica não importa.
Faça login no AWS console: https://console.aws.amazon.com
Verifique se você está trabalhando na mesma AWS conta em que seu Espaço DevOps do Agente está localizado
Você pode usar qualquer região para seus recursos de teste
nota
O mapeamento 1:1 entre a conta principal do seu DevOps agente e os recursos do ambiente de teste que você está criando simplifica a configuração do teste. Você pode estender facilmente seu Espaço do DevOps Agente para incluir contas secundárias e permitir investigações entre contas.
Escolha seu teste
Você pode executar qualquer um dos testes de forma independente ou os dois juntos:
Opção de teste A: teste de capacidade da CPU EC2
Objetivo: validar a capacidade do AWS DevOps agente de detectar e investigar problemas de desempenho do EC2
Tempo estimado: 5 minutos de configuração + 10 minutos de execução automática
Dificuldade: Totalmente automatizado (sem necessidade de etapas manuais)
Opção de teste B: teste de taxa de erro Lambda
Objetivo: validar a capacidade do AWS DevOps agente de detectar e investigar erros da função Lambda
Tempo estimado: 10 minutos de configuração +2 minutos para acionar
Dificuldade: Muito fácil
Opção de teste A: teste de capacidade da CPU EC2
Etapa 1: implantar a CloudFormation pilha para o teste do EC2
Usaremos CloudFormation para criar nossos recursos de teste, o que permite ao AWS DevOps Agente rastreá-los e investigá-los adequadamente.
Navegue até CloudFormation:
No AWS Console, pesquise por "CloudFormation" e clique em CloudFormation
Clique em Criar pilha > Com novos recursos (padrão)
Carregar modelo:
Crie um novo arquivo local chamado
AWS-DevOpsAgent-ec2-test.yamlCopie e cole esse CloudFormation modelo no arquivo:
-
AWSTemplateFormatVersion: '2010-09-09' Description: 'AWS DevOps Agent EC2 CPU Test Stack' Parameters: MyIP: Type: String Description: Your current IP address for SSH access (find at https://whatismyipaddress.com) Default: '0.0.0.0/0' Resources: # Security Group for SSH access TestSecurityGroup: Type: AWS::EC2::SecurityGroup Properties: GroupName: AWS-DevOpsAgent-test-sg GroupDescription: AWS DevOps Agent beta testing security group SecurityGroupIngress: - IpProtocol: tcp FromPort: 22 ToPort: 22 CidrIp: !Ref MyIP Description: SSH access from your IP Tags: - Key: Name Value: AWS-DevOpsAgent-Test-SG - Key: Purpose Value: AWS-DevOpsAgent-Testing # Key Pair for SSH access TestKeyPair: Type: AWS::EC2::KeyPair Properties: KeyName: AWS-DevOpsAgent-test-key KeyType: rsa Tags: - Key: Name Value: AWS-DevOpsAgent-Test-Key - Key: Purpose Value: AWS-DevOpsAgent-Testing # EC2 Instance for CPU testing TestInstance: Type: AWS::EC2::Instance Properties: InstanceType: t3.micro ImageId: '{{resolve:ssm:/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64}}' KeyName: !Ref TestKeyPair SecurityGroupIds: - !Ref TestSecurityGroup UserData: Fn::Base64: !Sub | #!/bin/bash yum update -y yum install -y htop # Create the CPU stress test script cat > /home/ec2-user/cpu-stress-test.sh << 'EOF' #!/bin/bash echo "Starting AWS DevOpsAgent CPU Stress Test" echo "Time: $(date)" echo "Instance: $(curl -s http://169.254.169.254/latest/meta-data/instance-id)" echo "" # Get number of CPU cores CORES=$(nproc) echo "CPU Cores: $CORES" echo "" echo "Starting stress test (5 minutes)..." echo "This will generate >70% CPU usage to trigger CloudWatch alarm" echo "" # Create CPU load using yes command echo "Starting CPU load processes..." for i in $(seq 1 $CORES); do (yes > /dev/null) & CPU_PID=$! echo "Started CPU load process $i (PID: $CPU_PID)" echo $CPU_PID >> /tmp/cpu_test_pids done # Auto-cleanup after 5 minutes (sleep 300 && echo "Stopping CPU load processes..." && kill $(cat /tmp/cpu_test_pids 2>/dev/null) 2>/dev/null && rm -f /tmp/cpu_test_pids) & echo "" echo "CPU load processes started for 5 minutes" echo "Check CloudWatch for alarm trigger in 3-5 minutes" EOF chmod +x /home/ec2-user/cpu-stress-test.sh chown ec2-user:ec2-user /home/ec2-user/cpu-stress-test.sh # Create auto-shutdown script (safety mechanism) cat > /home/ec2-user/auto-shutdown.sh << 'SHUTDOWN_EOF' #!/bin/bash echo "Auto-shutdown scheduled for 2 hours from now: $(date)" sleep 7200 echo "Auto-shutdown executing at: $(date)" sudo shutdown -h now SHUTDOWN_EOF chmod +x /home/ec2-user/auto-shutdown.sh nohup /home/ec2-user/auto-shutdown.sh > /home/ec2-user/auto-shutdown.log 2>&1 & echo "AWS DevOpsAgent test setup completed at $(date)" > /home/ec2-user/setup-complete.txt Tags: - Key: Name Value: AWS-DevOpsAgent-Test-Instance - Key: Purpose Value: AWS-DevOpsAgent-Testing # CloudWatch Alarm for CPU utilization CPUAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmName: AWS-DevOpsAgent-EC2-CPU-Test AlarmDescription: AWS-DevOpsAgent beta test - EC2 CPU utilization alarm MetricName: CPUUtilization Namespace: AWS/EC2 Statistic: Average Period: 60 EvaluationPeriods: 1 Threshold: 70 ComparisonOperator: GreaterThanThreshold Dimensions: - Name: InstanceId Value: !Ref TestInstance TreatMissingData: notBreaching Outputs: InstanceId: Description: EC2 Instance ID for testing Value: !Ref TestInstance SecurityGroupId: Description: Security Group ID Value: !Ref TestSecurityGroup AlarmName: Description: CloudWatch Alarm Name Value: !Ref CPUAlarm SSHCommand: Description: SSH command to connect to instance Value: !Sub 'ssh -i "AWS-DevOpsAgent-test-key.pem" ec2-user@${TestInstance.PublicDnsName}'
-
No CloudFormation console, selecione Carregar um arquivo de modelo
Clique em Escolher arquivo
Selecione o
AWS-DevOpsAgent-ec2-test.yamlarquivoClique em Avançar.
Configurar pilha:
Nome da pilha:
AWS-DevOpsAgent-EC2-TestParâmetros:
MyIP: deixe como padrão
0.0.0.0/0(você pode protegê-lo mais tarde, se necessário)
Clique em Avançar.
Configure as opções de pilha:
Deixe os padrões, clique em Avançar
Revisar e criar:
Verifique, reconheço que isso AWS CloudFormation pode criar recursos do IAM
Clique em Enviar
Aguarde a conclusão:
A criação da pilha leva de 3 a 5 minutos
O status mudará de
CREATE_IN_PROGRESSparaCREATE_COMPLETEImportante: Sua instância do EC2 agora faz parte de uma CloudFormation pilha que AWS DevOpsAgent pode ser rastreada!
Opcional: acesso SSH seguro (somente se você planeja se conectar à instância)
Ignore esta etapa se você quiser apenas executar o teste automatizado
Navegue até os grupos de segurança do EC2:
No AWS Console, acesse EC2 → Security Groups
Encontre
AWS-DevOpsAgent-test-sg
Atualize a regra SSH:
Selecione o grupo de segurança → guia Regras de entrada → Editar regras de entrada
Encontre a regra SSH (porta 22)
Altere a fonte de
0.0.0.0/0para seu IP:[YOUR_IP]/32Obtenha seu IP de https://whatismyipaddress.com
Clique em Salvar regras
Etapa 2: Aguarde a execução automática do teste
Execução automática de testes:
O teste de estresse da CPU será iniciado automaticamente 5 minutos após a inicialização da instância
Nenhuma intervenção manual é necessária - basta esperar, o teste é executado completamente em segundo plano
Monitore o teste:
A instância inicializa e prepara o teste automaticamente
O script será executado por 5 minutos e gerará > 70% de uso da CPU
CloudWatch o alarme deve ser acionado dentro de 8 a 10 minutos no total (5 min de atraso + 3-5 min para alarme)
Opcional: nova execução manual (para testes adicionais):
Conecte-se à sua instância: console EC2 → → Connect
AWS-DevOpsAgent-Test-Instance→ Session ManagerExecute o teste de estresse novamente:
./cpu-stress-test.shPerfeito para testar AWS DevOpsAgent a resposta várias vezes
Opção de teste B: teste de taxa de erro Lambda
Etapa 1: implantar a CloudFormation pilha para o teste Lambda
Navegue até CloudFormation:
No AWS Console, acesse CloudFormation
Clique em Criar pilha → Com novos recursos (padrão)
Carregar modelo:
Crie um novo arquivo local chamado
AWS-DevOpsAgent-lambda-test.yamlCopie e cole esse CloudFormation modelo no arquivo:
-
AWSTemplateFormatVersion: '2010-09-09' Description: 'AWS DevOpsAgent Lambda Error Test Stack' Resources: # IAM Role for Lambda function LambdaExecutionRole: Type: AWS::IAM::Role Properties: RoleName: AWS-DevOpsAgentLambdaTestRole AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: lambda.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole Tags: - Key: Name Value: AWS-DevOpsAgent-Lambda-Test-Role - Key: Purpose Value: AWS-DevOpsAgent-Testing # Lambda function that generates errors TestLambdaFunction: Type: AWS::Lambda::Function Properties: FunctionName: AWS-DevOpsAgent-test-lambda Runtime: python3.12 Handler: index.lambda_handler Role: !GetAtt LambdaExecutionRole.Arn Code: ZipFile: | import json import random import time from datetime import datetime def lambda_handler(event, context): print(f"AWS DevOpsAgent Test Lambda - {datetime.now()}") print(f"Event: {json.dumps(event)}") # Intentionally generate errors for testing error_scenarios = [ "Simulated database connection timeout", "Test API rate limit exceeded", "Intentional validation error for AWS DevOpsAgent testing" ] # Always throw an error for testing purposes error_message = random.choice(error_scenarios) print(f"Generating test error: {error_message}") # This will create a Lambda error that CloudWatch will detect raise Exception(f"AWS DevOpsAgent Test Error: {error_message}") Description: AWS DevOpsAgent beta test function - intentionally generates errors Timeout: 30 Tags: - Key: Name Value: AWS-DevOpsAgent-Test-Lambda - Key: Purpose Value: AWS-DevOpsAgent-Testing # CloudWatch Alarm for Lambda errors LambdaErrorAlarm: Type: AWS::CloudWatch::Alarm Properties: AlarmName: AWS-DevOpsAgent-Lambda-Error-Test AlarmDescription: AWS-DevOpsAgent beta test - Lambda error rate alarm MetricName: Errors Namespace: AWS/Lambda Statistic: Sum Period: 60 EvaluationPeriods: 1 Threshold: 0 ComparisonOperator: GreaterThanThreshold Dimensions: - Name: FunctionName Value: !Ref TestLambdaFunction TreatMissingData: notBreaching Outputs: LambdaFunctionName: Description: Lambda Function Name for testing Value: !Ref TestLambdaFunction LambdaFunctionArn: Description: Lambda Function ARN Value: !GetAtt TestLambdaFunction.Arn AlarmName: Description: CloudWatch Alarm Name Value: !Ref LambdaErrorAlarm TestCommand: Description: AWS CLI command to test the function Value: !Sub 'aws lambda invoke --function-name ${TestLambdaFunction} --payload "{\"test\":\"AWS DevOpsAgent validation\"}" response.json'
-
No CloudFormation console, selecione Carregar um arquivo de modelo
Clique em Escolher arquivo
Selecione o
AWS-DevOpsAgent-lambda-test.yamlarquivoClique em Avançar.
Configurar pilha:
Nome da pilha:
AWS-DevOpsAgent-Lambda-TestClique em Avançar.
Configure as opções de pilha:
Deixe os padrões, clique em Avançar
Revisar e criar:
Verifique, reconheço que isso AWS CloudFormation pode criar recursos do IAM
Clique em Enviar
Aguarde a conclusão:
A criação da pilha leva de 2 a 3 minutos
O status mudará para
CREATE_COMPLETE
Etapa 2: acionar erros do Lambda
Navegue até o console Lambda:
Vá para o console AWS Lambda
Encontre sua função
AWS-DevOpsAgent-test-lambda
Teste a função:
Clique na guia Teste
Clique em Criar novo evento
Nome do evento:
AWS-DevOpsAgent-test-eventUse essa carga JSON:
-
{ "test": "AWS DevOpsAgent validation", "timestamp": "2024-01-01T00:00:00Z" }
-
Clique em Salvar
Gere erros:
Clique no botão Testar 3 vezes (aguarde 10 segundos entre cada uma)
Cada teste gerará um erro intencional
CloudWatch o alarme deve ser acionado dentro de 2-3 minutos
AWS DevOpsAgentagora deve ser capaz de detectar o alarme com uma investigação no aplicativo Operator, que você configurará a seguir.
Validar a detecção AWS DevOps do agente
Etapa 1: CloudWatch alarmes de verificação de sanidade (opcional)
Esta etapa é para garantir que os testes acima estejam agora em um estado de alarme.
Para o teste EC2:
No CloudWatch console, acesse Alarmes
Aguarde de 3 a 5 minutos após iniciar o teste de estresse
Seu alarme deve aparecer Em estado de alarme
Se ainda estiver “OK”: aguarde mais 2 a 3 minutos (CloudWatch as métricas podem ser atrasadas)
Para o Teste Lambda:
Verifique o
AWS-DevOpsAgent-Lambda-Error-TestalarmeDeve mostrar o alarme dentro de 2-3 minutos após a execução dos testes
Etapa 2: iniciar uma investigação AWS DevOps do agente
Abra seu AWS DevOps agente AgentSpace
Clique em Acesso de administrador. Isso abrirá o aplicativo web DevOps Agent Space em uma nova janela
Clique no botão Iniciar investigação no lado direito da tela
Preencha o seguinte formulário:
Detalhes da investigação: descreva a investigação que você gostaria de realizar. Inclua todos os detalhes que puder sobre os objetivos da investigação, áreas a serem exploradas ou informações relevantes.
Ponto de partida da investigação: descreva as informações a partir das quais você gostaria de iniciar a investigação. Você pode mencionar um alarme, uma métrica, um trecho de registro ou qualquer outra coisa para dar ao DevOps Agente um ponto de partida para trabalhar. Nesse caso, forneça um resumo dos alarmes que você acabou de criar.
Data e hora do incidente (de preferência ISO 8601) ::MMZ YYYY-MM-DDTHH
Dê um nome à sua investigação: exemplo:
Oncall_investigation_1:2025-10-27AWS ID da conta do incidente
Região onde o incidente ocorreu
Prioridade - AWS DevOpsAgent permite duas investigações simultâneas. A Prioridade permite que você defina a ordem de execução de suas investigações.
Clique em Investigar para iniciar a investigação.
Clique na sua investigação listada no painel. Você será direcionado para a tela Detalhes da Investigação, onde poderá ver as etapas granulares que o DevOps Agente está realizando.
Resultados esperados
Resultados do teste EC2:
Detecta o alarme da CPU EC2
Identifica a causa raiz: “carga de trabalho do teste de estresse da CPU”
Mostra a linha do tempo: Teste de estresse → pico de CPU → Alarme
Fornece recomendações para monitoramento e escalabilidade
Resultados do teste Lambda:
Detecta o pico da taxa de erro do Lambda
Identifica a causa raiz: “Exceções de testes intencionais”
Mostra a linha do tempo: Invocações de funções → Erros → Alarme
Fornece recomendações para tratamento e monitoramento de erros
Instruções de limpeza
Teste de limpeza A (teste EC2)
Limpeza automática
A instância será encerrada automaticamente após 2 horas ( CloudFormation incorporada ao modelo)
Limpeza manual (imediata)
Excluir CloudFormation pilha:
Vá para o CloudFormation console
Selecione a
AWS-DevOpsAgent-EC2-TestpilhaClique em Excluir
Confirme a exclusão
Isso excluirá automaticamente todos os recursos: instância do EC2, grupo de segurança, key pair e alarme CloudWatch
Teste de limpeza B (teste Lambda)
Excluir CloudFormation pilha:
Vá para o CloudFormation console
Selecione a
AWS-DevOpsAgent-Lambda-TestpilhaClique em Excluir
Confirme a exclusão
Isso excluirá automaticamente todos os recursos: função Lambda, função do IAM e alarme CloudWatch
Solução de problemas
Problemas comuns
“Não é possível se conectar à instância do EC2”
Verifique o grupo de segurança: verifique se o SSH (porta 22) está aberto para o seu IP
Verifique as principais permissões: Executar
chmod 400 AWS-DevOpsAgent-test-key.pemVerifique o IP público: a instância deve ter um IP público atribuído
Aguarde a instância: verifique se a instância está no estado “Executando”
“O alarme não está sendo acionado”
Aguarde as métricas: CloudWatch as métricas podem levar de 2 a 5 minutos para aparecer
Verifique a carga da CPU: SSH para a instância e execute
toppara verificar a CPU > 70%Verifique o teste de estresse: execute
ps aux | grep yespara ver se os processos de carregamento estão em execuçãoEspera prolongada: às vezes, leva de 7 a 8 minutos para o primeiro acionamento do alarme
Validação de testes
Seu teste de AWS DevOp agente é bem-sucedido quando:
Validação técnica
Precisão da investigação: Os resultados do teste EC2 devem indicar corretamente que o alarme foi acionado devido à carga da CPU. O resultado do teste Lambda deve indicar que se tratou de uma falha intencional.
Precisão do cronograma: sequência correta de eventos mostrados
Qualidade da recomendação: sugestões práticas fornecidas