Uso de la protección frente a la reducción horizontal de instancias para controlar la terminación de instancias - Amazon EC2 Auto Scaling

Uso de la protección frente a la reducción horizontal de instancias para controlar la terminación de instancias

La protección contra la reducción horizontal en instancias le permite controlar qué instancias de Amazon EC2 Auto Scaling se pueden terminar. Un caso de uso común para esta característica es escalar las cargas de trabajo basadas en contenedores. Para obtener más información, consulte Diseño de aplicaciones para gestionar sin problemas la terminación de instancias.

De forma predeterminada, la protección frente a la reducción horizontal de instancias está deshabilitada cuando se crea un grupo de escalado automático. Esto significa que Amazon EC2 Auto Scaling puede terminar cualquier instancia del grupo.

Puede proteger las instancias en cuanto se lanzan habilitando la configuración de protección frente a la reducción horizontal de instancias en el grupo de escalado automático. La protección de reducción horizontal de instancias comienza cuando la instancia tiene el estado InService. A continuación, para controlar qué instancias pueden terminar, deshabilite la configuración de protección contra la reducción horizontal en las instancias individuales del grupo de escalado automático. De este modo, puede seguir protegiendo determinadas instancias de las terminaciones no deseadas.

Consideraciones

A continuación, se muestran las consideraciones que se deben tener en cuenta cuando se utiliza la protección frente a la reducción horizontal de instancias:

  • Si todas las instancias de un grupo de escalado automático están protegidas frente a la reducción horizontal y se produce un evento de reducción horizontal, se reduce la capacidad deseada. Sin embargo, el grupo de escalado automático 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. En la Consola de administración de AWS, el Historial de actividades del grupo de escalado automático presenta el siguiente mensaje si todas las instancias de un grupo de escalado automático están protegidas frente a la reducción horizontal cuando se produce un evento de reducción horizontal: Could not scale to desired capacity because all remaining instances are protected from scale in..

  • 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 reducción horizontal de instancias actual del grupo. Cuando Amazon EC2 Auto Scaling lanza una nueva instancia o traslada una instancia de un grupo activo al grupo de escalado automático, esta hereda la configuración de protección frente a la reducción horizontal de instancias del grupo de escalado automático.

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

    • 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 en un grupo de escalado automático.

    • 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.

    • Termina una reserva de bloques de capacidad. Amazon EC2 recupera las instancias del bloque de capacidad incluso si están protegidas contra la reducción horizontal.

    • Terminación manual mediante el comando de terminate-instance-in-auto-scaling-group. Para obtener más información, consulte Finalización de una instancia en su grupo de escalado automático (AWS CLI).

    • La terminación manual mediante la consola de Amazon EC2, los comandos de la CLI y las operaciones de API. 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. (Esto no impide que Amazon EC2 Auto Scaling termine las instancias o la terminación manual mediante el comando terminate-instance-in-auto-scaling-group). Para obtener información sobre cómo habilitar la protección contra la terminación de Amazon EC2 en una plantilla de lanzamiento, consulte Creación de una plantilla de lanzamiento mediante la configuración avanzada.

Cambio en la protección contra la reducción horizontal para un grupo de escalado automático

Puede habilitar o desactivar la configuración de protección frente a la reducción horizontal de instancias para un grupo de escalado automático. Al habilitarla, todas las instancias nuevas que lance el grupo tendrán habilitada la protección contra la reducción horizontal de instancias.

La activación o desactivación de esta configuración para un grupo de escalado automático no afecta a las instancias existentes.

Console
Cómo habilitar la protección contra la reducción horizontal para un grupo de escalado automático nuevo

Al crear el grupo de escalado automático, en la página Configurar políticas de escalado y tamaño de grupo, en Protección de reducción horizontal de instancias, seleccione la casilla Habilitar la protección contra la reducción horizontal de instancias.

Cómo habilitar o deshabilitar la protección contra la reducción horizontal para un grupo existente
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/ y elija Auto Scaling Groups (Grupos de escalado automático) en el panel de navegación.

  2. Seleccione la casilla situada junto al grupo de escalado automático.

    Se abre un panel dividido en la parte inferior de la página.

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

  4. Para la protección contra la reducción horizontal de instancias, active o desactive la casilla Habilitar la protección contra la reducción horizontal de instancias para activar o desactivar esta opción según sea necesario.

  5. Elija Actualizar.

AWS CLI
Cómo habilitar la protección contra la reducción horizontal para un grupo de escalado automático nuevo

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 ...
Cómo habilitar la protección contra la reducción horizontal para un grupo existente

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 escalado automático especificado.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg --new-instances-protected-from-scale-in
Cómo deshabilitar la protección contra la reducción horizontal para un grupo existente

Utilice el siguiente comando para desactivar la protección de reducción horizontal 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

Cambio en la protección frente a la reducción horizontal de 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 escalado automático. Sin embargo, puede habilitar o deshabilitar la protección contra la reducción horizontal de instancias para instancias individuales luego de lanzarlas.

Console
Cómo habilitar o deshabilitar la protección contra la reducción horizontal para una instancia
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/ y elija Auto Scaling Groups (Grupos de escalado automático) en el panel de navegación.

  2. Seleccione la casilla situada junto al grupo de escalado automático.

    Se abre un panel dividido en la parte inferior de la página.

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

  4. Para habilitar la protección de reducción horizontal de instancias, elija Acciones, Establecer protección de reducción horizontal. Cuando se lo pidan, seleccione Establecer protección de reducción horizontal.

  5. Para deshabilitar la protección de reducción horizontal de instancias, seleccione Acciones, Eliminar protección de reducción horizontal. Cuando se lo pidan, seleccione Eliminar protección de reducción horizontal.

AWS CLI
Cómo habilitar la protección contra la reducción horizontal para una instancia

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
Cómo deshabilitar la protección contra la reducción horizontal para una instancia

Utilice el siguiente comando para desactivar la protección de reducción horizontal 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
nota

Recuerde que la protección frente a la reducción horizontal de instancias no garantiza que las instancias no se terminen en caso de error humano; por ejemplo, si alguien termina manualmente una instancia mediante la consola de Amazon EC2 o la AWS CLI. Para proteger la instancia de una terminación accidental, puede utilizar la protección frente a la terminación de Amazon EC2. Sin embargo, incluso con la protección frente a la terminación y la protección frente a la reducción horizontal de instancias habilitadas, los datos guardados en el almacenamiento de instancias pueden perderse si una comprobación de estado determina que una instancia no está en buen estado o si el grupo se elimina accidentalmente. Al igual que en cualquier entorno, una práctica recomendada es realizar copias de seguridad de sus datos con frecuencia o cuando sea apropiado para los requisitos de continuidad de la empresa.