Utilización de la protección frente a la reducción horizontal de instancias - Amazon EC2 Auto Scaling

Utilización de la protección frente a la reducción horizontal de instancias

Para controlar si un grupo de Auto Scaling puede terminar una instancia concreta durante la reducción horizontal, use la protección frente a la reducción horizontal de instancias. Puede habilitar la configuración de la protección frente a la reducción horizontal de instancias en un grupo de Auto Scaling o en una instancia de Auto Scaling individual. Cuando el grupo de Auto Scaling lanza una instancia, esta hereda la configuración de protección frente a la reducción horizontal de instancias del grupo de Auto Scaling. En cualquier momento, puede cambiar la configuración de protección frente a la reducción horizontal de instancias para un grupo de Auto Scaling o para una instancia de Auto Scaling.

La protección de escalado descendente de instancias comienza cuando la instancia tiene el estado InService. Si desconecta una instancia que está protegida frente a la reducción horizontal, se pierde la configuración de protección frente a la reducción horizontal de instancias. Cuando vuelve a asociar la instancia al grupo, esta hereda la configuración de protección de escalado descendente de instancias actual del grupo.

Si todas las instancias de un grupo de Auto Scaling están protegidas frente a la terminación durante la reducción horizontal y se produce un evento de reducción horizontal, se reduce la capacidad deseada. Sin embargo, el grupo de Auto Scaling no puede terminar el número necesario de instancias hasta que se desactiva la configuración de protección frente a la reducción horizontal de instancias.

La protección frente a la reducción horizontal de instancias no protege las instancias de Auto Scaling de lo siguiente:

  • La terminación manual mediante la consola de Amazon EC2, el comando terminate-instances o la acción TerminateInstances. Para proteger las instancias de Auto Scaling frente a la terminación manual, habilite la protección frente a la terminación de Amazon EC2. Para obtener más información, consulte Habilitación de la protección frente a la terminación en la Guía del usuario de instancias de Linux de Amazon EC2.

  • La sustitución de comprobaciones de estado si la instancia no supera las comprobaciones de estado. Para obtener más información, consulte Comprobaciones de estado para instancias de Auto Scaling. Para impedir que Amazon EC2 Auto Scaling termine las instancias deterioradas, suspenda el proceso ReplaceUnhealthy. Para obtener más información, consulte Suspensión y reanudación de un proceso para un grupo de Auto Scaling.

  • Interrupciones de instancias de spot Las instancias de spot se terminan cuando la capacidad ya no está disponible o cuando el precio de spot supera el precio máximo.

Habilitación de la protección frente a la reducción horizontal de instancias para un grupo

Puede habilitar la protección frente a la reducción horizontal de instancias cuando cree un grupo de Auto Scaling. De forma predeterminada, la protección de escalado descendente de instancias está deshabilitada.

Para habilitar la protección de escalado descendente de instancias (consola)

Al crear el grupo de Auto Scaling, en la página Configure group size and scaling policies (Configurar políticas de escalado y tamaño de grupo), en Instance scale-in protection (Protección frente al escalado descendente de las instancias), seleccione la opción Enable instance scale-in protection (Habilitar la protección frente al escalado descendente de las instancias).

Para habilitar la protección de escalado descendente de instancias (AWS CLI)

Utilice el siguiente comando create-auto-scaling-group para habilitar la protección frente a la reducción horizontal de instancias.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in ...

Modificación de la configuración de protección frente a la reducción horizontal de instancias de un grupo

Puede habilitar o desactivar la configuración de protección frente a la reducción horizontal de instancias para un grupo de Auto Scaling. Cuando se habilita la configuración de protección de escalado descendente de instancias, todas las instancias nuevas que se lancen después de habilitarla tendrán habilitada la protección de escalado descendente. Las instancias lanzadas anteriormente no están protegidas frente a la reducción horizontal si habilita la configuración de protección frente a la reducción horizontal de instancias para cada instancia individualmente.

Para cambiar la configuración de protección de escalado descendente de instancias para un grupo (consola)

  1. Abra la consola de Amazon EC2 Auto Scaling en https://console.aws.amazon.com/ec2autoscaling/.

  2. Seleccione la casilla situada junto al grupo de Auto Scaling.

    Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto Scaling) que muestra información sobre el grupo seleccionado.

  3. En la pestaña Details (Detalles) elija (Advanced configurations) Configuraciones avanzadas, Edit (Editar).

  4. En Instance scale-in protection (Protección de escalado descendente de instancias), elija Enable instance scale-in protection (Habilitar la protección de escalado descendente de instancias).

  5. Elija Update (Actualizar).

Para cambiar la configuración de protección de escalado descendente de instancias para un grupo (AWS CLI)

Utilice el siguiente comando update-auto-scaling-group para habilitar la protección frente a la reducción horizontal de instancias para el grupo de Auto Scaling especificado.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in

Utilice el siguiente comando para desactivar la protección de escalado descendente de instancias para el grupo especificado.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --no-new-instances-protected-from-scale-in

Modificación de la configuración de protección frente a la reducción horizontal de instancias para una instancia

De forma predeterminada, una instancia obtiene la configuración de protección frente a la reducción horizontal de instancias de su grupo de Auto Scaling. Sin embargo, puede habilitar o deshabilitar la protección de escalado descendente de instancias para una instancia en cualquier momento.

Para cambiar la configuración de protección de escalado descendente de instancias para una instancia (consola)

  1. Abra la consola de Amazon EC2 Auto Scaling en https://console.aws.amazon.com/ec2autoscaling/.

  2. Seleccione la casilla situada junto al grupo de Auto Scaling.

    Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto Scaling) que muestra información sobre el grupo seleccionado.

  3. En la pestaña Instance management (Administración de instancias), en Instances (Instancias), seleccione una instancia.

  4. Para habilitar la protección de escalado descendente de instancias, elija Actions (Acciones), Set scale in protection (Establecer protección de escalado descendente). Cuando se lo pidan, seleccione Set scale-in protection (Establecer protección de escalado descendente).

  5. Para deshabilitar la protección de escalado descendente de instancias, seleccione Actions (Acciones), Remove scale in protection (Eliminar protección de escalado descendente). Cuando se lo pidan, seleccione Remove scale-in protection (Eliminar protección de escalado descendente).

Para cambiar la configuración de protección de escalado descendente de instancias para una instancia (AWS CLI)

Utilice el siguiente comando set-instance-protection para habilitar la protección frente a la reducción horizontal de instancias para la instancia especificada.

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --protected-from-scale-in

Utilice el siguiente comando para desactivar la protección de escalado descendente de instancias para la instancia especificada.

aws autoscaling set-instance-protection --instance-ids i-5f2e8a0d --auto-scaling-group-name my-asg --no-protected-from-scale-in