Reequilibrio de la capacidad - Amazon Elastic Compute Cloud

Reequilibrio de la capacidad

Puede configurar la flota de spot para iniciar una instancia de spot de reemplazo cuando Amazon EC2 emita una recomendación de reequilibrio para notificarle que una instancia de spot tiene un riesgo elevado de interrupción. El reequilibrio de la capacidad lo ayuda a mantener la disponibilidad de la carga de trabajo al aumentar de manera proactiva su flota con una nueva instancia de spot antes de que una instancia en ejecución sea interrumpida por Amazon EC2. Para obtener más información, consulte Recomendación de reequilibrio de instancias de EC2.

Para configurar la flota de spot para iniciar una instancia de spot de reemplazo, puede utilizar la consola de Amazon EC2 o la AWS CLI.

Limitaciones

  • El reequilibrio de capacidad solo está disponible para flotas de tipo maintain.

  • Mientras la flota se encuentra en ejecución, no puede modificar la configuración de reequilibrio de capacidad. Para cambiar el ajuste de reequilibrio de capacidad, debe eliminar la flota y crear una nueva.

Opciones de configuración

La ReplacementStrategy para la flota de spot admite los siguientes dos valores:

launch-before-terminate

Amazon EC2 termina las instancias de spot que reciben una notificación de reequilibrio después de que se lanzan nuevas instancias de spot de reemplazo. Cuando especifica launch-before-terminate, también debe especificar un valor para termination-delay. Después de que se inician las nuevas instancias de reemplazo, Amazon EC2 espera la duración de termination-delay y, luego, termina las instancias antiguas. En termination-delay, el mínimo es de 120 segundos (2 minutos) y el máximo es de 7200 segundos (2 horas).

Le recomendamos que utilice launch-before-terminate solo si puede predecir cuánto tiempo tardarán en completarse los procedimientos de cierre de instancias. Esto garantizará que las instancias anteriores terminen solo después de que se hayan completado los procedimientos de cierre. Tenga en cuenta que Amazon EC2 puede interrumpir las instancias antiguas con una advertencia de dos minutos antes del termination-delay.

launch

Amazon EC2 inicia instancias de spot de reemplazo cuando se emite una notificación de reequilibrio para las instancias de spot existentes. Amazon EC2 no termina las instancias que reciben una notificación de reequilibrio. Puede terminar las instancias anteriores o puede dejarlas en ejecución. Se cobrará por todas las instancias mientras se ejecutan.

Consideraciones

Si configura una flota de spot para reequilibrio de la capacidad, tenga en cuenta lo siguiente:

Proporcione tantos grupos de capacidades de spot en la solicitud como sea posible.

Configure su flota de spot para utilizar varios tipos de instancias y zonas de disponibilidad. Esto proporciona la flexibilidad para iniciar instancias de spot en varios grupos de capacidad de spot. Para obtener más información, consulte Sea flexible con respecto a los tipos de instancia y las zonas de disponibilidad.

Evite un riesgo elevado de interrupción de instancias de spot de reemplazo

Para evitar un alto riesgo de interrupción, recomendamos la estrategia de asignación de capacityOptimized o capacityOptimizedPrioritized. Estas estrategias garantizan que las instancias de spot de reemplazo se inicien en los grupos de capacidad de spot más óptimos; por lo tanto, es menos probable que se interrumpan en un futuro cercano. Para obtener más información, consulte Utilice la estrategia de asignación optimizada para capacidad y precio.

Amazon EC2 solo iniciará una nueva instancia si la disponibilidad es la misma o superior

Uno de los objetivos del reequilibrio de la capacidad es mejorar la disponibilidad de una instancia de spot. Si una instancia de spot existente recibe una recomendación de reequilibrio, Amazon EC2 solo iniciará una nueva instancia si esta ofrece la misma disponibilidad o una mejor que la instancia existente. Si el riesgo de interrupción de una nueva instancia es peor que el de la instancia existente, Amazon EC2 no iniciará ninguna instancia nueva. Sin embargo, Amazon EC2 seguirá evaluando los grupos de capacidad de spot e iniciará una nueva instancia si la disponibilidad mejora.

Existe la posibilidad de que la instancia existente se interrumpa sin que Amazon EC2 lance una nueva instancia de forma proactiva. Cuando esto ocurre, Amazon EC2 intentará iniciar una nueva instancia, independientemente de si la nueva instancia tiene un alto riesgo de interrupción.

El reequilibrio de la capacidad no aumenta la tasa de interrupciones de las instancias de spot

Cuando habilita el reequilibrio de capacidad, no aumenta la tasa de interrupciones de las instancias de spot (el número de instancias de spot que se reclaman cuando Amazon EC2 necesita recuperar la capacidad). Sin embargo, si el reequilibrio de capacidad detecta que una instancia está en riesgo de interrupción, Amazon EC2 intentará iniciar inmediatamente una nueva instancia. El resultado es que se pueden reemplazar más instancias en lugar de esperar a que Amazon EC2 lance una nueva después de que se interrumpa la instancia en riesgo.

Si bien es posible que se reemplacen más instancias con el reequilibrio de capacidad habilitado, se beneficia de ser proactivo en lugar de reactivo al disponer de más tiempo para tomar medidas antes de que se interrumpan las instancias. Con un aviso de interrupción de instancias de spot, normalmente solo dispone de dos minutos para apagar correctamente la instancia. Con el reequilibrio de capacidad que inicia una nueva instancia por adelantado, le da a los procesos existentes una mejor oportunidad de completarse en la instancia en riesgo, puede iniciar los procedimientos de apagado de la instancia y evitar que se programen nuevos trabajos en la instancia en riesgo. También puede empezar a preparar la instancia recién iniciada para que se haga cargo de la aplicación. Con el reemplazo proactivo del reequilibrio de capacidad, se beneficia de una continuidad estable.

Como ejemplo teórico para demostrar los riesgos y beneficios del uso del reequilibrio de capacidad, considere el siguiente escenario:

  • 14:00 h: se recibe una recomendación de reequilibrio para la instancia A y Amazon EC2 comienza inmediatamente a intentar iniciar una instancia B de reemplazo, lo que le da tiempo para iniciar los procedimientos de apagado.*

  • 14:30 h: se recibe una recomendación de reequilibrio para la instancia B, sustituida por la instancia C, lo que le da tiempo para iniciar los procedimientos de apagado.*

  • 14:32 h: si el reequilibrio de capacidad no estuviera habilitado y si se hubiera recibido un aviso de interrupción de la instancia de spot a las 14:32 para la instancia A, solo habría tenido hasta dos minutos para actuar, pero la instancia A habría estado funcionando hasta ese momento.

* Si se especifica launch-before-terminate, Amazon EC2 terminará la instancia en riesgo después de que se conecte la instancia de reemplazo.

Amazon EC2 puede lanzar nuevas instancias de spot de reemplazo hasta que la capacidad utilizada sea el doble de la capacidad de destino

Cuando una flota de spot se configura para reequilibrio de la capacidad, Amazon EC2 intenta iniciar una nueva instancia de spot de reemplazo para cada instancia de spot que recibe una recomendación de reequilibrio. Después de que una instancia de spot reciba una recomendación de reequilibrio, ya no se cuenta como parte de la capacidad cumplida. Según la estrategia de reemplazo, Amazon EC2 termina la instancia después de un retraso de terminación preconfigurado o la deja en ejecución. Esto le da la oportunidad de realizar acciones de reequilibrio en la instancia.

Si su flota alcanza el doble de su capacidad de destino, deja de iniciar nuevas instancias de reemplazo, incluso si las propias instancias de reemplazo reciben una recomendación de reequilibrio.

Por ejemplo, puede crear una flota de spot con una capacidad de destino de 100 instancias de spot. Todas las instancias de spot reciben una recomendación de reequilibrio, que provoca que Amazon EC2 lance 100 instancias de spot de reemplazo. Esto eleva el número de instancias de spot utilizadas a 200, lo que es el doble de la capacidad de destino. Algunas de las instancias de reemplazo reciben una recomendación de reequilibrio, pero no se inician más instancias de reemplazo porque la flota no puede exceder el doble de su capacidad objetivo.

Tenga en cuenta que se le cobrarán todas las instancias mientras se ejecutan.

Le recomendamos que configure la flota de spot para que termine las instancias de spot que reciban una recomendación de reequilibrio

Si configura su flota de spot para el reequilibrio de la capacidad, recomendamos que elija launch-before-terminate con un retraso de terminación adecuado solo si puede predecir cuánto tardarán en completarse los procedimientos de cierre de la instancia. Esto garantizará que las instancias anteriores terminen solo después de que se hayan completado los procedimientos de cierre.

Si elige terminar las instancias recomendadas para reequilibrio, le recomendamos que monitoree la señal de recomendación de reequilibrio recibida por las instancias de spot de la flota. Mediante la supervisión de la señal, puede realizar rápidamente acciones de reequilibrio en las instancias afectadas antes de que Amazon EC2 las interrumpa y luego puede finalizarlas manualmente. Si no termina las instancias, continuará pagándolas mientras se ejecuten. Amazon EC2 no termina automáticamente las instancias que reciben una recomendación de reequilibrio.

Puede configurar notificaciones mediante Amazon EventBridge o metadatos de instancia. Para obtener más información, consulte Monitorear las señales de recomendación de reequilibrio.

La flota de spot no cuenta las instancias que reciben una recomendación de reequilibrio cuando se calcula la capacidad utilizada durante la reducción o el escalado horizontal

Si la flota de spot está configurada para reequilibrio de la capacidad y cambia la capacidad de destino, ya sea para la reducción horizontal o el escalado horizontal, la flota no cuenta las instancias marcadas para el reequilibrio como parte de la capacidad utilizada, de la siguiente manera:

  • Reducción horizontal: si reduce la capacidad de destino deseada, Amazon EC2 termina las instancias que no están marcadas para reequilibrar hasta que se alcance la capacidad deseada. Las instancias marcadas para el reequilibrio no se cuentan para la capacidad utilizada.

    Por ejemplo, puede crear una flota de spot con una capacidad de destino de 100 instancias de spot. 10 instancias reciben una recomendación de reequilibrio, por lo que Amazon EC2 inicia 10 nuevas instancias de reemplazo, lo que da como resultado una capacidad utilizada de 110 instancias. A continuación, se reduce la capacidad de destino a 50 (reducción horizontal), pero la capacidad utilizada es en realidad de 60 instancias porque Amazon EC2 no termina las 10 instancias marcadas para el reequilibrio. Debe terminar manualmente estas instancias o puede dejarlas en ejecución.

  • Escalado horizontal: si aumenta la capacidad de destino deseada, Amazon EC2 lanza nuevas instancias hasta que se alcance la capacidad deseada. Las instancias marcadas para el reequilibrio no se cuentan para la capacidad utilizada.

    Por ejemplo, puede crear una flota de spot con una capacidad de destino de 100 instancias de spot. 10 instancias reciben una recomendación de reequilibrio, por lo que Amazon EC2 lanza 10 nuevas instancias de reemplazo, lo que da como resultado una capacidad utilizada de 110 instancias. A continuación, aumenta la capacidad de destino a 200 (escalado ascendente), pero la capacidad utilizada es en realidad 210 instancias porque las 10 instancias marcadas para el reequilibrio no son contadas por la flota como parte de la capacidad de destino. Debe terminar manualmente estas instancias o puede dejarlas en ejecución.