

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 mediante AWS FIS
<a name="fis-tutorial-run-cpu-stress"></a>

Puede usar AWS AWS Fault Injection Service (FIS) para probar cómo sus aplicaciones manejan el estrés de la CPU. Usa este tutorial para crear una plantilla de experimento que use AWS FIS para ejecutar un documento SSM preconfigurado que ejecute CPU stress 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 FIS SSM preconfigurados AWS](actions-ssm-agent.md#fis-ssm-docs).

## Requisitos previos
<a name="run-cpu-stress-prerequisites"></a>

Antes de poder usar AWS FIS para ejecutar CPU stress, complete los siguientes requisitos previos.

**Creación de un rol de IAM**  
Cree un rol y adjunte una política que permita a la AWS FIS utilizar la `aws:ssm:send-command` acción en su nombre. Para obtener más información, consulte [Funciones de IAM para los experimentos de AWS FIS](getting-started-iam-service-role.md).

**Verifique el acceso al AWS FIS**  
Asegúrese de tener acceso al AWS FIS. Para obtener más información, consulte [Ejemplos de política de AWS FIS](security_iam_id-based-policy-examples.md).

**Preparación de una instancia de EC2 de prueba**
+ Lance una instancia de 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](https://console.aws.amazon.com/systems-manager/managed-instances). **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 Amazon. SSMManaged InstanceCore** 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: Crea una CloudWatch alarma para una condición de parada
<a name="getting-started-create-alarms"></a>

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](stop-conditions.md).

**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/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

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

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

1. 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**

1. Cuando haya terminado de configurar la alarma, elija **Crear**.

## Paso 2: Crear una plantilla de experimento
<a name="run-cpu-stress-create-template"></a>

Cree la plantilla del experimento mediante la consola AWS FIS. En la plantilla, debe especificar la siguiente acción para ejecutarla: [AWSFIS-Runaws:ssm:send-command/](actions-ssm-agent.md#awsfis-run-cpu-stress) -CPU-Stress.

**Para crear una plantilla de experimento**

1.  AWS Abra [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)la consola FIS en.

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

1. Elija **Crear plantilla de experimento**.

1. En el **paso 1, Especificar los detalles de la plantilla**, haga lo siguiente:

   1. En **Descripción y nombre**, introduzca una descripción para la plantilla. 

   1. Seleccione **Siguiente** y vaya al **paso 2, Especificar acciones y objetivos**. 

1. En **Actions (Acciones)**, haga lo siguiente:

   1. Seleccione **Agregar acción**.

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

   1. Como **Tipo de acción**, elija **AWSFIS-Runaws:ssm:send-command/** -CPU-Stress. Esto agrega automáticamente el ARN del documento de SSM al **ARN de documento**.

   1. **En** Target, mantenga el objetivo que AWS FIS cree para usted.

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

      ```
      {"DurationSeconds":"120"}
      ```

   1. En **Parámetros de acción**, **Duración**, especifique 5 minutos (PT5M).

   1. Seleccione **Save**.

1. En **Destinos**, haga lo siguiente:

   1. Elija **Editar** para el objetivo que AWS FIS creó automáticamente para usted en el paso anterior.

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

   1. Compruebe que **Tipo de recurso** sea **aws:ec2:instance**.

   1. En el **método Target**, elija **Recurso** y IDs, a continuación, elija el ID de la instancia de prueba.

   1. En **Modo de selección**, elija **Todos**.

   1. Seleccione **Save**.

1. Seleccione **Siguiente** para ir al **paso 3, Configurar el acceso al servicio**. 

1. 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 [Funciones de IAM para los experimentos de AWS FIS](getting-started-iam-service-role.md).

1. Seleccione **Siguiente** para pasar al **paso 4, Configurar los ajustes opcionales**. 

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

1. (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.

1. Selecciona **Siguiente** para pasar al **paso 5, Revisar y crear**. 

1. Revisa la plantilla y selecciona **Crear plantilla de experimento**. Cuando se solicite la confirmación, introduzca y`create`, a continuación, seleccione **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
<a name="run-cpu-stress-start-experiment"></a>

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.

1. Elija **Start experiment** (Iniciar experimento).

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

1. 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
<a name="run-cpu-stress-track-experiment"></a>

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.

1. Para ver el estado del experimento, seleccione **Estado** en el panel **Detalles**. Para obtener más información, consulte [Estados de experimento](view-experiment-progress.md#experiment-states).

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

## Paso 5: Verificar los resultados del experimento
<a name="run-cpu-stress-verify-experiment-results"></a>

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.  
![Gráfico que muestra un pico de uso de la CPU de hasta el 100 por ciento después de un período de baja actividad de alrededor del 50 por ciento.](http://docs.aws.amazon.com/es_es/fis/latest/userguide/images/stop-conditions-pane-ok.png)

1. 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”.  
![Gráfico que muestra el uso de la CPU a lo largo del tiempo con una línea de umbral roja del 50 por ciento.](http://docs.aws.amazon.com/es_es/fis/latest/userguide/images/stop-conditions-pane-in-alarm.png)

1. 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`.

1. (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
<a name="stop-instances-cleanup"></a>

Si ya no necesita la instancia de 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/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instances (Instancias)**.

1. Seleccione las instancias de prueba y elija **Estado de instancia** y **Terminar instancia**.

1. Cuando se le indique que confirme, elija **Finalizar**.

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

**Para eliminar una plantilla de experimento mediante la consola AWS FIS**

1. Abra la consola AWS FIS en. [https://console.aws.amazon.com/fis/](https://console.aws.amazon.com/fis/)

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

1. Seleccione la plantilla de experimento y elija **Acciones**, **Eliminar plantilla de experimento**.

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