Tutorial: Ejecuta CPU stress en una instancia usando AWS FIS - AWS Servicio de inyección de averías

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.

Tutorial: Ejecuta CPU stress en una instancia usando AWS FIS

Puede usar… AWS Servicio de inyección de averías (AWS FIS) para comprobar cómo sus aplicaciones gestionan CPU el stress. Utilice este tutorial para crear una plantilla de experimento que utilice AWS FISpara ejecutar un SSM documento preconfigurado que ejecute CPU stress en una instancia. El tutorial utiliza una condición de parada para detener el experimento cuando la CPU utilización de la instancia supera un umbral configurado.

Para obtener más información, consulte Documentos preconfigurados AWS FIS SSM.

Requisitos previos

Antes de poder usar AWS FISpara correr CPU stress, complete los siguientes requisitos previos.

Cree un rol IAM

Cree un rol y adjunte una política que permita AWS FISpara usar la aws:ssm:send-command acción en tu nombre. Para obtener más información, consulte Roles de IAM para los experimentos de AWS FIS.

Verifica el acceso a AWS FIS

Asegúrese de tener acceso a AWS FIS. Para obtener más información, consulte AWS FISejemplos de políticas.

Prepare una EC2 instancia de prueba
  • Lance una EC2 instancia con Amazon Linux 2 o Ubuntu, tal y como se requiere en los SSM documentos preconfigurados.

  • La instancia debe ser administrada porSSM. Para comprobar que la instancia está gestionada porSSM, abra la consola de Fleet Manager. Si la instancia no está gestionada porSSM, compruebe que el SSM agente esté instalado y que la instancia tenga una IAM función asociada con la mazonSSMManaged InstanceCore política A. Para verificar el SSM agente instalado, conéctese a la instancia y ejecute el siguiente comando.

    Amazon Linux 2

    yum info amazon-ssm-agent

    Ubuntu

    apt list amazon-ssm-agent
  • Habilite la monitorización detallada para la instancia. Esto proporciona datos en periodos de 1 minuto por un cargo adicional. Seleccione la instancia y elija Acciones, Monitoreo y solución de problemas, Administrar el monitoreo detallado.

Paso 1: Crea una CloudWatch alarma para una condición de parada

Configure una CloudWatch alarma para poder detener el experimento si la CPU utilización supera el umbral que especifique. El siguiente procedimiento establece el umbral en un 50% de CPU utilización para la instancia de destino. Para obtener más información, consulte Condiciones de detención.

Para crear una alarma que indique cuándo CPU la utilización supera un umbral
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Instances (Instancia[s]).

  3. Seleccione la instancia de destino y elija Acciones, Monitorear y solucionar problemas y Administrar CloudWatch alarmas.

  4. Para las notificaciones de alarmas, usa el botón para desactivar SNS las notificaciones de Amazon.

  5. En Umbrales de alarma, utilice los siguientes ajustes:

    • Agrupar muestras por: Máximo

    • Tipo de datos para muestrear: utilización CPU

    • Porcentaje: 50

    • Período: 1 Minute

  6. Cuando haya terminado de configurar la alarma, elija Crear.

Paso 2: Crear una plantilla de experimento

Cree la plantilla del experimento utilizando el AWS FISconsola. En la plantilla, debe especificar la siguiente acción para ejecutarla: AWSFISaws:ssm:send-command/ -Run- -Stress. CPU

Para crear una plantilla de experimento
  1. Abra el icono AWS FISbarra de consola. https://console.aws.amazon.com/fis/

  2. En el panel de navegación, elija Plantillas de experimento.

  3. Elija Crear plantilla de experimento.

  4. En Descripción y nombre, escriba un nombre y una descripción para la plantilla.

  5. En Actions (Acciones), haga lo siguiente:

    1. Seleccione Agregar acción.

    2. Escriba un nombre para la acción. Por ejemplo, escriba runCpuStress.

    3. Como Tipo de acción, elija AWSFISaws:ssm:send-command/ -Run- -Stress. CPU Esto añade automáticamente el documento al documento. ARN SSM ARN

    4. Para Target, mantenga el objetivo que AWS FIScrea para ti.

    5. En Parámetros de acción, Parámetros del documento, ingrese lo siguiente:

      {"DurationSeconds":"120"}
    6. En Parámetros de acción, Duración, especifique 5 minutos (PT5M).

    7. Seleccione Guardar.

  6. En Targets (Destinos), haga lo siguiente:

    1. Elija Editar para el objetivo que AWS FIScreado automáticamente para usted en el paso anterior.

    2. Sustituya el nombre por defecto por un nombre más descriptivo. Por ejemplo, escriba testInstance.

    3. Compruebe que Tipo de recurso sea aws:ec2:instance.

    4. En el método Target, elija Recurso yIDs, a continuación, elija el ID de la instancia de prueba.

    5. En Modo de selección, elija Todos.

    6. Seleccione Guardar.

  7. Para el acceso al servicio, elija Usar un IAM rol existente y, a continuación, elija el IAM rol que creó, tal como se describe en los requisitos previos de este tutorial. Si su rol no aparece, compruebe que tiene la relación de confianza requerida. Para obtener más información, consulte Roles de IAM para los experimentos de AWS FIS.

  8. Para las condiciones de parada, seleccione la CloudWatch alarma que creó en el paso 1.

  9. (Opcional) En Etiquetas, elija Agregar nueva etiqueta y especifique una clave y un valor de etiqueta. Las etiquetas que agregue se aplican a la plantilla de experimento, no a los experimentos que se ejecutan con la plantilla.

  10. Elija Crear plantilla de experimento.

(Opcional) Para ver la plantilla del experimento JSON

Elija la pestaña Exportar. El siguiente es un ejemplo del procedimiento JSON creado por la consola anterior.

{ "description": "Test CPU stress predefined SSM document", "targets": { "testInstance": { "resourceType": "aws:ec2:instance", "resourceArns": [ "arn:aws:ec2:region:123456789012:instance/instance_id" ], "selectionMode": "ALL" } }, "actions": { "runCpuStress": { "actionId": "aws:ssm:send-command", "parameters": { "documentArn": "arn:aws:ssm:region::document/AWSFIS-Run-CPU-Stress", "documentParameters": "{\"DurationSeconds\":\"120\"}", "duration": "PT5M" }, "targets": { "Instances": "testInstance" } } }, "stopConditions": [ { "source": "aws:cloudwatch:alarm", "value": "arn:aws:cloudwatch:region:123456789012:alarm:awsec2-instance_id-GreaterThanOrEqualToThreshold-CPUUtilization" } ], "roleArn": "arn:aws:iam::123456789012:role/AllowFISSSMActions", "tags": {} }

Paso 3: Iniciar el experimento

Cuando haya terminado de crear la plantilla de experimento, podrá utilizarla para iniciar un experimento.

Para iniciar un experimento
  1. Debería estar en la página de detalles de la plantilla de experimento que acaba de crear. De lo contrario, elija Plantillas de experimento y, a continuación, seleccione el ID de la plantilla de experimento para abrir la página de detalles.

  2. Elija Start experiment (Iniciar experimento).

  3. (Opcional) Para agregar una etiqueta a su experimento, elija Agregar nueva etiqueta e ingrese una clave y un valor de etiqueta.

  4. Elija Start experiment (Iniciar experimento). Cuando se le solicite confirmación, ingrese start. Elija Start experiment (Iniciar experimento).

Paso 4: Hacer un seguimiento del progreso del experimento

Puede hacer un seguimiento del progreso de un experimento en ejecución hasta que se complete, se detenga o falle.

Para hacer un seguimiento del progreso de un experimento
  1. Debería estar en la página de detalles del experimento que acaba de iniciar. De lo contrario, seleccione Experimentos y, a continuación, seleccione el ID del experimento para abrir la página de detalles del experimento.

  2. Para ver el estado del experimento, seleccione Estado en el panel Detalles. Para obtener más información, consulte Estados de experimento.

  3. Cuando el estado del experimento sea En ejecución, pase al siguiente paso.

Paso 5: Verificar los resultados del experimento

Puede supervisar el CPU uso de la instancia mientras se ejecuta el experimento. Cuando la CPU utilización alcanza el umbral, se activa la alarma y el experimento se detiene cuando se produce la condición de parada.

Para verificar los resultados del experimento
  1. Seleccione la pestaña Condiciones de detención. El borde y el icono de marca de verificación verdes indican que el estado inicial de la alarma es OK. La línea roja indica el umbral de alarma. Si prefiere un gráfico más detallado, elija Ampliar en el menú del widget.

    El gráfico muestra un aumento CPU de la utilización hasta el 100 por ciento después de un período de baja actividad de alrededor del 50 por ciento.
  2. Cuando la CPU utilización supera el umbral, el borde rojo y el icono de signo de exclamación rojo de la pestaña Condiciones de parada indican que el estado de alarma ha cambiado aALARM. En el panel Detalles, el estado del experimento es Detenido. Si selecciona el estado, el mensaje que aparece es “El experimento se ha detenido por la condición de detención”.

    El gráfico muestra CPU la utilización a lo largo del tiempo con una línea de umbral roja del 50 por ciento.
  3. Cuando CPU la utilización disminuye por debajo del umbral, el borde verde y el icono de marca de verificación verde indican que el estado de alarma ha cambiado aOK.

  4. (Opcional) Seleccione Ver en alarmas en el menú del widget. Esto abre la página de detalles de la alarma en la CloudWatch consola, donde puede obtener más detalles sobre la alarma o editar la configuración de la alarma.

Paso 6: limpiar

Si ya no necesitas la EC2 instancia de prueba que creaste para este experimento, puedes cancelarla.

Para terminar la instancia
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Instances (Instancia[s]).

  3. Seleccione las instancias de prueba y elija Estado de instancia y Terminar instancia.

  4. Cuando se le indique que confirme, elija Terminar.

Si ya no necesita la plantilla de experimento, puede eliminarla.

Para eliminar una plantilla de experimento mediante el AWS FISconsola
  1. Abra el icono AWS FISbarra de consola https://console.aws.amazon.com/fis/.

  2. En el panel de navegación, elija Plantillas de experimento.

  3. Seleccione la plantilla de experimento y elija Acciones, Eliminar plantilla de experimento.

  4. Cuando se le solicite confirmación, ingrese delete y luego, elija Eliminar plantilla de experimento.