View a markdown version of this page

Creación de un entorno de pruebas - AWS DevOps Agente

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de un entorno de pruebas

Esta guía proporciona pruebas prácticas para validar la funcionalidad de respuesta a incidentes del AWS DevOps agente mediante una arquitectura de muestra. Utilice este suplemento si quiere probar DevOps Agent antes de conectar sus sistemas de producción.

Requisitos previos

  • AWS cuenta con acceso administrativo

  • AWS DevOps Espacio de agente creado y configurado mediante el flujo de roles de DevOps agente de creación automática

Resumen de costes y seguridad

Protección de costes

  • Prueba EC2: GRATUITA (nivel AWS gratuito) o aproximadamente 0,02$ durante 2 horas

  • Prueba Lambda: GRATUITA (nivel gratuito de 1 millón requests/month )

  • CloudWatch: GRATIS (10 alarmas, métricas básicas incluidas)

  • Costo total estimado esperado: entre 0,00 y 0,05$ para completar las pruebas

Características de seguridad de estas pruebas

  • Terminación automática: apagado automático incorporado

  • Apto para el nivel gratuito: utiliza los tipos de instancias más pequeños

  • Alcance limitado: recursos de prueba mínimos y aislados

  • Limpieza sencilla: sencillos pasos de consola para quitarlo todo

  • Sin impacto en la producción: entorno de prueba completamente independiente

Configure su AWS cuenta para realizar las pruebas

importante

Los recursos de infraestructura deben desplegarse en la AWS cuenta en la que creó su cuenta de nube principal de DevOps Agent Space. La región específica no importa.

  1. Inicie sesión en AWS la consola: https://console.aws.amazon.com

  2. Asegúrese de trabajar en la misma AWS cuenta en la que se encuentra su espacio de DevOps agente

  3. Puedes usar cualquier región para tus recursos de prueba

nota

El mapeo individual entre la cuenta principal de su DevOps agente y los recursos del entorno de prueba que está creando simplifica la configuración de la prueba. Puede ampliar fácilmente su espacio de DevOps agente para incluir cuentas secundarias y permitir investigaciones entre cuentas.

Elige tu prueba

Puede realizar cualquiera de las dos pruebas de forma independiente o ambas a la vez:

Opción de prueba A: prueba de capacidad de la CPU EC2

Objetivo: validar la capacidad del AWS DevOps agente para detectar e investigar los problemas de rendimiento de EC2

Tiempo estimado: 5 minutos de configuración más 10 minutos de ejecución automática

Dificultad: Totalmente automatizado (no se requieren pasos manuales)

Opción de prueba B: prueba de tasa de error Lambda

Objetivo: Validar la capacidad del AWS DevOps agente para detectar e investigar los errores de la función Lambda

Tiempo estimado: 10 minutos de configuración más 2 minutos de activación

Dificultad: Muy fácil

Opción de prueba A: prueba de capacidad de la CPU EC2

Paso 1: Implemente la CloudFormation pila para la prueba de EC2

Los utilizaremos CloudFormation para crear nuestros recursos de prueba, lo que permitirá al AWS DevOps agente rastrearlos e investigarlos adecuadamente.

  1. Navega hasta CloudFormation:

    1. En AWS la consola, busque CloudFormation "» y haga clic en CloudFormation

    2. Haga clic en Crear pila > Con recursos nuevos (estándar)

  2. Cargar plantilla:

    1. Cree un nuevo archivo local llamado AWS-DevOpsAgent-ec2-test.yaml

    2. Copia y pega esta CloudFormation plantilla en el archivo:

      1. 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}'
    3. En la CloudFormation consola, selecciona Cargar un archivo de plantilla

    4. Haz clic en Elegir archivo

    5. Seleccione el AWS-DevOpsAgent-ec2-test.yaml archivo

    6. Haga clic en Siguiente.

  3. Configurar la pila:

    1. Nombre de la pila: AWS-DevOpsAgent-EC2-Test

    2. Parámetros:

      1. MyIP: dejar como predeterminado 0.0.0.0/0 (puede asegurarlo más adelante si es necesario)

    3. Haga clic en Siguiente.

  4. Configura las opciones de pila:

    1. Deje los valores predeterminados y haga clic en Siguiente

  5. Revise y cree:

    1. Marque Acepto que AWS CloudFormation podría crear recursos de IAM

    2. Haga clic en Enviar

  6. Espere a que finalice:

    1. La creación de la pila tarda de 3 a 5 minutos

    2. El estado cambiará de CREATE_IN_PROGRESS a CREATE_COMPLETE

    3. Importante: ¡Su instancia EC2 ahora forma parte de una CloudFormation pila que AWS DevOpsAgent puede rastrear!

Opcional: acceso SSH seguro (solo si planea conectarse a la instancia)

Omite este paso si solo quieres ejecutar la prueba automática

  1. Navegue hasta los grupos de seguridad de EC2:

    1. En la AWS consola, vaya a EC2 → Grupos de seguridad

    2. Buscar AWS-DevOpsAgent-test-sg

  2. Actualizar la regla SSH:

    1. Seleccione el grupo de seguridad → pestaña Reglas de entrada → Editar reglas de entrada

    2. Busque la regla SSH (puerto 22)

    3. Cambia la fuente de 0.0.0.0/0 a tu IP: [YOUR_IP]/32

    4. Obtenga su IP de https://whatismyipaddress.com

    5. Haz clic en Guardar reglas

Paso 2: Espere a que se ejecute automáticamente la prueba

  1. Ejecución automática de la prueba:

    • La prueba de stress de la CPU se iniciará automáticamente 5 minutos después del lanzamiento de la instancia

    • No es necesaria ninguna intervención manual: espere, la prueba se ejecuta completamente en segundo plano

  2. Supervise la prueba:

    • La instancia inicia y prepara la prueba automáticamente

    • El script se ejecutará durante 5 minutos y generará un uso de CPU superior al 70%

    • CloudWatch la alarma debería activarse en un plazo total de 8 a 10 minutos (5 minutos de retraso + 3-5 minutos para la alarma)

  3. Opcional: repetición manual (para pruebas adicionales):

    • Conéctese a su instancia: consola EC2 → → Connect AWS-DevOpsAgent-Test-Instance → Session Manager

    • Vuelva a realizar la prueba de stress: ./cpu-stress-test.sh

    • Perfecto para probar AWS DevOpsAgent la respuesta varias veces

Opción de prueba B: prueba de tasa de error Lambda

Paso 1: Implementar la CloudFormation pila para la prueba Lambda

  1. Navegue hasta CloudFormation:

    1. En AWS la consola, vaya a CloudFormation

    2. Haga clic en Crear pilaCon nuevos recursos (estándar)

  2. Cargar plantilla:

    1. Cree un nuevo archivo local llamado AWS-DevOpsAgent-lambda-test.yaml

    2. Copia y pega esta CloudFormation plantilla en el archivo:

      1. 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'
    3. En la CloudFormation consola, selecciona Cargar un archivo de plantilla

    4. Haz clic en Elegir archivo

    5. Seleccione el AWS-DevOpsAgent-lambda-test.yaml archivo

    6. Haga clic en Siguiente.

  3. Configurar la pila:

    1. Nombre de la pila: AWS-DevOpsAgent-Lambda-Test

    2. Haga clic en Siguiente.

  4. Configura las opciones de pila:

    1. Deje los valores predeterminados, haga clic en Siguiente

  5. Revise y cree:

    1. Marque Acepto que AWS CloudFormation podría crear recursos de IAM

    2. Haga clic en Enviar

  6. Espere a que finalice:

    1. La creación de la pila tarda de 2 a 3 minutos

    2. El estado cambiará a CREATE_COMPLETE

Paso 2: Activar errores Lambda

  1. Navegue a la consola Lambda:

    1. Ir a la AWS consola Lambda

    2. Encuentre su función AWS-DevOpsAgent-test-lambda

  2. Pruebe la función:

    1. Haga clic en la pestaña Probar

    2. Haz clic en Crear nuevo evento

    3. Nombre del evento: AWS-DevOpsAgent-test-event

    4. Usa esta carga útil de JSON:

      1. { "test": "AWS DevOpsAgent validation", "timestamp": "2024-01-01T00:00:00Z" }
    5. Haz clic en Guardar

  3. Generar errores:

    1. Haga clic en el botón Probar 3 veces (espere 10 segundos entre cada una)

    2. Cada prueba generará un error intencionado

    3. CloudWatch la alarma debería activarse en 2-3 minutos

    4. AWS DevOpsAgentahora debería poder detectar la alarma con una investigación en la aplicación Operator que configurarás a continuación.

Valide la detección AWS DevOps del agente

Paso 1: CloudWatch Alarmas de control de cordura (opcionales)

Este paso sirve para garantizar que las pruebas anteriores estén ahora en estado de alarma.

Para la prueba EC2:

  • En la CloudWatch consola, vaya a Alarmas

  • Espere de 3 a 5 minutos después de comenzar la prueba de stress

  • La alarma debería mostrarse en estado de alarma

  • Si sigue «bien»: espera otros 2 o 3 minutos (CloudWatch las métricas pueden retrasarse)

Para la prueba Lambda:

  • Compruebe la alarma AWS-DevOpsAgent-Lambda-Error-Test

  • Debería mostrar la alarma entre 2 y 3 minutos después de ejecutar las pruebas

Paso 2: Iniciar una investigación sobre un AWS DevOps agente

  1. Abre tu AWS DevOps agente AgentSpace

  2. Haz clic en Acceso de administrador. Esto abrirá la aplicación web DevOps Agent Space en una ventana nueva

  3. Haga clic en el botón Iniciar investigación en la parte derecha de la pantalla

  4. Complete el siguiente formulario:

    1. Detalles de la investigación: describe la investigación que te gustaría llevar a cabo. Incluye todos los detalles que puedas sobre los objetivos de la investigación, las áreas a explorar o la información relevante.

    2. Punto de partida de la investigación: describe la información con la que quieres iniciar la investigación. Puedes mencionar una alarma, una métrica, un fragmento de registro o cualquier otra cosa para que el DevOps agente tenga un punto de partida desde el que trabajar. En este caso, proporciona un resumen de las alarmas que acabas de crear.

    3. Fecha y hora del incidente (se prefiere la norma ISO 8601) ::MMZ YYYY-MM-DDTHH

    4. Ponle un nombre a tu investigación: ejemplo: Oncall_investigation_1:2025-10-27

    5. AWS ID de cuenta del incidente

    6. Región donde ocurrió el incidente

    7. Prioridad: AWS DevOpsAgent permite realizar dos investigaciones simultáneas. La prioridad le permite definir el orden de ejecución de sus investigaciones.

  5. Haga clic en Investigar para iniciar la investigación.

  6. Haz clic en la investigación que aparece en el panel de control. Accederás a la pantalla de detalles de la investigación, donde podrás ver las medidas detalladas que está tomando el DevOps agente.

Resultados esperados

Resultados de la prueba EC2:

  • Detecta la alarma de la CPU EC2

  • Identifica la causa raíz: «carga de trabajo de pruebas de stress de la CPU»

  • Muestra la cronología: Prueba de esfuerzo → Pico de CPU → Alarma

  • Proporciona recomendaciones para la supervisión y el escalado

Resultados de la prueba Lambda:

  • Detecta un pico en la tasa de errores de Lambda

  • Identifica la causa principal: «Excepciones de prueba intencionales»

  • Muestra la cronología: Invocaciones de funciones → Errores → Alarma

  • Proporciona recomendaciones para el manejo y monitoreo de errores

Instrucciones de limpieza

Prueba de limpieza A (prueba EC2)

Limpieza automática

  • La instancia finalizará automáticamente después de 2 horas (integrada en la CloudFormation plantilla)

Limpieza manual (inmediata)

  1. Eliminar CloudFormation pila:

    1. Ve a la CloudFormation consola

    2. Selecciona una AWS-DevOpsAgent-EC2-Test pila

    3. Haz clic en Eliminar

    4. Confirme la eliminación

    5. Esto eliminará automáticamente todos los recursos: instancia EC2, grupo de seguridad, key pair y alarma CloudWatch

Prueba de limpieza B (prueba Lambda)

  1. Eliminar pila CloudFormation :

    1. Ve a la CloudFormation consola

    2. Selecciona una AWS-DevOpsAgent-Lambda-Test pila

    3. Haz clic en Eliminar

    4. Confirme la eliminación

    5. Esto eliminará automáticamente todos los recursos: función Lambda, función de IAM y alarma CloudWatch

Resolución de problemas

Problemas comunes

«No se puede conectar a la instancia EC2»

  • Compruebe el grupo de seguridad: asegúrese de que SSH (puerto 22) esté abierto a su IP

  • Compruebe los permisos clave: ejecute chmod 400 AWS-DevOpsAgent-test-key.pem

  • Verificar la IP pública: la instancia debe tener una IP pública asignada

  • Espere una instancia: asegúrese de que la instancia esté en estado «En ejecución»

«La alarma no se activa»

  • Espere a que aparezcan las métricas: CloudWatch las métricas pueden tardar entre 2 y 5 minutos en aparecer

  • Comprueba la carga de la CPU: usa SSH a la instancia y ejecútala top para verificar que la CPU sea superior al 70%

  • Verifica la prueba de esfuerzo: ps aux | grep yes ejecútala para ver si los procesos de carga se están ejecutando

  • Espera prolongada: a veces se tarda entre 7 y 8 minutos en activarse la primera alarma

Validación de prueba

La prueba de su AWS DevOp agente se realiza correctamente cuando:

Validación técnica

  • Precisión de la investigación: los resultados de la prueba EC2 deberían indicar correctamente que la alarma se activó debido a la carga de la CPU. El resultado de la prueba Lambda debería indicar que se trató de un fallo intencionado.

  • Precisión del cronograma: se muestra la secuencia correcta de eventos

  • Calidad de la recomendación: se proporcionan sugerencias prácticas