Escalar los tiempos de reutilización de 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.

Escalar los tiempos de reutilización de 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.

Supongamos, por ejemplo, que una política de escalado simple para CPU la utilización recomienda lanzar dos instancias. Amazon EC2 Auto Scaling lanza dos instancias y, a continuación, detiene las actividades de escalado hasta que finalice el período de enfriamiento. Una vez finalizado el periodo de recuperación, las actividades de escalado iniciadas por las políticas de escalado sencillo pueden reanudarse. Si la CPU utilización vuelve a superar el umbral alto de la alarma, el grupo Auto Scaling vuelve a ampliarse y el período de enfriamiento vuelve a entrar en vigor. 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 su grupo de Auto Scaling lanza instancias, las instancias individuales tienen un período 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 deja de estar en mal estado, Amazon EC2 Auto Scaling no espera a que finalice el período de enfriamiento para reemplazar la instancia en mal estado.

  • 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, puede anular este comportamiento y respetar el tiempo de reutilización predeterminado cuando utilice la AWS CLI o una 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 que se deba a políticas de escalado simples puede reanudarse tan pronto como el resultado del escalamiento en cuestión se refleje 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 tiempo de reutilización predeterminado al crear inicialmente un grupo de Auto Scaling 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, utilice el describe-auto-scaling-groupscomando.

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 período de enfriamiento específico de una política de escalado es con una política de escalado. Como esta política termina las 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 período de enfriamiento específico de la política de escalado con un valor inferior para su política de escalado puede ayudarle a reducir los costos al permitir que el grupo escale más rápido.

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 comando. put-scaling-policy Para obtener más información, consulte Políticas de escalado sencillo y por pasos.