Políticas de escalado sencillo y por pasos 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.

Políticas de escalado sencillo y por pasos para Amazon EC2 Auto Scaling

El escalado escalonado y las políticas de escalado simples escalan la capacidad de su grupo de Auto Scaling en incrementos predefinidos en función de CloudWatch las alarmas. Puede definir políticas de escalado independientes para gestionar el escalado horizontal (aumento de la capacidad) y la reducción horizontal (reducción de la capacidad) cuando se supere el umbral de una alarma.

Con el escalado escalonado y el escalado simple, puede crear y administrar las CloudWatch alarmas que invocan el proceso de escalado. Cuando se infringe una alarma, Auto Scaling de Amazon EC2 inicia la política de escalado asociada a esa alarma.

Le recomendamos que utilice políticas de escalado de seguimiento de objetivos para escalar según métricas como la utilización promedio de la CPU o el recuento promedio de solicitudes por destino. Las métricas que disminuyen cuando aumenta la capacidad y aumentan cuando disminuye la capacidad se pueden usar para realizar el escalado ascendente o descendente proporcionalmente o en el número de instancias que utilizan el seguimiento de destino. Esto ayuda a garantizar que Amazon EC2 Auto Scaling siga de cerca la curva de demanda de sus aplicaciones. Para obtener más información, consulte Políticas de escalado de seguimiento de destino.

Cómo funcionan las políticas de escalado por pasos

Para usar el escalado por pasos, primero debe crear una CloudWatch alarma que monitoree una métrica para su grupo de Auto Scaling. Defina la métrica, el valor límite y el número de periodos de evaluación que determinan una interrupción de la alarma. A continuación, cree una política de escalado escalonado que defina cómo escalar su grupo cuando se supere el umbral de alarma.

Añada los ajustes escalonados a la política. Puede definir diferentes ajustes escalonados en función del tamaño de la infracción de la alarma. Por ejemplo:

  • Escale en 10 instancias si la métrica de alarma alcanza el 60 por ciento

  • Escale en 30 instancias si la métrica de alarma alcanza el 75 por ciento

  • Escale en 40 instancias si la métrica de alarma alcanza el 85 por ciento

Cuando se supere el umbral de alarma durante el número especificado de períodos de evaluación, Amazon EC2 Auto Scaling aplicará los ajustes escalonados definidos en la política. Los ajustes pueden continuar en caso de que se produzcan nuevas infracciones de alarma hasta que se restablezca el estado de alarma. OK

Cada instancia tiene un período de calentamiento para evitar que las actividades de escalado reaccionen demasiado a los cambios que se producen en períodos cortos de tiempo. Si lo desea, puede configurar el período de calentamiento para su política de escalado. Sin embargo, recomendamos usar el calentamiento de instancias predeterminado para facilitar la actualización de todas las políticas de escalado cuando cambie el tiempo de calentamiento. Para obtener más información, consulte Establecimiento de la preparación predeterminada de instancias para un grupo de escalado automático.

Las políticas de escalado simples son similares a las políticas de escalado escalonado, excepto que se basan en un único ajuste de escalado, con un período de tiempo de espera entre cada actividad de escalado. Para obtener más información, consulte Políticas de escalado sencillo.

Ajustes de pasos para escalado por pasos

Cuando se crea una política de escalado por pasos, se especifican uno o varios ajustes de pasos que escalan automáticamente el número de instancias dinámicamente en función del tamaño de la interrupción de alarma. Cada ajuste por pasos especifica los elementos siguientes:

  • El límite inferior del valor de la métrica

  • El límite superior del valor de la métrica

  • La cantidad que se va a escalar, en función del tipo de ajuste de escalado

CloudWatch agrega los puntos de datos de las métricas en función de la estadística de la métrica asociada a la alarma. CloudWatch Cuando se interrumpe la alarma, se invoca la política de escalado adecuada. Amazon EC2 Auto Scaling aplica el tipo de agregación a los puntos de datos métricos más recientes de CloudWatch (a diferencia de los datos métricos sin procesar). También compara este valor agregado de la métrica con el límite inferior y superior definido por los ajustes por pasos para determinar qué ajuste por pasos debe realizar.

Usted especifica los límites superiores e inferiores en relación con el umbral de interrupción. Por ejemplo, supongamos que ha creado una CloudWatch alarma y una política de escalado horizontal para cuando la métrica supere el 50 por ciento. A continuación, ha creado una segunda alarma y una política de reducción horizontal para cuando la métrica esté por debajo del 50 por ciento. Hiciste una serie de ajustes escalonados con un tipo de ajuste PercentChangeInCapacity (o porcentaje del grupo en la consola) para cada política:

Ejemplo: ajustes de pasos para la política de escalado ascendente
Límite inferior Límite superior Ajuste

0

10

0

10

20

10

20

nulo

30

Ejemplo: ajustes por pasos de la política de reducción horizontal
Límite inferior Límite superior Ajuste

-10

0

0

-20

-10

-10

nulo

-20

-30

Esto crea la siguiente configuración de escalado.

Metric value -infinity 30% 40% 60% 70% infinity ----------------------------------------------------------------------- -30% | -10% | Unchanged | +10% | +30% -----------------------------------------------------------------------

Ahora, supongamos que usa esta configuración de escalado en un grupo de Auto Scaling que tiene una capacidad actual y una capacidad deseada de 10. Los siguientes puntos resumen el comportamiento de la configuración de escalado en relación con la capacidad deseada y actual del grupo:

  • La capacidad deseada y actual se mantiene mientras que el valor agregado de la métrica sea superior a 40 e inferior a 60.

  • Si el valor de la métrica llega a 60, la capacidad deseada del grupo aumenta en 1 instancia hasta 11 instancias, en función del segundo ajuste por pasos de la política de escalado ascendente (añadir el 10 por ciento de 10 instancias). Una vez que la nueva instancia esté en ejecución y haya expirado el tiempo de calentamiento especificado, la capacidad actual del grupo aumenta a 11 instancias. Si el valor de la métrica aumenta a 70 incluso después de este aumento de capacidad, la capacidad deseada del grupo aumenta en otras 3 instancias, hasta 14 instancias. Este valor se basa en el tercer ajuste por pasos de la política de escalado ascendente (agregar un 30% de 11 instancias, 3,3 instancias, redondeado a 3 instancias).

  • Si el valor de la métrica llega a 40, la capacidad deseada del grupo se reduce en 1 instancia hasta 13 instancias, en función del segundo ajuste por pasos de la política de reducción horizontal (quitar el 10 por ciento de 14 instancias, 1,4 instancias, redondeado a 1 instancia). Si el valor de la métrica cae a 30 incluso después de esta disminución de la capacidad, la capacidad deseada del grupo disminuye en otras 3 instancias, hasta 10 instancias. Este valor se basa en el tercer ajuste por pasos de la política de reducción horizontal (quitar un 30% de 13 instancias, 3,9 instancias, redondeado a 3 instancias).

Cuando especifique los ajustes por pasos de la política de escalado, tenga en cuenta lo siguiente:

  • Si usa el AWS Management Console, especifica los límites superior e inferior como valores absolutos. Si utilizas el AWS CLI o un SDK, especificas los límites superior e inferior en relación con el umbral de incumplimiento.

  • Los intervalos de los ajustes por pasos no se pueden solapar ni contener huecos.

  • Solo puede haber un ajuste por pasos con un límite inferior nulo (infinito negativo). Si un ajuste por pasos tiene un límite inferior negativo, debe haber un ajuste por pasos con un límite inferior nulo.

  • Solo puede haber un ajuste por pasos con un límite superior nulo (infinito positivo). Si un ajuste por pasos tiene un límite superior positivo, debe haber un ajuste por pasos con un límite superior nulo.

  • Los límites superior e inferior no pueden ser nulos en el mismo ajuste por pasos.

  • Si el valor de la métrica es superior al umbral de infracción, el límite inferior es inclusivo y el límite superior es exclusivo. Si el valor de la métrica es inferior al umbral de infracción, el límite inferior es exclusivo y el límite superior es inclusivo.

Tipos de ajuste de escalado

Puede definir una política de escalado que realice la acción de escalado idónea en función del tipo de ajuste de escalado elegido. Puede especificar el tipo de ajuste como porcentaje de la capacidad actual del grupo de escalado automático o en unidades de capacidad. Normalmente, por unidad de capacidad se entiende una instancia, a menos que utilices la función de ponderación de instancias.

Amazon EC2 Auto Scaling admite los siguientes tipos de ajuste para el escalado sencillo y por pasos:

  • ChangeInCapacity: permite aumentar o reducir la capacidad actual del grupo en el valor especificado. Un valor positivo aumenta la capacidad y un valor negativo reduce la capacidad. Por ejemplo: si la capacidad actual del grupo es 3 y el ajuste es 5, entonces cuando se ejecuta esta política, agregamos 5 unidades a la capacidad hasta un total de 8 unidades de capacidad.

  • ExactCapacity: permite cambiar la capacidad actual del grupo al valor especificado. Especifique un valor positivo con este tipo de ajuste. Ejemplo: si la capacidad actual del grupo es de 3 y el ajuste es de 5, cuando se ejecute esta política, cambiamos la capacidad a 5 unidades de capacidad.

  • PercentChangeInCapacity: permite aumentar o reducir la capacidad actual del grupo en el porcentaje especificado. Un valor positivo aumenta la capacidad y un valor negativo reduce la capacidad. Por ejemplo: si la capacidad actual es 10 y el ajuste es del 10 por ciento, entonces cuando se ejecuta esta política, agregamos 1 unidad de capacidad a la capacidad hasta un total de 11 unidades de capacidad.

    nota

    Si el valor resultante no es un entero, se redondea como se indica a continuación:

    • Los valores mayores que 1 se redondean al valor inferior. Por ejemplo, 12.7 se redondea a 12.

    • Los valores comprendidos entre 0 y 1 se redondean a 1. Por ejemplo, .67 se redondea a 1.

    • Los valores comprendidos entre 0 y -1 se redondean a -1. Por ejemplo, -.58 se redondea a -1.

    • Los valores menores que -1 se redondean al valor superior. Por ejemplo, -6.67 se redondea a -6.

Con PercentChangeInCapacity, también puede especificar el número mínimo de instancias que escalar mediante el parámetro MinAdjustmentMagnitude. Suponga, por ejemplo, que crea una política que agrega un 25 por ciento y especifica un incremento mínimo de 2 instancias. Si tiene un grupo de escalado automático con 4 instancias y se ejecuta la política de escalado, el 25 por ciento de 4 es 1 instancia. Sin embargo, puesto que ha especificado un incremento mínimo de 2, se añaden 2 instancias.

Cuando se utilizan ponderaciones de instancia, el efecto de establecer el MinAdjustmentMagnitude parámetro en un valor distinto de cero cambia. El valor está en unidades de capacidad. Para establecer el número mínimo de instancias que escalar, establezca este parámetro en un valor que sea al menos tan grande como la ponderación de instancia más grande.

Si usa pesos de instancia, tenga en cuenta que la capacidad actual de su grupo de Auto Scaling puede superar la capacidad deseada según sea necesario. Si el número absoluto que se va a disminuir o la cantidad que el porcentaje indica que se va a disminuir, es menor que la diferencia entre la capacidad actual y la capacidad deseada, no se ejecuta ninguna acción de escalado. Debe tener en cuenta estos comportamientos cuando observe los resultados de una política de escalado cuando se interrumpe el umbral de una alarma. Por ejemplo, supongamos que la capacidad deseada sea 30 y la capacidad actual sea 32. Cuando se interrumpe la alarma, si la política de escalado disminuye la capacidad deseada en 1, no se pone en marcha ninguna acción de escalado.

Preparación de las instancias

Para el escalado por pasos, puede especificar el número de segundos que se tarda en preparar una instancia recién lanzada. Hasta que haya expirado el tiempo de calentamiento especificado, una instancia no se cuenta para las métricas agregadas de instancias de EC2 del grupo Auto Scaling.

Mientras las instancias se encuentren en período de calentamiento, sus políticas de escalado solo se escalarán si el valor de la métrica de las instancias que no se están calentando supera el umbral máximo de alarma de la política.

Si el grupo se vuelve a escalar horizontalmente, las instancias que aún estén en preparación se considerarán parte de la capacidad deseada para la siguiente actividad de escalado horizontal. Por lo tanto, varias interrupciones de alarmas que estén en el intervalo del mismo ajuste por pasos producirán una sola actividad de escalado. La intención es realizar continuamente (pero no excesivamente) un escalado ascendente.

Por ejemplo, supongamos que crea una política de dos pasos. El primer paso agrega un 10 por ciento cuando la métrica llega a 60 y el segundo paso agrega un 30 por ciento cuando la métrica llega al 70 por ciento. La capacidad deseada y actual de su grupo de escalado automático es 10. La capacidad deseada y actual no cambia mientras que el valor agregado de la métrica es inferior a 60. Supongamos que la métrica llega a 60, por lo que se agrega 1 instancia (el 10 por ciento de las 10 instancias). Luego, la métrica pasa a 62 mientras la nueva instancia aún se está preparando. La política de escalado calcula la nueva capacidad deseada en función de la capacidad actual, que sigue siendo de 10. Sin embargo, la capacidad deseada del grupo ya se ha incrementado a 11 instancias, de modo que la política de escalado no aumenta más la capacidad deseada. Si la métrica llega a 70 mientras la nueva instancia sigue en proceso de preparación, deberíamos agregar 3 instancias (el 30 por ciento de 10 instancias). Sin embargo, la capacidad deseada del grupo es ya 11, por lo que añadimos solo 2 instancias, para una nueva capacidad deseada de 13 instancias.

Mientras la actividad de escalado horizontal está en curso, todas las actividades de reducción horizontal iniciadas por las políticas de escalado se bloquean hasta que las instancias terminen de prepararse. Cuando las instancias terminen de prepararse, si se produce un evento de reducción horizontal, cualquier instancia que se encuentre actualmente en proceso de terminación se tendrá en cuenta para la capacidad actual del grupo al calcular la nueva capacidad deseada. Por lo tanto, no se eliminan más instancias del grupo de Auto Scaling que las necesarias. Por ejemplo, mientras una instancia ya está finalizando, si una alarma está en el rango del ajuste del mismo paso que ha reducido la capacidad deseada en 1, no se pone en marcha ninguna acción de escalado.

Valor predeterminado

Si no se establece ningún valor, la política de escalado utilizará el valor predeterminado, que es el valor del calentamiento de instancias predeterminado definido para el grupo. Si el calentamiento de instancias predeterminado es nulo, volverá al valor del enfriamiento predeterminado.

Consideraciones

Las siguientes consideraciones se aplican al trabajar con las políticas de escalado por pasos y sencillas:

  • Considere si puede predecir los ajustes escalonados de la aplicación con la precisión suficiente como para utilizar la escala por pasos. Si la métrica de escalado aumenta o reduce en proporción a la capacidad del destino escalable, le recomendamos que, en su lugar, utilice una política de escalado de seguimiento de destino. Todavía tiene la opción de usar escalado por pasos como una política adicional para una configuración más avanzada. Por ejemplo, puede configurar una respuesta más agresiva cuando se alcance un determinado nivel de utilización.

  • Asegúrese de elegir un margen adecuado entre los umbrales de escalado horizontal y escalado automático para evitar oscilaciones. La fluctuación es un bucle infinito de reducción horizontal y escalado horizontal. Es decir, si se realiza una acción de escalado, el valor de la métrica cambiaría e iniciaría otra acción de escalado en la dirección inversa.