

# Detención, terminación, reinicio o recuperación de una instancia de EC2
<a name="UsingAlarmActions"></a>

Mediante las acciones de la alarma de Amazon CloudWatch, puede crear alarmas que detienen, terminan, reinician o recuperan automáticamente las instancias EC2. Puede utilizar las acciones detener o terminar para ayudarle a ahorrar dinero cuando ya no necesita que se ejecute una instancia. Puede utilizar las acciones reiniciar y recuperar para reiniciar automáticamente dichas instancias o recuperarlas en nuevo hardware si se produce un deterioro del sistema.

Hay una serie de situaciones en las que es posible que desee detener o terminar la instancia automáticamente. Por ejemplo, es posible que tenga instancias dedicadas a trabajos de procesamiento de nóminas por lotes o tareas de cálculo científico que se ejecutan durante un período de tiempo y después completan su trabajo. En lugar de dejar dichas instancias inactivas (y acumulando cargos), puede pararlas o terminarlas, lo que le ayuda a ahorrar dinero. La principal diferencia entre utilizar las acciones de alarma detener y terminar es que puede reiniciar fácilmente una instancia detenida si necesita ejecutarla de nuevo más tarde. También puede mantener el mismo ID de instancia y volumen raíz. Sin embargo, no se puede reiniciar una instancia terminada. En su lugar, debe lanzar una nueva instancia.

Puede agregar las acciones detener, terminar, reiniciar en cualquier alarma establecida en una métrica por instancia de Amazon EC2, incluidas las métricas de monitoreo detallado y básico que Amazon CloudWatch proporciona (en el espacio de nombres AWS/EC2), además de cualquier métrica personalizada que incluya la dimensión "InstanceId =", siempre que el valor InstanceId se refiera a una instancia válida de Amazon EC2 en ejecución. También puede agregar la acción de recuperación a las alarmas configuradas en cualquier métrica por instancia de Amazon EC2, excepto en `StatusCheckFailed_Instance`.

**importante**  
Las alarmas configuradas en las métricas de Amazon EC2 pueden entrar temporalmente en el estado INSUFFICIENT\$1DATA si faltan puntos de datos de las métricas. Esto es poco frecuente, pero puede ocurrir cuando se interrumpe la generación de informes de métricas, incluso cuando la instancia de Amazon EC2 está en buen estado. En el caso de las alarmas de las métricas de Amazon EC2 que estén configuradas para realizar acciones de detención, finalización, reinicio o recuperación, le recomendamos que configure esas alarmas para tratar los datos faltantes como `missing` y hacer que estas alarmas se activen solo cuando estén en el estado ALARMA.  
Para obtener más información sobre cómo configurar CloudWatch para que actúe en función de las métricas faltantes que tienen las alarmas configuradas, consulte [Configuración de la forma en la que las alarmas de CloudWatch tratan los datos que faltan](alarms-and-missing-data.md).

Para configurar una acción en la alarma de CloudWatch que pueda reiniciar, detener o terminar una instancia, debe utilizar un rol de IAM vinculado al servicio, *AWSServiceRoleForCloudWatchEvents*. El rol de IAM AWSServiceRoleForCloudWatchEvents le permite a AWS realizar acciones en la alarma en su nombre.

Para crear un rol vinculado al servicio para CloudWatch Events, utilice el siguiente comando:

```
aws iam create-service-linked-role --aws-service-name events.amazonaws.com
```

**Soporte de consola**  
Puede crear alarmas mediante la consola de Amazon EC2 o la consola de CloudWatch. Los procedimientos de esta documentación utilizan la consola de CloudWatch. Para conocer los procedimientos que utilizan la consola de Amazon EC2, consulte [Crear alarmas que detienen, terminan, reinician o recuperan una instancia](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingAlarmActions.html) en la *Guía del usuario de Amazon EC2*.

**Permisos**  
Si utiliza una cuenta de AWS Identity and Access Management (IAM) para crear o modificar una alarma que realice acciones de EC2 o acciones de OpsItem de Systems Manager, debe tener el permiso `iam:CreateServiceLinkedRole`.

**Topics**
+ [Agregar acciones de detención a las alarmas de Amazon CloudWatch](#AddingStopActions)
+ [Agregar acciones de terminación a las alarmas de Amazon CloudWatch](#AddingTerminateActions)
+ [Agregar acciones de reinicio a las alarmas de Amazon CloudWatch](#AddingRebootActions)
+ [Agregar acciones de recuperación a las alarmas de Amazon CloudWatch](#AddingRecoverActions)
+ [Ver el historial de alarmas activadas y acciones](#ViewAlarmHistory)

## Agregar acciones de detención a las alarmas de Amazon CloudWatch
<a name="AddingStopActions"></a>

Puede crear una alarma que detenga una instancia Amazon EC2 cuando se alcance un umbral determinado. Por ejemplo, podría ejecutar instancias de desarrollo o de prueba y en ocasiones olvidarse de apagarlas. Puede crear una alarma que se active cuando el porcentaje de uso medio de la CPU haya estado por debajo del 10 por ciento durante 24 horas, hecho indicativo de que ha estado inactiva y que ya no se está usando. Puede ajustar el umbral, la duración y el periodo que se adapten mejor a sus necesidades, además puede añadir una notificación de SNS, de forma que recibirá un correo electrónico cuando se active la alarma.

Las instancias de Amazon EC2 que utilizan un volumen de Amazon Elastic Block Store como dispositivo raíz se pueden detener o terminar, mientras que aquellas que utilizan el almacén de instancias como dispositivo raíz solo se pueden terminar.

**Para crear una alarma con el fin de detener una instancia inactiva mediante la consola de Amazon CloudWatch**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Alarms** (Alarmas) y, luego, **Create Alarm** (Crear alarma).

1. Elija **Crear alarma**.

1. Elija **Seleccionar métrica**.

1. En los **espacios de nombres de AWS**, elija **EC2**.

1. Haga lo siguiente:

   1. Elija **Per-Instance Metrics** (Métricas por instancia).

   1. Seleccione la casilla de verificación en la fila con la instancia correcta y la métrica **CPUUtilization**.

   1. Elija la pestaña **Métricas diagramadas**.

   1. Para la estadística, elija **Average**.

   1. Seleccione un periodo (por ejemplo, **1 Hour**).

   1. Elija **Seleccionar métrica**.

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

   1. Elija **Static** (Estático). 

   1. En **Whenever the CPUUtilization is** (Siempre que la CPUUtilization sea), elija **Lower** (Más baja).

   1. Para **than** (que), escriba **10**.

   1. Elija **Siguiente**.

   1. En **Notification**, en **Send notification to**, elija un tema de SNS existente o cree uno nuevo.

      Para crear un tema de SNS, elija **New list (Nueva lista)**. En **Send a notification to (Enviar una notificación a)**, escriba un nombre para el tema de SNS (por ejemplo, Stop\$1EC2\$1Instance). En **Email list (Lista de correo electrónico)**, escriba una lista separada por comas con las direcciones de correo electrónico a las que se van a enviar notificaciones cuando la alarma cambie al estado `ALARM`. A cada dirección de correo electrónico se envía un correo electrónico de confirmación de suscripción del tema. Debe confirmar la suscripción antes de que las notificaciones se puedan enviar a una dirección de correo electrónico.

   1. Elija **Add EC2 Action** (Agregar acción de EC2).

   1. En **Alarm state trigger** (Desencadenador de estado de alarma), elija **In Alarm** (En alarma). Para **Take the following action** (Realizar la siguiente acción), elija **Stop this instance** (Detener esta instancia).

   1. Elija **Siguiente**.

   1. Escriba un nombre y la descripción de la alarma. El nombre solo debe contener caracteres ASCII. A continuación, elija **Siguiente**.

   1. En **Obtener vista previa y crear**, confirme que la información y las condiciones son las que desea y, a continuación, elija **Crear alarma**.

## Agregar acciones de terminación a las alarmas de Amazon CloudWatch
<a name="AddingTerminateActions"></a>

Puede crear una alarma que termina una instancia de EC2 automáticamente cuando se alcanza un umbral determinado (siempre y cuando la protección de terminación no esté habilitada para la instancia). Por ejemplo, es posible que desee terminar una instancia cuando haya completado su trabajo y no necesita la instancia de nuevo. En caso de que desee utilizar la instancia en otro momento, debe detener la instancia en lugar de terminarla. Para obtener más información sobre la activación y la desactivación de la protección de terminación de una instancia, consulte [Enabling Termination Protection for an Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_ChangingDisableAPITermination.html) en la *Guía del usuario de Amazon EC2*.

**Para crear una alarma para terminar una instancia inactiva mediante la consola de Amazon CloudWatch**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Alarms**, **Create Alarm**.

1. En el paso **Seleccionar métrica**, haga lo siguiente:

   1. En **EC2 Metrics**, elija **Per-Instance Metrics**.

   1. Seleccione la fila con la instancia y la métrica **CPUUtilization**.

   1. Para la estadística, elija **Average**.

   1. Seleccione un periodo (por ejemplo, **1 Hour**).

   1. Elija **Siguiente**.

1. En el paso **Define Alarm**, haga lo siguiente:

   1. En **Alarm Threshold**, escriba un nombre único para la alarma (por ejemplo, Terminar instancia EC2) y una descripción de la alarma (por ejemplo, Terminar la instancia EC2 cuando la CPU está inactiva demasiado tiempo). Los nombres de alarma solo pueden contener caracteres ASCII.

   1. En **Whenever (Siempre que)**, en **is (es)**, elija **<** y escriba **10**. En **for (para)**, escriba **24** periodos consecutivos.

      En **Vista previa de alarma** se muestra una representación gráfica del umbral.

   1. En **Notification**, en **Send notification to**, elija un tema de SNS existente o cree uno nuevo.

      Para crear un tema de SNS, elija **New list (Nueva lista)**. En **Send a notification to (Enviar una notificación a)**, escriba un nombre para el tema de SNS (por ejemplo, Terminate\$1EC2\$1Instance) En **Email list (Lista de correo electrónico)**, escriba una lista separada por comas con las direcciones de correo electrónico a las que se van a enviar notificaciones cuando la alarma cambie al estado `ALARM`. A cada dirección de correo electrónico se envía un correo electrónico de confirmación de suscripción del tema. Debe confirmar la suscripción antes de que las notificaciones se puedan enviar a una dirección de correo electrónico.

   1. Elija **EC2 Action**.

   1. En **Whenever this alarm**, elija **State is ALARM**. En **Take this action**, elija **Terminate this instance**.

   1. Elija **Crear alarma**.

## Agregar acciones de reinicio a las alarmas de Amazon CloudWatch
<a name="AddingRebootActions"></a>

Puede crear una alarma de Amazon CloudWatch que monitorice una instancia Amazon EC2 y reinicie la instancia automáticamente. La acción de alarma de reinicio se recomienda para errores de comprobación de estado de instancia (en contraposición a la acción de alarma recuperar, que es adecuada para los errores de comprobación de estado del sistema). Un reinicio de instancia es equivalente a un reinicio del sistema operativo. En la mayoría de los casos, solo necesita unos minutos para reiniciar su instancia. Cuando se reinicia una instancia, sigue estando en el mismo host físico, por lo que la instancia mantiene su nombre de DNS público, dirección IP privada y todos los datos en sus volúmenes de almacén de instancia.

El reinicio de una instancia no comienza una nueva hora de facturación de instancia, a diferencia de parar y reiniciar la instancia. Para obtener más información sobre cómo se reinicia una instancia, consulte [Reboot Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-reboot.html) en la *Guía del usuario de Amazon EC2*.

**importante**  
Para evitar una condición de carrera entre el reinicio y las acciones de recuperación, evitar configurar el mismo periodo de evaluación para una alarma de reinicio y otra de recuperación. Le recomendamos que configure las alarmas de reinicio en tres periodos de un minuto cada uno. 

**Para crear una alarma para reiniciar una instancia mediante la consola de Amazon CloudWatch**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Alarms**, **Create Alarm**.

1. En el paso **Seleccionar métrica**, haga lo siguiente:

   1. En **EC2 Metrics**, elija **Per-Instance Metrics**.

   1. Seleccione la fila con la instancia y la métrica **StatusCheckFailed\$1Instance**.

   1. Para la estadística, elija **Minimum**.

   1. Seleccione un periodo (por ejemplo, **1 Minute**).

   1. Elija **Siguiente**.

1. En el paso **Define Alarm**, haga lo siguiente:

   1. En **Alarm Threshold**, escriba un nombre único para la alarma (por ejemplo, Reiniciar instancia EC2) y una descripción de la alarma (por ejemplo, Reiniciar instancia EC2 cuando fallan las comprobaciones de estado). Los nombres de alarma solo pueden contener caracteres ASCII.

   1. En **Whenever (Siempre que)**, en **is (es)**, elija **>** y escriba **0**. En **for (para)**, escriba **3** periodos consecutivos.

      En **Vista previa de alarma** se muestra una representación gráfica del umbral.

   1. En **Notification**, en **Send notification to**, elija un tema de SNS existente o cree uno nuevo.

      Para crear un tema de SNS, elija **New list (Nueva lista)**. En **Send a notification to (Enviar una notificación a)**, escriba un nombre para el tema de SNS (por ejemplo, Reboot\$1EC2\$1Instance). En **Email list (Lista de correo electrónico)**, escriba una lista separada por comas con las direcciones de correo electrónico a las que se van a enviar notificaciones cuando la alarma cambie al estado `ALARM`. A cada dirección de correo electrónico se envía un correo electrónico de confirmación de suscripción del tema. Debe confirmar la suscripción antes de que las notificaciones se puedan enviar a una dirección de correo electrónico.

   1. Elija **EC2 Action**.

   1. En **Whenever this alarm**, elija **State is ALARM**. En **Take this action**, elija **Reboot this instance**.

   1. Elija **Crear alarma**.

## Agregar acciones de recuperación a las alarmas de Amazon CloudWatch
<a name="AddingRecoverActions"></a>

Puede crear una alarma de Amazon CloudWatch que monitoree una instancia de Amazon EC2 y recupere automáticamente la instancia si deja de funcionar debido a un error de hardware subyacente o un problema que requiera la intervención de AWS en la reparación. Las instancias terminadas no se pueden recuperar. Una instancia recuperada es idéntica a la instancia original, incluido el ID de instancia, direcciones IP privadas, direcciones IP elásticas y todos los metadatos de la instancia.

Cuando se activa la alarma `StatusCheckFailed_System` y se inicia la acción de recuperación, se le notificará mediante el tema de Amazon SNS que ha eligido al crear la alarma y la acción de recuperación asociada. Durante la recuperación de la instancia, la instancia se migró durante un reinicio de instancia y los datos que hay en la memoria se pierden. Cuando el proceso se ha completado, la información se publica en el tema de SNS que haya configurado para la alarma. Cualquier persona que esté suscrita a este tema de SNS recibirá una notificación por correo electrónico que incluye el estado del intento de recuperación e instrucciones adicionales. Observará un reinicio de instancia en la instancia recuperada.

La acción de recuperación solo se puede utilizar con `StatusCheckFailed_System`, no con `StatusCheckFailed_Instance`.

Entre los ejemplos de problemas que provocan errores en las comprobaciones de estado del sistema se incluyen:
+ Pérdida de conectividad de red
+ Pérdida de potencia del sistema
+ Problemas de software en el host físico
+ Problemas de hardware en el host físico que afectan a la accesibilidad a la red

La acción de recuperación solo se admite en algunos tipos de instancias. Para obtener más información sobre los tipos de instancias compatibles y otros requisitos, consulte [Recover your instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html) (Recupere su instancia) y [Requirements](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-recover.html#requirements-for-recovery) (Requisitos).

**importante**  
Para evitar una condición de carrera entre el reinicio y las acciones de recuperación, evitar configurar el mismo periodo de evaluación para una alarma de reinicio y otra de recuperación. Le recomendamos que configure las alarmas de recuperación en dos periodos de evaluación de un minuto cada uno y las alarmas de reinicio en tres periodos de evaluación de un minuto cada uno.

**Para crear una alarma con el fin de recuperar una instancia mediante la consola de Amazon CloudWatch**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Alarms** (Alarmas) y, luego, **Create Alarm** (Crear alarma). 

1. Elija **Crear alarma**.

1. Seleccione **Seleccionar métrica** y luego haga lo siguiente:

   1. Seleccione **Métricas de EC2**, **Métricas por instancia**.

   1. Seleccione la fila con la instancia y la métrica **StatusCheckFailed\$1System**, y luego **Seleccionar métrica**.

   1. Para la estadística, elija **Minimum**.

   1. Seleccione un periodo (por ejemplo, **1 Minute**).
**importante**  
Para evitar una condición de carrera entre el reinicio y las acciones de recuperación, evitar configurar el mismo periodo de evaluación para una alarma de reinicio y otra de recuperación. Le recomendamos que configure las alarmas de recuperación en dos periodos de un minuto cada uno.

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

   1. En **Tipo de límite**, seleccione **Estático**.

   1. En **Siempre que**, seleccione **Mayor** e ingrese **0** para **que...**.

   1. Seleccione **Configuración adicional** y luego, en **Puntos de datos para la alarma**, especifique 2 **de** 2.

1. Elija **Siguiente**.

1. En **Notificación**, haga lo siguiente:

   1. En **Alarm state trigger** (Desencadenador de estado de alarma), elija **In Alarm** (En alarma).

   1. En **Enviar una notificación al siguiente tema de SNS**, seleccione un tema de SNS existente o cree uno nuevo.

   1. Elija **Add EC2 Action** (Agregar acción de EC2).

   1. En **Alarm state trigger** (Desencadenador de estado de alarma), elija **In Alarm** (En alarma).

   1. En **Realizar la siguiente acción**, seleccione **Detener esta instancia**.

   1. Elija **Siguiente**.

1. En **Nombre de alarma**, escriba un nombre exclusivo para la alarma (por ejemplo, **Recover EC2 instance**) y una descripción de la alarma (por ejemplo, **Recover EC2 instance when health checks fail**). Los nombres de alarma solo pueden contener caracteres ASCII.

1. Elija **Siguiente**.

1. Elija **Crear alarma**.

## Ver el historial de alarmas activadas y acciones
<a name="ViewAlarmHistory"></a>

Puede ver el historial de alarmas y de acciones en la consola de Amazon CloudWatch El historial de alarmas y acciones en Amazon CloudWatch se guarda por un período de 30 días.

**Para ver el historial de las alarmas activadas y acciones**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, elija **Alarms (Alarmas)** y seleccione una alarma.

1. Para ver la transición de estado más reciente junto con los valores de métricas y tiempo, elija **Details**.

1. Para ver las entradas de historial más recientes, elija **History (Historial)**.