Utilice el reequilibrio de capacidad en la flota de EC2 y la flota de spot para reemplazar las instancias de spot en riesgo
Con el reequilibrio de capacidad, su flota de EC2 o su flota de spot puede mantener la capacidad de spot deseada al sustituir de forma proactiva las instancias de spot que corren el riesgo de sufrir interrupciones. Cuando una instancia de spot corre un riesgo elevado de interrupción, Amazon EC2 envía una recomendación de reequilibrio. Si el reequilibrio de capacidad está activado, la recomendación de reequilibrio desencadena el inicio de una nueva instancia de spot antes de que se interrumpa la instancia en riesgo.
El reequilibrio de capacidad lo ayuda a mantener la disponibilidad de la carga de trabajo al aumentar de manera proactiva su flota con nuevas instancias de spot antes de que las instancias en ejecución sean interrumpidas por Amazon EC2.
Para configurar la flota de EC2 para utilizar el reequilibrio de capacidad para iniciar una instancia de spot de reemplazo
Utilice el comando (AWS CLI) create-fleet y los parámetros relevantes en la estructura MaintenanceStrategies
. Para ver un ejemplo de configuración de JSON, consulte Ejemplo 7: configuración del reequilibrio de capacidad para iniciar instancias de spot de reemplazo.
Para configurar la flota de spot para utilizar el reequilibrio de capacidad para iniciar una instancia de spot de reemplazo
Puede utilizar la consola Amazon EC2 o la AWS CLI para configurar el reequilibrio de capacidad.
(Consola) Al crear la flota de spot, seleccione la casilla de verificación Reequilibrio de capacidad. Para obtener más información, consulte el paso 6.d. en Creación de una solicitud de flota de spot con los parámetros definidos (consola).
(AWS CLI) utilice el comando request-spot-fleet y los parámetros relevantes de la estructura SpotMaintenanceStrategies
. Para ver un ejemplo de configuración de JSON, consulte Ejemplo 8: configurar el reequilibrio de capacidad para lanzar el reemplazo Instancias de spot.
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 EC2 y 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 inician nuevas instancias de spot de reemplazo. Cuando especifica
launch-before-terminate
, también debe especificar un valor paratermination-delay
. Después de que se inician las nuevas instancias de reemplazo, Amazon EC2 espera la duración determination-delay
y, luego, termina las instancias antiguas. Entermination-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 deltermination-delay
.Se recomienda no utilizar la estrategia de asignación
lowest-price
(flota de EC2) olowestPrice
(flota de spot) en combinación conlaunch-before-terminate
para evitar tener instancias de spot de reemplazo que también tengan un riesgo elevado de interrupción. 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 EC2 o una flota de spot para el reequilibrio de capacidad, tenga en cuenta lo siguiente:
- Proporcione tantos grupos de capacidades de spot en la solicitud como sea posible.
-
Configure su flota para utilizar varios tipos de instancia 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
capacity-optimized
ocapacity-optimized-prioritized
. 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.Si utiliza la estrategia de asignación
lowest-price
, sus instancias de spot de reemplazo podrían correr un riesgo elevado de interrupción. Esto se debe a que Amazon EC2 siempre iniciará instancias en el grupo de menor precio que tiene capacidad disponible en ese momento, incluso si es probable que las instancias de spot de reemplazo se interrumpan poco después de iniciarse. - 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 iniciar nuevas instancias de spot de reemplazo hasta que la capacidad utilizada sea el doble de la capacidad de destino
-
Cuando una flota se configura para el reequilibrio de capacidad, la flota 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 objetivo 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.
- Se recomienda configurar la flota para que termine las instancias de spot que reciban una recomendación de reequilibrio
-
Si configura su flota para el reequilibrio de capacidad, se recomienda 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 no cuenta las instancias que reciben una recomendación de reequilibrio al calcular la capacidad utilizada durante el reducir o escalar horizontalmente.
-
Si la flota está configurada el para reequilibrio de capacidad y cambia la capacidad objetivo, ya sea para reducir horizontalmente o escalar horizontalmente, 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 con una capacidad objetivo 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 con una capacidad objetivo de 100 instancias de spot. 10 instancias reciben una recomendación de reequilibrio, por lo que la flota inicia 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.
-