Eventos programados para las instancias - Amazon Elastic Compute Cloud

Eventos programados para las instancias

AWS puede programar eventos para las instancias, como un reinicio, una detención o un inicio, o una retirada. Estos eventos no ocurren con frecuencia. Si una de las instancias se verá afectada por un evento programado, AWS envía un email a la dirección asociada con su cuenta de AWS antes del evento programado. El correo electrónico proporciona información acerca del evento, incluida la fecha de inicio y de finalización. En función del evento, es posible que pueda tomar medidas para controlar el tiempo del evento. AWS también envía un evento de AWS Health, que puede monitorear y administrar con Amazon CloudWatch Events. Para obtener más información acerca del monitoreo de eventos de AWS Health con CloudWatch, consulte Monitoreo de eventos de AWS Health con CloudWatch Events.

AWS administra los eventos programados; no puede programar eventos para sus instancias. Puede ver los eventos programados por AWS, personalizar las notificaciones de eventos programados para incluir o eliminar etiquetas de la notificación por email y llevar a cabo diferentes acciones cuando una instancia está programada para su reinicio, retirada o detención.

Para actualizar la información de contacto de la cuenta con el fin de asegurarse de que recibe las notificaciones sobre los eventos programados, vaya a la página Configuración de la cuenta.

nota

Cuando una instancia se ve afectada por un evento programado y forma parte de un grupo de escalado automático, Amazon EC2 Auto Scaling la sustituye eventualmente como parte de sus comprobaciones de estado, sin que sea necesario realizar más acciones por su parte. Para obtener más información acerca de las comprobaciones de estado realizadas por Amazon EC2 Auto Scaling, consulte Comprobaciones de estado para instancias de Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.

Tipos de eventos programados

Amazon EC2 puede crear los siguientes tipos de eventos para las instancias, donde el evento se produce a una hora programada:

  • Instance stop (Detención de instancia): a la hora programada, la instancia se detiene. Cuando vuelva a iniciarla, la instancia migrará a un nuevo host. Solo se aplica a instancias respaldadas por Amazon EBS.

  • Instance retirement (Retirada de la instancia): a la hora programada, la instancia se detiene si está respaldada por Amazon EBS o se terminará si está respaldada por un almacén de instancias.

  • Instance reboot (rearranque de instancia): a la hora programada, la instancia se vuelve a arrancar.

  • System reboot (rearranque de sistema): a la hora programada, el host de la instancia se vuelve a arrancar.

  • System maintenance (Mantenimiento del sistema): a la hora programada, la instancia podría verse temporalmente afectada por un mantenimiento de red o de energía.

Ver eventos programados

Además de recibir notificaciones de eventos programados por email, puede consultar los eventos programados mediante uno de los siguientes métodos.

Console
Para ver eventos programados para las instancias
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. El panel muestra todos los recursos con un evento asociado en Eventos programados.

    
                                        Visualización de eventos mediante el panel
  3. En el panel de navegación, elija Eventos para obtener más información. Se muestran todos los recursos con un evento asociado. Puede filtrar por características como el tipo de evento, el tipo de recurso y la zona de disponibilidad.

    
                                        Visualización de eventos mediante la página de eventos.
AWS CLI
Para ver eventos programados para las instancias

Utilice el comando describe-instance-status.

aws ec2 describe-instance-status \ --instance-id i-1234567890abcdef0 \ --query "InstanceStatuses[].Events"

La siguiente salida de ejemplo muestra un evento de reinicio.

[ "Events": [ { "InstanceEventId": "instance-event-0d59937288b749b32", "Code": "system-reboot", "Description": "The instance is scheduled for a reboot", "NotAfter": "2019-03-15T22:00:00.000Z", "NotBefore": "2019-03-14T20:00:00.000Z", "NotBeforeDeadline": "2019-04-05T11:00:00.000Z" } ] ]

A continuación se muestra un ejemplo del resultado que muestra un evento de retirada de la instancia.

[ "Events": [ { "InstanceEventId": "instance-event-0e439355b779n26", "Code": "instance-stop", "Description": "The instance is running on degraded hardware", "NotBefore": "2015-05-23T00:00:00.000Z" } ] ]
PowerShell
Para ver eventos programados para las instancias mediante la AWS Tools for Windows PowerShell

Utilice el siguiente comando Get-EC2InstanceStatus.

PS C:\> (Get-EC2InstanceStatus -InstanceId i-1234567890abcdef0).Events

A continuación se muestra un ejemplo del resultado que muestra un evento de retirada de la instancia.

Code : instance-stop Description : The instance is running on degraded hardware NotBefore : 5/23/2015 12:00:00 AM
Instance metadata
Para ver eventos programados para las instancias mediante metadatos de instancia

Para recuperar información sobre los eventos de mantenimiento activos de las instancias desde los metadatos de las instancias puede utilizar el Servicio de metadatos de instancia, versión 2, o el Servicio de metadatos de instancia, versión 1.

IMDSv2

[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/events/maintenance/scheduled

IMDSv1

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/events/maintenance/scheduled

A continuación se muestra un resultado de ejemplo con información acerca de un evento de reinicio del sistema programado, en formato JSON.

[ { "NotBefore" : "21 Jan 2019 09:00:43 GMT", "Code" : "system-reboot", "Description" : "scheduled reboot", "EventId" : "instance-event-0d59937288b749b32", "NotAfter" : "21 Jan 2019 09:17:23 GMT", "State" : "active" } ]
Para ver el historial de los eventos completados o cancelados mediante los metadatos de las instancias

Para recuperar información sobre los eventos completados o cancelados desde las instancias de metadatos puede utilizar el Servicio de metadatos de instancia, versión 2, o el Servicio de metadatos de instancia, versión 1.

IMDSv2

[ec2-user ~]$ TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \ && curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/events/maintenance/history

IMDSv1

[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/events/maintenance/history

A continuación se muestra un resultado de ejemplo con información acerca de un evento de reinicio del sistema que se canceló y un evento de reinicio del sistema que se completó, en formato JSON.

[ { "NotBefore" : "21 Jan 2019 09:00:43 GMT", "Code" : "system-reboot", "Description" : "[Canceled] scheduled reboot", "EventId" : "instance-event-0d59937288b749b32", "NotAfter" : "21 Jan 2019 09:17:23 GMT", "State" : "canceled" }, { "NotBefore" : "29 Jan 2019 09:00:43 GMT", "Code" : "system-reboot", "Description" : "[Completed] scheduled reboot", "EventId" : "instance-event-0d59937288b749b32", "NotAfter" : "29 Jan 2019 09:17:23 GMT", "State" : "completed" } ]
AWS Health

Puede usar AWS Health Dashboard para obtener información sobre eventos que pueden afectar a su instancia. En el AWS Health Dashboard, los problemas están organizados en tres grupos: problemas abiertos, cambios programados y otras notificaciones. El grupo de cambios programados contiene elementos próximos o que están en curso.

Para obtener más información, consulte Cómo empezar a trabajar con AWS Health Dashboard en la Guía del usuario de AWS Health.

Personalizar notificaciones de eventos programados

Puede personalizar las notificaciones de eventos programados para incluir etiquetas en la notificación de correo electrónico. Esto hace que sea más fácil identificar el recurso afectado (instancias o Hosts dedicados) y priorizar acciones para el próximo evento.

Al personalizar las notificaciones de eventos para incluir etiquetas, puede elegir incluir:

  • Todas las etiquetas que están asociadas con el recurso afectado

  • Solo las etiquetas específicas que están asociadas con el recurso afectado

Por ejemplo, supongamos que asigna etiquetas application, costcenter, project y owner a todas las instancias. Puede elegir incluir todas las etiquetas en las notificaciones de eventos. Alternativamente, si desea ver solo las etiquetas owner y project en las notificaciones de eventos, puede elegir incluir solo esas etiquetas.

Después de seleccionar las etiquetas que se van a incluir, las notificaciones de eventos incluirán el ID de recurso (ID de instancia o ID de host dedicado) y los pares de valores y clave de etiqueta asociados al recurso afectado.

Incluir etiquetas en las notificaciones de eventos

Las etiquetas que elija incluir se aplican a todos los recursos (instancias y Hosts dedicados) de la región seleccionada. Para personalizar las notificaciones de eventos en otras regiones, seleccione primero la región requerida y, a continuación, realice los siguientes pasos.

Para incluir etiquetas en las notificaciones de eventos, puede utilizar uno de los siguientes métodos.

Console
Para incluir etiquetas en las notificaciones de eventos
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Events (Eventos).

  3. Seleccione Actions (Acciones), Manage event notifications (Administrar notificaciones de eventos).

  4. Activar Incluir etiquetas en las notificaciones de eventos.

  5. Realice una de las siguientes acciones, dependiendo de las etiquetas que desee incluir en las notificaciones de eventos:

    • Para incluir todas las etiquetas asociadas a la instancia afectada o host dedicado, seleccione Incluir todas las etiquetas de recursos.

    • Para seleccionar las etiquetas que se van a incluir, seleccione Elegir las etiquetas que se van a incluir y, a continuación, seleccione o ingrese las claves de etiqueta.

  6. Elija Guardar.

AWS CLI
Para incluir todas las etiquetas en las notificaciones de eventos

Utilice el comando register-instance-event-notification-attributes de AWS CLI y establezca el parámetro IncludeAllTagsOfInstance en true.

aws ec2 register-instance-event-notification-attributes \ --instance-tag-attribute "IncludeAllTagsOfInstance=true"
Para incluir etiquetas específicas en las notificaciones de eventos

Utilice el comando register-instance-event-notification-attributes de AWS CLI y especifique las etiquetas que desea incluir utilizando el parámetro InstanceTagKeys.

aws ec2 register-instance-event-notification-attributes \ --instance-tag-attribute 'InstanceTagKeys=["tag_key_1", "tag_key_2", "tag_key_3"]'

Eliminar etiquetas de las notificaciones de eventos

Para quitar etiquetas de las notificaciones de eventos, puede utilizar uno de los siguientes métodos.

Console
Para eliminar etiquetas de las notificaciones de eventos
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Events (Eventos).

  3. Seleccione Actions (Acciones), Manage event notifications (Administrar notificaciones de eventos).

  4. Para quitar todas las etiquetas de las notificaciones de eventos, desactive Incluir etiquetas en las notificaciones de eventos.

  5. Para eliminar etiquetas específicas de las notificaciones de eventos, seleccione la X) para las claves de etiqueta correspondientes.

  6. Elija Guardar.

AWS CLI
Para eliminar todas las etiquetas de las notificaciones de eventos

Utilice el comando deregister-instance-event-notification-attributes de AWS CLI y establezca el parámetro IncludeAllTagsOfInstance en false.

aws ec2 deregister-instance-event-notification-attributes \ --instance-tag-attribute "IncludeAllTagsOfInstance=false"
Para eliminar etiquetas específicas de las notificaciones de eventos

Utilice el comando deregister-instance-event-notification-attributes de AWS CLI y especifique las etiquetas que desea eliminar mediante el parámetro InstanceTagKeys.

aws ec2 deregister-instance-event-notification-attributes \ --instance-tag-attribute 'InstanceTagKeys=["tag_key_1", "tag_key_2", "tag_key_3"]'

Ver las etiquetas que se incluirán en las notificaciones de eventos

Para ver las etiquetas que se van a incluir en las notificaciones de eventos, utilice uno de los siguientes métodos.

Console
Para ver las etiquetas que se van a incluir en las notificaciones de eventos
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Events (Eventos).

  3. Seleccione Actions (Acciones), Manage event notifications (Administrar notificaciones de eventos).

AWS CLI
Para ver las etiquetas que se van a incluir en las notificaciones de eventos

Utilice el comando describe-instance-event-notification-attributes de AWS CLI.

aws ec2 describe-instance-event-notification-attributes

Trabajar con instancias programadas para detener o retirar

Cuando AWS detecta un error irreparable del host subyacente de la instancia, programa la detención o terminación de la instancia, según el tipo de dispositivo raíz de la instancia. Si el dispositivo raíz es un volumen de EBS, la instancia está programada para su detención. Si el dispositivo raíz es un volumen de almacén de instancias, la instancia está programada para su terminación. Para obtener más información, consulte Retirada de instancias.

importante

Cualquier dato almacenado en volúmenes del almacén de instancias se perderá cuando una instancia se detenga, se termine o se ponga en hibernación. Esto incluye volúmenes de almacén de instancias adjuntadas a una instancia que tiene un volumen de EBS como dispositivo raíz. No olvide guardar los datos de los volúmenes del almacén de instancias que puede necesitar más adelante antes de que la instancia se detenga, se termine o se ponga en hibernación.

Acciones para instancias respaldadas por Amazon EBS

Puede esperar a que la instancia se detenga como estaba programado. Asimismo, puede detener e iniciar la instancia usted mismo, lo que hace que la instancia migre a un nuevo host. Para obtener más información acerca de cómo detener la instancia, además de información acerca de los cambios a la configuración de la instancia cuando se detiene, consulte Detención e iniciación de una instancia de Amazon EC2.

Puede automatizar la detención y el inicio inmediatos en respuesta a un evento programado para la detención de la instancia. Para obtener más información, consulte la sección Automatización de acciones en instancias de Amazon EC2 en la Guía del usuario de AWS Health.

Acciones para instancias con respaldo en el almacén de instancias

Le recomendamos que lance una instancia de sustitución desde la AMI más reciente y que migre todos los datos necesarios a la instancia de sustitución antes de la instancia que está programada para terminar. A continuación, puede terminar la instancia original o esperar a que termine como estaba programado.

Trabajar con instancias programadas para el reinicio

Cuando AWS debe realizar algunas tareas, como instalar actualizaciones o realizar el mantenimiento del host subyacente, puede programar la instancia o el host subyacente para reinicio. Puede reprogramar la mayoría de los eventos de reinicio de modo que la instancia se reinicie en la fecha y hora específica que mejor le convenga.

Ver el tipo de evento de reinicio

Para consultar si un evento de reinicio es un reinicio de instancia o un reinicio del sistema, utilice uno de los siguientes métodos.

Console
Para ver el tipo de evento de reinicio programado
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Events (Eventos).

  3. Elija Resource type: instance (Tipo de recurso: instancia) en la lista de filtros.

  4. Para cada instancia, consulte el valor en la columna Event Type (Tipo de evento). El valor es system-reboot o instance-reboot.

AWS CLI
Para ver el tipo de evento de reinicio programado

Utilice el comando describe-instance-status.

aws ec2 describe-instance-status \ --instance-id i-1234567890abcdef0

Para eventos de reinicio programados, el valor de Code es system-reboot o bien instance-reboot. La siguiente salida de ejemplo muestra un evento system-reboot.

[ "Events": [ { "InstanceEventId": "instance-event-0d59937288b749b32", "Code": "system-reboot", "Description": "The instance is scheduled for a reboot", "NotAfter": "2019-03-14T22:00:00.000Z", "NotBefore": "2019-03-14T20:00:00.000Z", "NotBeforeDeadline": "2019-04-05T11:00:00.000Z" } ] ]
Acciones para reinicio de instancias

Puede esperar a que se produzca el reinicio de la instancia en su periodo de mantenimiento programado, reprogramar el reinicio de la instancia a la fecha y hora que mejor le convenga o reiniciar la instancia usted mismo a una hora que le resulte práctica.

Después de reiniciar la instancia, el evento programado se elimina y se actualiza la descripción del evento. Se ha completado el mantenimiento pendiente del host subyacente y puede empezar a usar la instancia de nuevo después de que se haya reiniciado completamente.

Acciones para reinicio de sistemas

No puede reiniciar el sistema usted mismo. Puede esperar a que se produzca el reinicio del sistema durante su periodo de mantenimiento programado o puede reprogramar el reinicio del sistema a la fecha y hora que mejor le convenga. Un reinicio del sistema se suele completar en unos pocos minutos. Una vez que ha tenido lugar el reinicio del sistema, la instancia retiene su dirección IP y nombre de DNS, y se conservan todos los datos en los volúmenes del almacén de instancias local. Después de que se complete el reinicio del sistema, se borra el evento programado para la instancia y puede verificar que el software de la instancia está funcionando tal como se espera.

Asimismo, si es necesario realizar el mantenimiento de la instancia a otra hora y no puede reprogramar el reinicio del sistema, entonces puede detener e iniciar una instancia respaldada por Amazon EBS, lo que hará que migre a un nuevo host. No obstante, los datos en los volúmenes de almacén de instancias local no se conservarán. También puede automatizar la detención y el inicio inmediatos de la instancia en respuesta a un evento programado para reiniciar el sistema. Para obtener más información, consulte la información sobre la Automatización de acciones en instancias EC2 en la Guía del usuario de AWS Health. Para una instancia respaldada por un almacén de instancias, si no puede reprogramar el reinicio del sistema, entonces puede lanzar una instancia de sustitución desde la AMI más reciente, migrar todos los datos necesarios a la instancia de sustitución antes del periodo de mantenimiento programado y terminar la instancia original.

Trabajar con instancias programadas para mantenimiento

Cuando AWS debe realizar el mantenimiento del host subyacente de una instancia, programa la instancia para su mantenimiento. Existen dos tipos de eventos de mantenimiento: mantenimiento de red y mantenimiento de energía.

Durante el mantenimiento de red, las instancias programadas pierden la conectividad de red durante un breve periodo de tiempo. La conectividad de red normal a la instancia se restaurará una vez completado el mantenimiento.

Durante el mantenimiento de energía, las instancias programadas se desconectan durante un breve periodo y, a continuación, se reinician. Cuando se realiza un reinicio, se conservan todos los valores de configuración de la instancia.

Una vez reiniciada la instancia (esto normalmente tarda unos minutos), verifique que su aplicación está funcionando tal como se espera. En este momento, la instancia ya no debería tener un evento programado asociado o si lo tuviese, la descripción del evento programado empezaría con [Completed] (Finalizado). A veces, se tarda hasta 1 hora en actualizar la descripción de estado de la instancia. Los eventos de mantenimiento completados se muestran en el panel de la consola de Amazon EC2 durante una semana.

Acciones para instancias respaldadas por Amazon EBS

Puede esperar a que el mantenimiento suceda tal como estaba programado. Asimismo, puede detener e iniciar la instancia, lo que hará que migre a un nuevo host. Para obtener más información acerca de cómo detener la instancia, además de información acerca de los cambios a la configuración de la instancia cuando se detiene, consulte Detención e iniciación de una instancia de Amazon EC2.

Puede automatizar la detención y el inicio inmediatos en respuesta a un evento de mantenimiento programado. Para obtener más información, consulte la información sobre la Automatización de acciones en instancias EC2 en la Guía del usuario de AWS Health.

Acciones para instancias con respaldo en el almacén de instancias

Puede esperar a que el mantenimiento suceda tal como estaba programado. Asimismo, si desea mantener el funcionamiento normal durante un periodo de mantenimiento programado, puede lanzar una instancia de sustitución desde la AMI más reciente, migrar todos los datos necesarios a la instancia de sustitución antes del periodo de mantenimiento programado y, a continuación, terminar la instancia original.

Reprogramar un evento programado

Puede reprogramar un evento para que se produzca en la fecha y hora específicas que mejor le convenga. Solo se pueden reprogramar los eventos que tienen una fecha límite. Existen otras limitaciones para reprogramar un evento.

Para reprogramar un evento, utilice uno de los siguientes métodos.

Console
Para reprogramar un evento
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/.

  2. En el panel de navegación, seleccione Events (Eventos).

  3. Elija Resource type: instance (Tipo de recurso: instancia) en la lista de filtros.

  4. Seleccione una o varias instancias y, a continuación, elija Actions (Acciones), Schedule Event (Programar evento).

    Solo se pueden reprogramar los eventos que tienen una fecha límite de evento indicada por un valor de Deadline (Fecha límite). Si uno de los eventos seleccionados no tiene fecha límite, Actions (Acciones) y Schedule event (Programar evento) están deshabilitados.

  5. En New start time (Nueva hora de inicio), escriba una nueva fecha y hora para el evento. La nueva fecha y hora deben ser anteriores al valor especificado en Event deadline (Fecha límite de evento).

  6. Elija Guardar.

    La hora de inicio del evento actualizada podría tardar uno o dos minutos en reflejarse en la consola.

AWS CLI
Para reprogramar un evento
  1. Solo se pueden reprogramar los eventos que tienen una fecha límite de evento, indicada por un valor en NotBeforeDeadline. Utilice el comando describe-instance-status para consultar el valor del parámetro NotBeforeDeadline.

    aws ec2 describe-instance-status \ --instance-id i-1234567890abcdef0

    La siguiente salida de ejemplo muestra un evento system-reboot que se puede reprogramar dado que NotBeforeDeadline contiene un valor.

    [ "Events": [ { "InstanceEventId": "instance-event-0d59937288b749b32", "Code": "system-reboot", "Description": "The instance is scheduled for a reboot", "NotAfter": "2019-03-14T22:00:00.000Z", "NotBefore": "2019-03-14T20:00:00.000Z", "NotBeforeDeadline": "2019-04-05T11:00:00.000Z" } ] ]
  2. Para reprogramar el evento, utilice el comando modify-instance-event-start-time. Para especificar la nueva hora de inicio del evento, utilice el parámetro not-before. La nueva hora de inicio del evento debe ser anterior al NotBeforeDeadline.

    aws ec2 modify-instance-event-start-time \ --instance-id i-1234567890abcdef0 \ --instance-event-id instance-event-0d59937288b749b32 \ --not-before 2019-03-25T10:00:00.000

    Podrían pasar uno o dos minutos hasta que el comando describe-instance-status devuelva el valor de parámetro not-before actualizado.

Limitaciones

  • Solo se pueden reprogramar los eventos con una fecha límite de evento. El evento se puede reprogramar hasta la fecha límite del evento. La columna Deadline (Fecha límite) en la consola y el campo NotBeforeDeadline en la AWS CLI indican si el evento tiene una fecha límite.

  • Solo se pueden reprogramar los eventos que no se han iniciado aún. La columna Start time (Hora de inicio) en la consola y el campo NotBefore en la AWS CLI indican la hora de inicio del evento. Los eventos que se han programado para comenzar en los siguientes cinco minutos no se pueden reprogramar.

  • La nueva hora de inicio del evento debe comenzar al menos 60 minutos a partir de la hora actual.

  • Si reprograma múltiples eventos utilizando la consola, la fecha límite del evento se determina por el evento con la fecha límite de evento más temprana.