Recuperaciones de escalado para Amazon EC2 Auto Scaling - 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.

Recuperaciones de escalado para Amazon EC2 Auto Scaling

importante

Como práctica recomendada, le recomendamos que no utilice políticas de escalado sencillo ni recuperación de escalado. Una política de escalado de seguimiento de objetivo o una política de escalado por pasos son mejores para escalar el rendimiento. Para una política de escalado que cambie el tamaño del grupo proporcionalmente a medida que el valor de la métrica de escalado disminuya o aumente, recomendamos el seguimiento de destino en lugar del escalado sencillo o por pasos.

Cuando cree políticas de escalado simples para su grupo de escalado automático, le recomendamos que configure la recuperación de escalado al mismo tiempo.

Una vez que el grupo de escalado automático lanza o termina las instancias, espera a que finalice el periodo de recuperación antes de que otras actividades de escalado iniciadas por políticas de escalado sencillo puedan iniciarse. La intención del periodo de recuperación es permitir que un grupo de escalado automático se estabilice o deje de lanzar o terminar instancias adicionales antes de que los efectos de las actividades anteriores de escalado sean visibles.

Por ejemplo, suponga que una política de escalado sencillo para la utilización de la CPU recomienda lanzar dos instancias. Amazon EC2 Auto Scaling lanza dos instancias y, a continuación, pausa las actividades de escalado hasta que finaliza el periodo de recuperación. Una vez finalizado el periodo de recuperación, las actividades de escalado iniciadas por las políticas de escalado sencillo pueden reanudarse. Si la utilización de la CPU vuelve a superar el umbral máximo de alarma, el grupo de escalado automático se vuelve a escalar horizontalmente, y vuelve a aplicarse el periodo de recuperación. Sin embargo, si dos instancias fueron suficientes para reducir el valor de la métrica, el grupo mantendrá su tamaño actual.

Consideraciones

Las siguientes consideraciones se aplican cuando se trabaja con políticas de escalado sencillo y tiempos de recuperación de escalado:

  • Las políticas de seguimiento de destino y de escalado por pasos pueden iniciar una actividad de escalado horizontal inmediatamente sin esperar a que finalice el periodo de recuperación. En cambio, cada vez que el grupo de escalado automático lanza instancias, las instancias individuales tienen un periodo de preparación. Para obtener más información, consulte Establecimiento de la preparación predeterminada de instancias para un grupo de escalado automático.

  • Cuando una acción programada se inicia a la hora programada, puede desencadenar también una actividad de escalado inmediatamente sin esperar a que finalice el periodo de recuperación.

  • Si una instancia adopta un estado incorrecto, Amazon EC2 Auto Scaling no espera a que se complete el periodo de recuperación antes de reemplazar la instancia en estado incorrecto.

  • Cuando se lanzan o terminan varias instancias, el periodo de recuperación (tanto el predeterminado como el específico de la política de escalado) surte efecto a partir del momento en que la última instancia finaliza el lanzamiento o la terminación.

  • Cuando escala manualmente el grupo de escalado automático, el comportamiento predeterminado es no esperar a que finalice el periodo de recuperación. Sin embargo, puedes anular este comportamiento y respetar el tiempo de reutilización predeterminado cuando utilices el SDK AWS CLI o un SDK para escalar manualmente.

  • De forma predeterminada, Elastic Load Balancing espera 300 segundos para completar el proceso de anulación del registro (drenaje de conexión). Si el grupo está detrás de un equilibrador de carga de Elastic Load Balancing, esperará a que se anule el registro de las instancias que están terminando para poder comenzar el periodo de recuperación.

Los enlaces de ciclo de vida pueden provocar retrasos adicionales

Si se invoca un enlace de ciclo de vida, el periodo de recuperación comienza una vez que completa la acción del ciclo de vida o después de que se agote el periodo de espera. Por ejemplo, suponga que tiene un grupo de escalado automático con un enlace de ciclo de vida para el lanzamiento de instancias. Cuando la aplicación experimenta un aumento en la demanda, el grupo lanza una instancia para sumar capacidad. Como hay un enlace de ciclo de vida, la instancia se pone en estado de espera y se detienen las actividades de escalado debido a las políticas de escalado sencillo. Cuando la instancia pasa a tener el estado InService, se inicia el periodo de recuperación. Cuando finaliza el periodo de recuperación, se reanudan las actividades de las políticas de escalado sencillo.

Cuando Elastic Load Balancing está activado, con el fin de ampliarlo, el período de enfriamiento comienza cuando la instancia seleccionada para la terminación comienza a agotar la conexión (retraso de cancelación del registro). El período de enfriamiento no pasa por esperar a que finalice el agotamiento de la conexión o a que el ciclo de vida finalice su acción. Esto significa que cualquier actividad de escalado debido a las políticas de escalado sencillo puede reanudarse tan pronto como el resultado del evento de reducción horizontal se vea reflejado en la capacidad del grupo. De lo contrario, esperar a que se completen las tres actividades —(drenaje de conexión, un enlace de ciclo de vida y un periodo de recuperación) aumentaría significativamente la cantidad de tiempo que el grupo de escalado automático necesitaría para pausar el escalado.

Cambio del periodo de recuperación predeterminado

No puede establecer el periodo de recuperación predeterminado cuando crea inicialmente un grupo de escalado automático en la consola de Amazon EC2 Auto Scaling. De forma predeterminada, este periodo de recuperación se establece en 300 segundos (5 minutos). Si es necesario, puede actualizarlo después de crear el grupo.

Para cambiar el periodo de recuperación predeterminado (consola)

Después de crear el grupo de escalado automático, en la pestaña Details (Detalles), elija Advanced configurations (Configuraciones avanzadas) y Edit (Editar). En Default cooldown (Recuperación predeterminada), elija el periodo que desea en función de la hora de inicio de las instancias u otras necesidades de la aplicación.

Para cambiar el periodo de recuperación predeterminado (AWS CLI)

Utilice los siguientes comandos para cambiar el periodo de recuperación predeterminado para grupos de Auto Scaling nuevos o existentes. Si no se define un periodo de recuperación predeterminado, se utiliza el valor predeterminado de 300 segundos.

Para confirmar el valor del enfriamiento predeterminado, usa el comando. describe-auto-scaling-groups

Establecimiento de un periodo de recuperación para políticas de escalado sencillo específicas

De forma predeterminada, todas las políticas de escalado sencillo utilizan el periodo de recuperación predeterminado que se ha definido para el grupo de escalado automático. Para especificar un periodo de recuperación para políticas de escalado sencillo específicas, utilice el parámetro de recuperación opcional al crear o actualizar la política. Cuando se especifica un periodo de recuperación para una política, este reemplaza el periodo de recuperación predeterminado.

Un uso común de un periodo de recuperación específico de la política de escalado es con una política de reducción horizontal. Como esta política termina instancias, Amazon EC2 Auto Scaling necesita menos tiempo para determinar si debe terminar instancias adicionales. La terminación de instancias debe ser una operación mucho más rápida que el lanzamiento de instancias. Por lo tanto, el periodo de recuperación predeterminado de 300 segundos es demasiado largo. En este caso, un periodo de recuperación específico de la política de escalado con un valor inferior para la política de reducción horizontal puede ayudarle a reducir los costos al permitir que el grupo se reduzca horizontalmente de manera más rápida.

Para crear o actualizar políticas de escalado sencillo en la consola, elija la pestaña Automatic scaling (Escalado automático) después de crear el grupo. Para crear o actualizar políticas de escalado sencillas mediante el AWS CLI, utilice el put-scaling-policycomando. Para obtener más información, consulte Políticas de escalado sencillo y por pasos.