Control de las instancias de Auto Scaling que se terminan durante una reducción horizontal - Amazon EC2 Auto Scaling

Control de las instancias de Auto Scaling que se terminan durante una reducción horizontal

Amazon EC2 Auto Scaling utiliza políticas de terminación para decidir el orden de terminación de las instancias. Puede usar una política predefinida o crear una política personalizada para satisfacer sus requisitos específicos. Al utilizar una política personalizada o la protección frente a la reducción horizontal de instancias, también puede evitar que el grupo de escalado automático termine las instancias que aún no están listas para ser terminadas.

Cuándo se utilizan las políticas de terminación de Amazon EC2 Auto Scaling

En las siguientes secciones se describen los escenarios en los que Amazon EC2 Auto Scaling utiliza políticas de terminación.

Eventos de reducción horizontal

Un evento de reducción horizontal se produce cuando hay un nuevo valor para la capacidad deseada de un grupo de escalado automático que es inferior a la capacidad actual del grupo.

Los eventos de reducción horizontal ocurren en los siguientes escenarios:

  • Cuando se utilizan políticas de escalado dinámico y el tamaño del grupo disminuye como resultado de cambios en el valor de una métrica

  • Cuando se utiliza el escalado programado y el tamaño del grupo disminuye como resultado de una acción programada

  • Cuando reduce manualmente el tamaño del grupo

En el ejemplo siguiente se muestra cómo funcionan las políticas de terminación cuando hay un evento de reducción horizontal.

  1. El grupo de escalado automático de este ejemplo tiene un tipo de instancia, dos zonas de disponibilidad y una capacidad deseada de dos instancias. También tiene una política de escalado dinámico que agrega y elimina instancias cuando la utilización de recursos aumenta o disminuye. Las dos instancias de este grupo se distribuyen entre las dos zonas de disponibilidad, como se muestra en el siguiente diagrama.

    Un grupo de escalado automático básico con dos instancias.
  2. Cuando se reduce horizontalmente el grupo de escalado automático, Amazon EC2 Auto Scaling lanza una nueva instancia. El grupo de escalado automático ahora tiene tres instancias, distribuidas entre las dos zonas de disponibilidad, como se muestra en el siguiente diagrama.

    Un grupo de escalado automático después de escalar horizontalmente en una instancia.
  3. Cuando se escala el grupo Auto Scaling, Amazon EC2 Auto Scaling termina una de las instancias.

  4. Si no ha asignado una política de terminación específica al grupo, Amazon EC2 Auto Scaling utiliza la política de terminación predeterminada. Selecciona la zona de disponibilidad con dos instancias y termina la instancia lanzada desde una configuración de lanzamiento, una plantilla de lanzamiento distinta, o la versión más antigua de la plantilla de lanzamiento actual. Si las instancias se lanzaron desde la misma versión de la misma plantilla, Amazon EC2 Auto Scaling selecciona la instancia más próxima a la siguiente hora de facturación y la termina.

    Un grupo de escalado automático después de reducirse horizontalmente en una instancia.

Actualización de instancias

Puede iniciar una actualización de instancias para actualizar las instancias del grupo de escalado automático. Durante una actualización de instancias, Amazon EC2 Auto Scaling termina las instancias del grupo y, a continuación, lanza reemplazos de las instancias terminadas. La política de terminación del grupo de escalado automático controla qué instancias se reemplazan primero.

Reequilibrio de la zona de disponibilidad

Amazon EC2 Auto Scaling equilibra la capacidad de manera uniforme en las zonas de disponibilidad habilitadas para el grupo de escalado automático. Esto ayuda a reducir el impacto de una interrupción en la zona de disponibilidad. Si la distribución de la capacidad entre las zonas de disponibilidad se desequilibra, Amazon EC2 Auto Scaling reequilibra el grupo de escalado automático lanzando instancias en las zonas de disponibilidad habilitadas con menos instancias y terminando instancias en otros lugares. La política de terminación controla qué instancias tienen prioridad para terminarlas primero.

Existen varias razones por las que la distribución de instancias entre las zonas de disponibilidad puede desequilibrarse.

Eliminación de instancias

Si desconecta instancias del grupo de escalado automático, pone instancias en espera o termina explícitamente instancias y disminuye la capacidad deseada, lo que impide que se lancen instancias de reemplazo, el grupo podría quedar desequilibrado. Si esto ocurre, Amazon EC2 Auto Scaling lo compensa reequilibrando las zonas de disponibilidad.

Uso de zonas de disponibilidad diferentes de las especificadas originalmente

Si expande el grupo de escalado automático para incluir zonas de disponibilidad adicionales, o cambia las zonas de disponibilidad que se utilizan, Amazon EC2 Auto Scaling lanzará instancias en las nuevas zonas de disponibilidad y las terminará en las otras zonas para garantizar que el grupo de escalado automático abarca de manera uniforme las zonas de disponibilidad.

Interrupción de disponibilidad

Las interrupciones de disponibilidad son raras. Sin embargo, si una zona de disponibilidad deja de estar disponible y se recupera posteriormente, el grupo de escalado automático puede quedar desequilibrado entre las zonas de disponibilidad. Amazon EC2 Auto Scaling intenta reequilibrar gradualmente el grupo y el reequilibrio puede terminar instancias en otras zonas.

Por ejemplo, imagine que hay un grupo de escalado automático que tiene un tipo de instancia, dos zonas de disponibilidad y una capacidad deseada de dos instancias. En una situación en la que se produce un error en una zona de disponibilidad, Amazon EC2 Auto Scaling lanza automáticamente una nueva instancia en la zona de disponibilidad en buen estado para reemplazar la de la zona de disponibilidad en mal estado. Cuando la zona de disponibilidad en mal estado vuelve a estar en buen estado, Amazon EC2 Auto Scaling lanza automáticamente una nueva instancia en esta zona, que a su vez termina una instancia en la zona no afectada.

nota

Durante el reequilibrio, Amazon EC2 Auto Scaling lanza nuevas instancias antes de terminar las antiguas, por lo que no se pone en peligro el rendimiento ni la disponibilidad de su aplicación.

Como Amazon EC2 Auto Scaling intenta lanzar nuevas instancias antes de terminar las antiguas, cuando se está en la capacidad máxima especificada o cerca de ella puede impedir o detener completamente las actividades de reequilibrio. Para evitar este problema, el sistema puede superar temporalmente la capacidad máxima especificada de un grupo con un margen del 10 % (o con un margen de una instancia, lo que sea mayor) durante una actividad de reequilibrio. El margen solo se amplía si el grupo tiene o se aproxima a la capacidad máxima y necesita reequilibrarse, ya sea por una distribución de zonas solicitada por el usuario o para compensar los problemas de disponibilidad de zona. La extensión se dura solamente mientras sea necesaria para reequilibrar el grupo, normalmente unos minutos.