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.
Establecimiento de la preparación predeterminada de instancias para un grupo de escalado automático
CloudWatch recopila y agrega datos de uso, como E/S de CPU y red, en todas sus instancias de Auto Scaling. Estas métricas se utilizan para crear políticas de escalado que ajustan el número de instancias del grupo de escalado automático a medida que aumenta y disminuye el valor de la métrica seleccionada.
Puede especificar cuánto tiempo esperará después de que una instancia alcance el estado InService
antes de contribuir con los datos de uso a las métricas agregadas. Este tiempo especificado se denomina preparación predeterminada de instancias. Esto evita que el escalado dinámico se vea afectado por las métricas de instancias individuales que aún no gestionan el tráfico de las aplicaciones y que podrían estar experimentando un alto uso temporal de los recursos de computación.
Para optimizar el rendimiento de las políticas de escalado por pasos y seguimiento de objetivo, le recomendamos encarecidamente que habilite y configure la preparación predeterminada de instancias. No está lista ni configurada de forma predeterminada.
Cuando habilite la preparación predeterminada de instancias, tenga en cuenta que, si su grupo de escalado automático está configurado para usar una política de mantenimiento de instancias, o si usa una actualización de instancias para reemplazar las instancias, también puede evitar que las instancias se cuenten para el porcentaje de buen estado mínimo antes de que hayan terminado de inicializarse.
Contenido
- Consideraciones sobre el rendimiento de escalado
- Elección del tiempo de preparación predeterminada de instancias
- Habilitación de la preparación predeterminada de instancias para un grupo
- Verificación del tiempo de preparación predeterminada de instancias para un grupo
- Búsqueda de políticas de escalado con un tiempo de preparación de instancias previamente establecido
- Borrado de la preparación de instancias previamente establecida para una política de escalado
Consideraciones sobre el rendimiento de escalado
Para la mayoría de las aplicaciones, es útil tener un tiempo de preparación predeterminado de instancias que se aplique a todas las características, en lugar de diferentes tiempos de preparación para las distintas características. Por ejemplo, si no establece una preparación de instancias predeterminada, la característica de actualización de instancias utiliza el período de gracia de la comprobación de estado como tiempo de preparación predeterminado. Si tiene alguna política de seguimiento de objetivos y escalado por pasos, se utilizará el valor establecido para el tiempo de recuperación predeterminado como tiempo de preparación predeterminado. Si tiene alguna política de escalado predictivo, la política no tiene un tiempo de preparación predeterminado.
Si bien las instancias se encuentran en preparación, sus políticas dinámicas de escalado solo escalan horizontalmente si el valor de la métrica de las instancias que no están en preparación es mayor que el umbral superior de la alarma de la política (o la utilización de objetivo de una política de escalado de seguimiento de objetivo). Si la demanda disminuye, el escalado dinámico se vuelve más conservador para proteger la disponibilidad de la aplicación. Esto bloquea las actividades de reducción horizontal para el escalado dinámico hasta que termine la preparación de las instancias nuevas.
Al escalar, Amazon EC2 Auto Scaling considera las instancias que se están calentando como parte de la capacidad del grupo a la hora de decidir cuántas instancias se van a añadir al grupo. Por lo tanto, varias infracciones de alarma que requieren añadir una cantidad similar de capacidad producen una única actividad de escalado. La intención es realizar continuamente (pero no excesivamente) un escalado horizontal.
Si el calentamiento de instancias predeterminado no está habilitado, el tiempo que una instancia espera antes de enviar las métricas CloudWatch y contabilizarlas para su capacidad actual variará de una instancia a otra. Entonces, existe la posibilidad de que sus políticas de escalado funcionen de manera impredecible en comparación con la carga de trabajo real que se está produciendo.
Por ejemplo, pensemos en una aplicación con un patrón de carga de trabajo recurrente on-and-off. Se utiliza una política de escalado predictivo para tomar decisiones recurrentes sobre si se debe aumentar el número de instancias. Como no hay un tiempo de preparación predeterminado para las políticas de escalado predictivo, las instancias comienzan a contribuir a las métricas agregadas de forma inmediata. Si estas instancias utilizan más recursos al iniciarse, la adición de instancias podría provocar un pico en las métricas globales. En función del tiempo que tarde en estabilizarse el uso, esto podría afectar a cualquier política de escalado dinámico que utilice estas métricas. Si se supera el umbral máximo de alarma establecido en una política de escalado dinámico, el grupo volverá a aumentar de tamaño. Mientras las nuevas instancias se estén preparando, las actividades de reducción horizontal se bloquearán.
Elección del tiempo de preparación predeterminada de instancias
La clave para configurar la preparación predeterminado de las instancias es determinar cuánto tiempo necesitan las instancias para terminar de inicializarse y para que el consumo de recursos se estabilice una vez que alcancen el estado InService
. Cuando elija un tiempo de la preparación de instancias, busque mantener un equilibrio óptimo entre recopilar datos de uso para tráfico legítimo, a la vez que minimiza la recopilación de datos asociada a los picos de uso temporales durante el inicio.
Supongamos que tiene un grupo de escalado automático conectado a un equilibrador de carga Elastic Load Balancing. Cuando las instancias nuevas terminan de lanzarse, se registran en el equilibrador de carga antes de ingresar al estado de InService
. Después de las instancias ingresan al estado InService
, el consumo de recursos puede seguir experimentando picos temporales y necesitar tiempo para estabilizarse. Por ejemplo, el consumo de recursos de un servidor de aplicaciones que debe descargar y almacenar en caché activos de gran tamaño tarda más tiempo en estabilizarse que un servidor web ligero sin grandes recursos para descargar. La preparación de instancias proporciona el retraso de tiempo necesario para que se estabilice el consumo de recursos.
importante
Si no está seguro del tiempo que necesita para el tiempo de preparación, puede empezar con 300 segundos. A continuación, disminuya o aumente gradualmente el tiempo hasta obtener el mejor rendimiento de escalado para su aplicación. Es probable que deba hacer esto varias veces para lograr los resultados deseados. Como alternativa, si tiene alguna política de escalado que tenga su propio tiempo de preparación (EstimatedInstanceWarmup
), puede usar este valor para empezar. Para obtener más información, consulte Búsqueda de políticas de escalado con un tiempo de preparación de instancias previamente establecido.
Considere utilizar enlaces de ciclo de vida para casos de uso en los que tenga scripts o tareas de configuración para que se ejecuten en el inicio. Los enlaces de ciclo de vida pueden retrasar la puesta en servicio de las instancias nuevas hasta que hayan terminado de inicializarse. Resultan especialmente útiles si tiene scripts de arranque que tardan un poco en completarse. Si agrega un enlace de ciclo de vida, puede reducir el valor de la preparación predeterminada de instancias. Para obtener más información acerca del uso de enlaces de ciclo de vida, consulte Ganchos del ciclo de vida de Amazon EC2 Auto Scaling.