Controle la retención de instancias con políticas de ciclo de vida de las instancias - Amazon EC2 Auto Scaling

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Controle la retención de instancias con políticas de ciclo de vida de las instancias

Las políticas del ciclo de vida de las instancias brindan protección contra las terminaciones de Amazon EC2 Auto Scaling cuando se abandona una acción del ciclo de vida de la terminación. A diferencia de los enlaces del ciclo de vida por sí solos, las políticas del ciclo de vida de las instancias están diseñadas para garantizar que las instancias pasen a un estado retenido cuando los procedimientos de cierre correctos no se completen correctamente.

Cuándo usar las políticas del ciclo de vida de las instancias

Utilice políticas de ciclo de vida de las instancias cuando el cierre correcto de la aplicación no sea opcional, sino obligatorio, y los cierres fallidos requieran una intervención manual. Los casos de uso comunes incluyen:

  • Aplicaciones con buen estado que deben completar la persistencia de los datos antes de su finalización.

  • Aplicaciones que requieren períodos de carga prolongados que pueden superar el tiempo máximo de espera del ciclo de vida, que es de 48 horas.

  • Las cargas de trabajo que gestionan datos confidenciales y cuya limpieza es incompleta o no se realiza correctamente pueden provocar la pérdida o la corrupción de los datos.

  • Servicios de misión crítica en los que el cierre brusco afecta a la disponibilidad.

Para obtener más información sobre cómo gestionar correctamente la terminación de instancias, consulte. Diseño de aplicaciones para gestionar sin problemas la terminación de instancias

Cómo funcionan las políticas del ciclo de vida de las instancias con los ganchos del ciclo de vida

Las políticas del ciclo de vida de las instancias funcionan en combinación con los ganchos del ciclo de vida de las terminaciones, no como sustitutos. El proceso consta de varias etapas:

  1. Se ejecutan las acciones del ciclo de vida de terminación. Cuando Amazon EC2 Auto Scaling selecciona una instancia para su terminación, se invocan los enlaces del ciclo de vida de la terminación y la instancia entra en el estado para comenzar a ejecutar Terminating:Wait las acciones del ciclo de vida de la terminación.

  2. Comienza un intento de cierre correcto. La aplicación, ya sea que se ejecute en la instancia o a través de un plano de control, recibirá la notificación de una acción relacionada con el ciclo de vida de finalización e iniciará procedimientos de cierre sin contratiempos, como agotar las conexiones, completar el trabajo en curso o transferir datos.

  3. Se han completado las acciones del ciclo de vida de terminación Una acción del ciclo de vida de la rescisión puede completarse CONTINUE o ABANDON resultar en ella.

  4. La política del ciclo de vida de la instancia evalúa la situación. Sin una política de ciclo de vida de la instancia configurada, la instancia finaliza inmediatamente, incluso si la acción del ciclo de vida de la instancia se completó con el ABANDON resultado. Con una política de ciclo de vida de la instancia configurada para mantener las instancias TerminateHookAbandon activas, la instancia pasa a un estado retenido si la acción del ciclo de vida de la instancia se completó con el ABANDON resultado.

  5. Las instancias retenidas están pendientes de una acción manual. Las instancias en los estados retenidos siguen incurriendo en los cargos estándar de Amazon EC2. Estas instancias no cuentan para la capacidad deseada de su grupo de Auto Scaling, por lo que Auto Scaling lanza instancias de reemplazo para mantener el tamaño deseado. Las funciones de Auto Scaling, como la actualización de instancias y la vida útil máxima de las instancias, también ignorarán las instancias retenidas. Esto le permite completar los procedimientos de limpieza de forma manual, recuperar datos o investigar por qué se produjo un error en el cierre automático antes de finalizar la instancia de forma manual.

  6. Se produce la terminación manual. Después de completar las acciones necesarias en la instancia retenida, debes llamar a la TerminateInstanceInAutoScalingGroup API para finalizar la instancia.