Tutorial: Ejecutar esfuerzo de la CPU en una instancia con 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: Ejecutar esfuerzo de la CPU en una instancia con AWS FIS

Puede usar AWS Fault Injection Service (AWS FIS) para probar cómo gestionan sus aplicaciones el esfuerzo de la CPU. Usa este tutorial para crear una plantilla de experimento que use AWS FIS para ejecutar un documento de SSM preconfigurado que ejecute esfuerzo de la CPU en una instancia. El tutorial utiliza una condición de detención para detener el experimento cuando la utilización de la CPU de la instancia supera un umbral configurado.

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

Requisitos previos

Antes de poder utilizar AWS FIS para ejecutar esfuerzo de la CPU, se deben completar los siguientes requisitos previos:

Crear un rol de IAM

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

Verificación del acceso a AWS FIS

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

Preparación de una instancia EC2 de prueba
  • Lance una instancia EC2 con Amazon Linux 2 o Ubuntu, tal y como exigen los documentos de SSM preconfigurados.

  • SSM debe administrar la instancia. Para comprobar que SSM administra la instancia, abra la consola de Fleet Manager. Si SSM no administra la instancia, compruebe que el agente SSM esté instalado y que la instancia tenga una función de IAM asociada a la política de AmazonSSM. ManagedInstanceCore Para verificar el SSM Agent 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: Cree una alarma para una condición de parada CloudWatch

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

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

  2. En el panel de navegación, seleccione Instancias.

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

  4. En Notificación de alarma, active la opción para desactivar las notificaciones de Amazon SNS.

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

    • Agrupar muestras por: Máximo

    • Tipo de datos para la muestra: Utilización de la 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 de experimento con la consola AWS FIS. En la plantilla, debe especificar la siguiente acción para ejecutarla: AWSFISaws:ssm:send-command/ -Run-CPU-Stress.

Para crear una plantilla de experimento
  1. Abra la consola de AWS FIS en 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 AWSFIS aws:ssm:send-command/ -Run-CPU-Stress. Esto agrega automáticamente el ARN del documento de SSM al ARN de documento.

    4. En Destino, mantenga el destino que AWS FIS crea automáticamente.

    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 en el destino que AWS FIS creó automáticamente 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 Método de destino, elija ID de recurso y, a continuación, elija el ID de la instancia de prueba.

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

    6. Seleccione Guardar.

  7. En Acceso al servicio, elija Usar un rol de IAM existente y, a continuación, elija el rol de IAM 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 alarma que creó en el paso 1. CloudWatch

  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 de experimento JSON

Elija la pestaña Exportar. A continuación, verá un ejemplo del JSON creado por el procedimiento de 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 monitorizar el uso de la CPU de la instancia mientras se ejecuta el experimento. Cuando el uso de la CPU alcanza el umbral, se activa la alarma y el experimento se detiene cuando se produce la condición de detención.

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.

  2. Cuando el uso de la CPU supera el umbral, el borde y el icono de signo de exclamación rojos de la pestaña Condiciones de detención indican que el estado de alarma ha cambiado a ALARM. 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”.

  3. Cuando el uso de la CPU cae por debajo del umbral, el borde y el icono de marca de verificación verdes indican que el estado de alarma ha cambiado a OK.

  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 necesita la instancia EC2 de prueba que creó para este experimento, puede terminarla.

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

  2. En el panel de navegación, seleccione Instancias.

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

  4. Cuando se le indique que confirme, elija Terminate (Rescindir).

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

Para eliminar una plantilla de experimento con la consola de AWS FIS
  1. Abra la consola de AWS FIS en 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.