Cómo funciona el escalado por pasos para Application Auto Scaling
En este tema se describe cómo funciona el escalado por pasos y se presentan los conceptos clave de una política de escalado por pasos.
Contenido
Funcionamiento
Para usar el escalado por pasos, debe crear una alarma de CloudWatch que monitoree una métrica para el destino escalable. 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. También debe crear una política de escalado por pasos que defina cómo escalar la capacidad cuando se supere el umbral de alarma y asociarla a su objetivo escalable.
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 horizontalmente la capacidad en 10 unidades si la métrica de alarma alcanza el 60 por ciento
-
Escale horizontalmente la capacidad en 30 unidades si la métrica de alarma alcanza el 75 por ciento
-
Escale horizontalmente la capacidad en 40 unidades si la métrica de alarma alcanza el 85 por ciento
Cuando se supere el umbral de alarma durante el número especificado de periodos de evaluación, Auto Scaling de aplicaciones 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
Las actividades de escalado se realizan con periodos de recuperación entre ellos para evitar fluctuaciones rápidas de la capacidad. Si lo desea, puede configurar los periodos de recuperación para su política de escalado.
Ajustes de pasos
Cuando se crea una política de escalado por pasos, se especifican uno o varios ajustes de pasos que escalan automáticamente la capacidad del destino 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 rol de la estadística de la métrica asociada a la alarma de CloudWatch. Cuando se interrumpe la alarma, se invoca la política de escalado adecuada. El Auto Scaling de aplicaciones aplica el tipo de agregación especificado a los puntos de datos de las métricas más recientes de CloudWatch (en lugar de a los datos de las métricas 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 alarma de CloudWatch 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. Realizó una serie de ajustes escalonados con un tipo de ajuste PercentChangeInCapacity
para cada política:
Límite inferior | Límite superior | Ajuste |
---|---|---|
0 |
10 |
0 |
10 |
20 |
10 |
20 |
null |
30 |
Límite inferior | Límite superior | Ajuste |
---|---|---|
-10 |
0 |
0 |
-20 |
-10 |
-10 |
null |
-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 los que la capacidad es 10. En los puntos siguientes, se resume el comportamiento de la configuración de escalado en relación con la capacidad del destino escalable:
-
La capacidad original 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, Auto Scaling de aplicaciones aumenta la capacidad del destino escalable en 1 hasta alcanzar un total de 11. Este valor se basa en el segundo ajuste por pasos de la política de escalado ascendente (añadir el 10 por ciento de 10). Una vez agregada la nueva capacidad, Auto Scaling de aplicaciones aumenta la capacidad actual a 11. Si el valor de la métrica aumenta hasta 70 incluso después de este aumento de la capacidad, Auto Scaling de aplicaciones incrementa la capacidad de destino en 3, lo que hace un total de 14. Este valor se basa en el tercer ajuste por pasos de la política de escalado ascendente (añadir un 30 por ciento de 11, lo que da 3,3, que, al redondear, se queda en 3).
-
Si el valor de la métrica llega a 40, Auto Scaling de aplicaciones reduce la capacidad del destino escalable en 1 hasta 13, en rol del segundo ajuste de paso de la política de reducir horizontalmente (quitar el 10 por ciento de 14, 1,4, redondeado a 1). Si el valor de la métrica disminuye hasta 30 incluso después de esta reducción de capacidad, Auto Scaling de aplicaciones reduce la capacidad objetivo en 3 hasta 10, en rol del tercer ajuste de paso de la política de reducir horizontalmente (agregar el 30 por ciento de 13, 3,9, redondeado a 3).
Cuando especifique los ajustes por pasos de la política de escalado, tenga en cuenta lo siguiente:
-
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 un porcentaje de la capacidad actual del objetivo escalable o en números absolutos.
Auto Scaling de aplicaciones admite los siguientes tipos de ajuste para las políticas de escalado por pasos:
-
ChangeInCapacity: permite aumentar o disminuir la capacidad actual del destino escalable en el valor especificado. Un valor positivo aumenta la capacidad y un valor negativo reduce la capacidad. Por ejemplo, si la capacidad actual es 3 y el ajuste es 5, Auto Scaling de aplicaciones agrega 5 a la capacidad, lo que suma un total de 8.
-
ExactCapacity: permite cambiar la capacidad actual del destino escalable en el valor especificado. Especifique un valor positivo con este tipo de ajuste. Por ejemplo, si la capacidad actual es 3 y el ajuste es 5, Auto Scaling de aplicaciones cambia la capacidad a 5.
-
PercentChangeInCapacity: permite aumentar o disminuir la capacidad actual del destino escalable 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 %, Auto Scaling de aplicaciones agrega 1 a la capacidad, lo que da un total de 11.
Si el valor resultante no es un entero, Auto Scaling de aplicaciones lo redondea como se indica a continuación:
-
Los valores mayores que 1 se redondean al valor inferior. Por ejemplo,
12.7
se redondea a12
. -
Los valores comprendidos entre 0 y 1 se redondean a 1. Por ejemplo,
.67
se redondea a1
. -
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 la cantidad mínima que debe escalarse con el parámetro
MinAdjustmentMagnitude
. Suponga, por ejemplo, que crea una política que añade un 25 por ciento y especifica una cantidad mínima de 2. Si el destino escalable tiene una capacidad de 4 y se ejecuta la política de escalado, el 25 por ciento de 4 es 1. Sin embargo, puesto que ha especificado un incremento mínimo de 2, Auto Scaling de aplicaciones agrega 2. -
Periodo de recuperación
Si lo desea, puede definir un periodo de recuperación en su política de escalado por pasos.
Un periodo de recuperación especifica la cantidad de tiempo que la política de escalado espera a que una actividad de escalado anterior surta efecto.
Hay dos formas de planificar el uso de los periodos de recuperación para una configuración de escalado por pasos:
-
Con el periodo de recuperación de escalado horizontal, la intención es escalar horizontalmente de forma continua (pero no excesivamente). Después de que Application Auto Scaling efectúe de forma correcta el escalado horizontal con una política de escalado, comienza a calcular el tiempo de recuperación. Una política de escalado no volverá a aumentar la capacidad deseada a menos que se desencadene un escalado horizontal mayor o finalice el periodo de recuperación. Mientras el periodo de recuperación del escalado ascendente esté en vigor, la capacidad agregada por la actividad inicial de escalado ascendente se considerará parte de la capacidad deseada para la siguiente actividad de escalado ascendente.
-
Con el periodo de recuperación de las políticas de reducción horizontal, la intención es reducir horizontalmente con precaución para proteger la disponibilidad de la aplicación, de modo que las actividades de reducir horizontalmente se bloqueen hasta que haya transcurrido el periodo de recuperación de la reducción horizontal. No obstante, si otra alarma desencadena una actividad de escalado ascendente durante el periodo de recuperación de escalado descendente, Application Auto Scaling realiza inmediatamente un escalado ascendente del destino. En este caso, el periodo de recuperación de la reducción horizontal se detiene y no se completa.
Por ejemplo, cuando se produce un pico de tráfico, se activa una alarma y Application Auto Scaling agrega capacidad automáticamente para ayudar a gestionar el aumento de carga. Si se establece un periodo de recuperación para la política de escalado horizontal, cuando la alarma activa la política para aumentar la capacidad en 2, la actividad de escalado se realiza correctamente y se inicia el periodo de recuperación del escalado horizontal. Si una alarma vuelve a activarse durante el periodo de recuperación, pero con un ajuste por pasos más estricto que 3, el aumento de 2 se considerará parte de la capacidad actual. Por lo tanto, solo se añade 1 a la capacidad. Esto permite escalar más rápido que esperar a que caduque el tiempo de recuperación, pero sin agregar más capacidad de la que se necesita.
El período de recuperación se mide en segundos y solo se aplica a las actividades de escalado relacionadas con políticas de escalado. Durante un periodo de recuperación, cuando una acción programada comienza a la hora programada, puede desencadenar una actividad de escalado inmediatamente sin esperar a que finalice el periodo de recuperación.
El valor predeterminado es 300 si no se especifica ningún valor.
Comandos de uso frecuente para la creación, administración y eliminación de políticas de escalado
Los comandos comúnmente utilizados para trabajar con políticas de escalado incluyen:
-
register-scalable-target para registrar AWS o recursos personalizados como destinos escalables (un recurso que Auto Scaling de aplicaciones puede escalar) y para suspender y reanudar el escalado.
-
put-scaling-policy para agregar o modificar políticas de escalado para un destino escalable existente.
-
describe-scaling-activities para devolver información sobre las actividades de escalado en una región de AWS.
-
describe-scaling-policies para devolver información sobre las políticas de escalado en una región de AWS.
-
delete-scaling-policy para eliminar una política de escalado.
Consideraciones
Las siguientes consideraciones se aplican al trabajar con las políticas de escalado por pasos:
-
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.
Recursos relacionados
Para obtener más información sobre cómo crear políticas de escalado por pasos para grupos de Auto Scaling, consulte Pasos y políticas de escalado sencillas para Amazon EC2 Auto Scaling en la Guía del usuario de Amazon EC2 Auto Scaling.
Acceso a la consola
El acceso a la consola para ver, agregar, actualizar o eliminar políticas de escalado por pasos en recursos escalables depende del recurso que utilice. Para obtener más información, consulte Servicios de AWS que puede utilizar con Application Auto Scaling.