Recomendación de reequilibrio de instancias de EC2 - Amazon Elastic Compute Cloud

Recomendación de reequilibrio de instancias de EC2

Una recomendación de reequilibrio de instancia de EC2 es una señal que notifica cuando una instancia de spot corre riesgo elevado de interrupción. La señal puede llegar antes del aviso de interrupción de instancia de spot de dos minutos, lo que brinda la oportunidad de administrar proactivamente la instancia de spot. Puede decidir reequilibrar su carga de trabajo con instancias de spot nuevos o existentes que no tengan un riesgo elevado de interrupción.

Amazon EC2 no siempre puede enviar la señal de recomendación de reequilibrio antes del aviso de interrupción de dos minutos de instancia de spot. Por lo tanto, la señal de recomendación de reequilibrio puede llegar junto con el aviso de interrupción de dos minutos.

Las recomendaciones de reequilibrio están disponibles como CloudWatch Events y como elementos en los metadatos de instancia en la instancia de spot. Los eventos se emiten en la medida de lo posible.

nota

Las recomendaciones de reequilibrio solo se admiten para instancias de spot que se inician después del 5 de noviembre de 2020 a las 00:00 UTC.

Reequilibrar las acciones que puede realizar

Estas son algunas de las posibles acciones de reequilibrio que puede realizar:

Apagado correcto

Cuando reciba la señal de recomendación de reequilibrio para una instancia de spot, puede comenzar los procedimientos de apagado de la instancia, los cuales pueden incluir asegurarse de que los procesos se completen antes de detenerlos. Por ejemplo, puede cargar registros del sistema o de aplicaciones en Amazon Simple Storage Service (Amazon S3), cerrar los trabajadores de Amazon SQS o completar la anulación del registro desde el sistema de nombres de dominio (DNS). También puede guardar su trabajo en almacenamiento externo y reanudarlo más adelante.

Evitar que se programe un nuevo trabajo

Cuando reciba la señal de recomendación de reequilibrio para una instancia de spot, puede evitar que se programe trabajo nuevo en la instancia, a la vez que continúa utilizando la instancia hasta que se complete el trabajo programado.

iniciar de forma proactiva nuevas instancias de reemplazo

Puede configurar grupos de escalado automático, flotas de EC2 o flotas de spot para iniciar automáticamente las instancias de spot de reemplazo cuando se emite una señal de recomendación de reequilibrio. Para obtener más información, consulte Utilizar el reequilibrio de capacidad para gestionar las interrupciones de spot de Amazon EC2 en la Guía del usuario de Amazon EC2 Auto Scaling y Reequilibrio de la capacidad para la flota de EC2 y Reequilibrio de la capacidad para la flota de spot, en esta guía del usuario.

Monitorear las señales de recomendación de reequilibrio

Puede monitorear la señal de recomendación de reequilibrio para que, cuando se emita, pueda realizar las acciones especificadas en la sección anterior. La señal de recomendación de reequilibrio está disponible como un evento que se envía a Amazon EventBridge (antes conocido como Amazon CloudWatch Events) y como metadatos de instancia en la instancia de spot.

Monitorear las señales de recomendación de reequilibrio:

Usar Amazon EventBridge

Cuando se emite la señal de recomendación de reequilibrio para una instancia de spot, el evento de la señal se envía a Amazon EventBridge. Si EventBridge detecta un patrón de eventos que coincide con un patrón definido en una regla, EventBridge invoca un destino (o destinos) especificados en la regla.

El siguiente es un evento de ejemplo para la señal de recomendación de reequilibrio.

{ "version": "0", "id": "12345678-1234-1234-1234-123456789012", "detail-type": "EC2 Instance Rebalance Recommendation", "source": "aws.ec2", "account": "123456789012", "time": "yyyy-mm-ddThh:mm:ssZ", "region": "us-east-2", "resources": ["arn:aws:ec2:us-east-2:123456789012:instance/i-1234567890abcdef0"], "detail": { "instance-id": "i-1234567890abcdef0" } }

Los siguientes campos forman el patrón de eventos definido en la regla:

"detail-type": "EC2 Instance Rebalance Recommendation"

Identifica que el evento es un evento de recomendación de reequilibrio

"source": "aws.ec2"

Identifica que el evento es de Amazon EC2.

Crear una regla de EventBridge

Puede escribir una regla de EventBridge y automatizar qué acciones tomar cuando el patrón de eventos coincida con la regla.

En el ejemplo siguiente se crea una regla de EventBridge para enviar un correo electrónico, un mensaje de texto o una notificación push móvil cada vez que Amazon EC2 emite una señal de recomendación de reequilibrio. La señal se emite como un evento de EC2 Instance Rebalance Recommendation, lo que desencadena la acción definida por la regla.

Antes de crear la regla de EventBridge, debe crear el tema de Amazon SNS para el email, el mensaje de texto o la notificación push móvil.

Para crear una regla de EventBridge para un evento de recomendación de reequilibrio
  1. Abra la consola de Amazon EventBridge en https://console.aws.amazon.com/events/.

  2. Elija Crear regla.

  3. En Definir detalle de la regla, haga lo siguiente:

    1. Ingrese un Nombre para la regla y, opcionalmente, una descripción.

      Una regla no puede tener el mismo nombre que otra regla de la misma región y del mismo bus de eventos.

    2. En Bus de eventos, elija Predeterminado. Cuando un servicio de AWS en su cuenta emite un evento, siempre se dirige al bus de eventos predeterminado de su cuenta.

    3. En Tipo de regla, elija Regla con un patrón de evento.

    4. Elija Siguiente.

  4. En Crear patrón de evento, realice una de las siguientes acciones:

    1. En Origen del evento, elija Eventos o eventos de socios de EventBridge de AWS.

    2. En Event pattern (Patrón de eventos), en este ejemplo, especificará el siguiente patrón de eventos para que coincida con el evento EC2 Instance Rebalance Recommendation y, a continuación, elija Save (Guardar).

      { "source": ["aws.ec2"], "detail-type": ["EC2 Instance Rebalance Recommendation"] }

      Para agregar el patrón de evento, puede utilizar una plantilla por medio de la opción Formulario de patrón de evento o puede especificar su propio patrón por medio de la opción Patrón personalizado (editor de JSON), de la siguiente manera:

      1. Para utilizar una plantilla con el objetivo de crear el patrón de evento, haga lo siguiente:

        1. Seleccione Formulario de patrón de evento.

        2. En Origen del evento, elija Servicios de AWS.

        3. En Servicio de AWS, elija Flota de spot de EC2.

        4. En Tipo de evento, elija Recomendación de reequilibrio de las instancias de EC2.

        5. Para personalizar la plantilla, elija Editar patrón y realice los cambios para que coincidan con el patrón de evento de ejemplo.

      2. (Alternativa) Para especificar un patrón de evento personalizado, haga lo siguiente:

        1. Elija Custom pattern (JSON editor) (Patrón personalizado [editor de JSON]).

        2. En el casillero Patrón de evento, agregue el patrón de eventos de este ejemplo.

    3. Elija Siguiente.

  5. En Seleccionar destino, realice una de las siguientes acciones:

    1. En Tipos de destino, elija Servicio de AWS.

    2. En Seleccionar un destino, elija Tema de SNS para enviar un email, un mensaje de texto o una notificación push móvil cuando se produzca el evento.

    3. En Tema, elija un tema existente. Primero debe crear un tema de Amazon SNS mediante la consola de Amazon SNS. A fin de obtener más información, consulte Uso de Amazon SNS para mensajería de aplicación a persona (A2P) en Guía para desarrolladores de Amazon Simple Notification Service.

    4. (Opcional) En Configuración adicional, puede configurar opciones adicionales. Para obtener más información, consulte Creación de reglas de EventBridge que reaccionan a eventos (paso 16) en la Guía del usuario de Amazon EventBridge.

    5. Elija Siguiente.

  6. (Opcional) En Etiquetas, puede asignar una o varias etiquetas a la regla y, a continuación, elija Siguiente.

  7. En Revisar y crear, realice una de las siguientes acciones:

    1. Revise los detalles de la regla y modifíquelos según sea necesario.

    2. Elija Crear regla.

Para obtener más información, consulte Reglas de Amazon EventBridge y Patrones de eventos de Amazon EventBridge en la Guía del usuario de Amazon EventBridge.

Usar metadatos de instancia

La categoría de metadatos de instancia events/recommendations/rebalance proporciona el tiempo aproximado, en UTC, cuando se emitió la señal de recomendación de reequilibrio para una instancia de spot.

Recomendamos que compruebe si hay señales de recomendación de reequilibrio cada 5 segundos para que no pierda la oportunidad de actuar en función de la recomendación de reequilibrio.

Si una instancia de spot recibe una recomendación de reequilibrio, la hora en que se emitió la señal está presente en los metadatos de la instancia. Puede recuperar la hora en que se emitió la señal de la siguiente manera.

Utilice el comando correspondiente a su sistema operativo.

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/recommendations/rebalance
IMDSv1
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/events/recommendations/rebalance
PS C:\> Invoke-RestMethod -uri http://169.254.169.254/latest/meta-data/events/recommendations/rebalance

A continuación, se muestra un ejemplo de salida, que indica la hora, en UTC, a la que se emitió la señal de recomendación de reequilibrio para la instancia de spot.

{"noticeTime": "2020-10-27T08:22:00Z"}

Si la señal no se ha emitido para la instancia, la events/recommendations/rebalance no está presente y recibirá un error HTTP 404 cuando intente recuperarla.

Servicios que utilizan la señal de recomendación de reequilibrio

Amazon EC2 Auto Scaling, la flota de EC2 y la flota de spot utilizan la señal de recomendación de reequilibrio para facilitar el mantenimiento de la disponibilidad de la carga de trabajo mediante el aumento proactivo de su flota con una nueva instancia de spot antes de que una instancia en ejecución reciba el aviso de interrupción de instancia de spot de dos minutos. Puede hacer que estos servicios monitoreen y respondan de forma proactiva a los cambios que afectan a la disponibilidad de su instancias de spot. Para más información, consulte los siguientes temas: