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 encarecidamente que utilice políticas de escalado y seguimiento de objetivos para escalar métricas como el uso medio de la CPU o el recuento medio de solicitudes por objetivo. 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:

  • Amplíe la escala 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.

Crea una política de escalado escalonado para escalarlo

Para crear una política de escalado escalado para el escalado horizontal de su grupo de Auto Scaling, utilice uno de los siguientes métodos:

Console
Paso 1: Cree una CloudWatch alarma para el umbral métrico alto
  1. Abra la CloudWatch consola en https://console.aws.amazon.com/cloudwatch/.

  2. De ser necesario, cambie la región. En la barra de navegación, seleccione la región en la que reside el grupo de escalado automático.

  3. En el panel de navegación, elija Alarms, All alarms (Alarmas, Todas las alarmas) y, a continuación, elija Create alarm (Crear alarma).

  4. Elija Seleccionar métrica.

  5. En la pestaña All metrics (Todas las métricas), elija EC2, By Auto Scaling Group (Por grupo de escalado automático) y escriba el nombre del grupo de escalado automático en el campo de búsqueda. A continuación, seleccione CPUUtilization y elija Seleccionar métrica. Aparece la página Specify metric and conditions (Especificar métrica y condiciones), que muestra un gráfico y otra información sobre la métrica.

  6. En Periodo, elija el periodo de evaluación para la alarma, por ejemplo, 1 minuto. Al evaluar la alarma, cada periodo se agrega a un punto de datos.

    nota

    Un periodo más corto crea una alarma con más sensibilidad.

  7. En Condiciones, haga lo siguiente:

    • En Threshold type (Tipo de umbral), elija Static (Estático).

    • En CPUUtilizationWhenever is, especifique si desea que el valor de la métrica sea mayor, mayor o igual que el umbral para superar la alarma. A continuación, en than (que), escriba el valor del umbral que desea utilizar para interrumpir la alarma.

      importante

      Para que una alarma se utilice con una política de escalado horizontal (métrica alta), asegúrese de no elegir menos que o menos o igual que el límite.

  8. En Configuración adicional, haga lo siguiente:

    • En Datapoints to alarm (Puntos de datos para la alarma), ingrese el número de puntos de datos (periodos de evaluación) durante los que el valor de la métrica debe cumplir las condiciones del umbral para interrumpir la alarma. Por ejemplo, dos periodos consecutivos de 5 minutos tardarían 10 minutos en invocar el estado de la alarma.

    • En Tratamiento de datos faltantes, elija Tratar datos faltantes como incorrectos (umbral de incumplimiento). Para obtener más información, consulta Cómo configurar el modo en que CloudWatch las alarmas tratan los datos faltantes en la Guía del CloudWatch usuario de Amazon.

  9. Elija Siguiente.

    La página Configure actions (Configurar acciones) aparecerá.

  10. En Notification (Notificación), seleccione el tema de Amazon SNS al que desee enviar la notificación cuando la alarma tenga el estado ALARM, OK o INSUFFICIENT_DATA.

    Para que la alarma envíe varias notificaciones para el mismo estado de alarma o para estados de alarma diferentes, seleccione Add notificación (Añadir notificación).

    Para que la alarma no envíe notificaciones, elija Remove (Eliminar).

  11. Puede dejar el resto de secciones de la página Configure actions (Configurar acciones) vacía. Si se dejan las demás secciones vacías, se crea una alarma sin asociarla a una política de escalado. A continuación, puede asociar la alarma con una política de escalado desde la consola de Amazon EC2 Auto Scaling.

  12. Elija Siguiente.

  13. Escriba un nombre (por ejemplo, Step-Scaling-AlarmHigh-AddCapacity) y, si quiere, una descripción de la alarma y, a continuación, elija Next (Siguiente).

  14. Elija Crear alarma.

Utilice el siguiente procedimiento para continuar donde lo dejó después de crear la CloudWatch alarma.

Paso 2: Cree una política de escalado escalonado para el escalamiento horizontal
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/ y elija Auto Scaling Groups (Grupos de escalado automático) en el panel de navegación.

  2. Seleccione la casilla situada junto al grupo de escalado automático.

    Se abre un panel dividido en la parte inferior de la página.

  3. Verifique que los límites de escalado estén establecidos correctamente. Por ejemplo, si la capacidad deseada de su grupo ya tiene el tamaño máximo, necesita especificar un nuevo máximo de escalado horizontal. Para obtener más información, consulte Establecimiento de límites de escalado para el grupo de escalado automático.

  4. En la pestaña Automatic scaling (Escalado automático), en Dynamic scaling policies (Políticas de escalado dinámico), elija Create dynamic scaling policy (Crear política de escalado dinámico).

  5. En el tipo de política, elija Escalado escalonado y, a continuación, especifique un nombre para la política.

  6. Para la CloudWatch alarma, elija la suya. Si aún no ha creado una alarma, elija Crear una CloudWatch alarma y complete los pasos 4 a 14 del procedimiento anterior para crear una alarma.

  7. Especifique el cambio en el tamaño de grupo actual que hará esta política cuando se ejecute utilizando Take the action (Realizar la acción). Puede agregar un número específico de instancias o un porcentaje del tamaño de grupo existente, o establecer el grupo en un tamaño exacto.

    Por ejemplo, para crear una política de escalamiento horizontal que aumente la capacidad del grupo en un 30 por ciento, elijaAdd, introduzca 30 en el siguiente campo y, a continuación, elija. percent of group De forma predeterminada, el límite inferior de este ajuste por pasos es el límite de alarma y el límite superior es infinito positivo (+).

  8. Para agregar otro paso, elija Add step (Agregar paso) y, a continuación, defina la cantidad por la que se va a escalar y los límites inferior y superior del paso en relación con el umbral de alarma.

  9. Para establecer un número mínimo de instancias que escalar, actualice el campo numérico en Add capacity units in increments of at least (Agregar unidades de capacidad en incrementos de al menos) 1 capacity units (unidades de capacidad).

  10. (Opcional) Para el calentamiento de instancias, actualice el valor de calentamiento de instancias según sea necesario.

  11. Seleccione Crear.

AWS CLI

Para crear una política de escalado escalonado para ampliar (aumentar la capacidad), puede utilizar los siguientes comandos de ejemplo. Reemplace cada marcador de posición de entrada del usuario con información propia.

Al utilizar la AWS CLI, primero debe crear una política de escalado escalonado que proporciona instrucciones a Amazon EC2 Auto Scaling sobre cómo escalar de forma horizontal cuando el valor de una métrica aumenta. A continuación, cree la alarma identificando la métrica que desea vigilar, definiendo el umbral máximo de la métrica y otros detalles de las alarmas, y asociando la alarma a la política de escalado.

Paso 1: Cree una política de escalamiento horizontal

Utilice el siguiente put-scaling-policycomando para crear una política de escalado escalonado denominadamy-step-scale-out-policy, con un tipo de ajuste PercentChangeInCapacity que aumente la capacidad del grupo en función de los siguientes ajustes escalonados (suponiendo un umbral de CloudWatch alarma del 60 por ciento):

  • Aumente el recuento de instancias en un 10 por ciento cuando el valor de la métrica sea mayor o igual al 60 por ciento pero inferior al 75 por ciento

  • Aumente el recuento de instancias en un 20 por ciento cuando el valor de la métrica sea mayor o igual al 75 por ciento pero inferior al 85 por ciento

  • Aumente el recuento de instancias en un 30 por ciento cuando el valor de la métrica sea mayor o igual al 85 por ciento

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-out-policy \ --policy-type StepScaling \ --adjustment-type PercentChangeInCapacity \ --metric-aggregation-type Average \ --step-adjustments MetricIntervalLowerBound=0.0,MetricIntervalUpperBound=15.0,ScalingAdjustment=10 \ MetricIntervalLowerBound=15.0,MetricIntervalUpperBound=25.0,ScalingAdjustment=20 \ MetricIntervalLowerBound=25.0,ScalingAdjustment=30 \ --min-adjustment-magnitude 1

Registre el nombre de recurso de Amazon (ARN) de la política. Lo necesita para crear una CloudWatch alarma para la política.

{ "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:4ee9e543-86b5-4121-b53b-aa4c23b5bbcc:autoScalingGroupName/my-asg:policyName/my-step-scale-in-policy }
Paso 2: Cree una CloudWatch alarma para el umbral métrico alto

Utilice el siguiente CloudWatch put-metric-alarmcomando para crear una alarma que aumente el tamaño del grupo de Auto Scaling en función de un valor umbral de CPU promedio del 60 por ciento durante al menos dos períodos de evaluación consecutivos de dos minutos. Para usar su propia métrica personalizada, especifique su nombre en --metric-name y su espacio de nombres en --namespace.

aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmHigh-AddCapacity \ --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \ --period 120 --evaluation-periods 2 --threshold 60 \ --comparison-operator GreaterThanOrEqualToThreshold \ --dimensions "Name=AutoScalingGroupName,Value=my-asg" \ --alarm-actions PolicyARN

Cree una política de escalado escalonado para ampliarlo

Para crear una política de escalado escalonado para el grupo de Auto Scaling, utilice uno de los siguientes métodos:

Console
Paso 1: Cree una CloudWatch alarma para el umbral métrico bajo
  1. Abra la CloudWatch consola en https://console.aws.amazon.com/cloudwatch/.

  2. De ser necesario, cambie la región. En la barra de navegación, seleccione la región en la que reside el grupo de escalado automático.

  3. En el panel de navegación, elija Alarms, All alarms (Alarmas, Todas las alarmas) y, a continuación, elija Create alarm (Crear alarma).

  4. Elija Seleccionar métrica.

  5. En la pestaña All metrics (Todas las métricas), elija EC2, By Auto Scaling Group (Por grupo de escalado automático) y escriba el nombre del grupo de escalado automático en el campo de búsqueda. A continuación, seleccione CPUUtilization y elija Seleccionar métrica. Aparece la página Specify metric and conditions (Especificar métrica y condiciones), que muestra un gráfico y otra información sobre la métrica.

  6. En Periodo, elija el periodo de evaluación para la alarma, por ejemplo, 1 minuto. Al evaluar la alarma, cada periodo se agrega a un punto de datos.

    nota

    Un periodo más corto crea una alarma con más sensibilidad.

  7. En Condiciones, haga lo siguiente:

    • En Threshold type (Tipo de umbral), elija Static (Estático).

    • En CPUUtilizationWhenever is, especifique si desea que el valor de la métrica sea inferior, inferior o igual al umbral para superar la alarma. A continuación, en than (que), escriba el valor del umbral que desea utilizar para interrumpir la alarma.

      importante

      Para que una alarma se utilice con una política de reducción horizontal (métrica baja), asegúrese de no elegir mayor que o mayor o igual que el límite.

  8. En Configuración adicional, haga lo siguiente:

    • En Datapoints to alarm (Puntos de datos para la alarma), ingrese el número de puntos de datos (periodos de evaluación) durante los que el valor de la métrica debe cumplir las condiciones del umbral para interrumpir la alarma. Por ejemplo, dos periodos consecutivos de 5 minutos tardarían 10 minutos en invocar el estado de la alarma.

    • En Tratamiento de datos faltantes, elija Tratar datos faltantes como incorrectos (umbral de incumplimiento). Para obtener más información, consulta Cómo configurar el modo en que CloudWatch las alarmas tratan los datos faltantes en la Guía del CloudWatch usuario de Amazon.

  9. Elija Siguiente.

    La página Configure actions (Configurar acciones) aparecerá.

  10. En Notification (Notificación), seleccione el tema de Amazon SNS al que desee enviar la notificación cuando la alarma tenga el estado ALARM, OK o INSUFFICIENT_DATA.

    Para que la alarma envíe varias notificaciones para el mismo estado de alarma o para estados de alarma diferentes, seleccione Add notificación (Añadir notificación).

    Para que la alarma no envíe notificaciones, elija Remove (Eliminar).

  11. Puede dejar el resto de secciones de la página Configure actions (Configurar acciones) vacía. Si se dejan las demás secciones vacías, se crea una alarma sin asociarla a una política de escalado. A continuación, puede asociar la alarma con una política de escalado desde la consola de Amazon EC2 Auto Scaling.

  12. Elija Siguiente.

  13. Escriba un nombre (por ejemplo, Step-Scaling-AlarmLow-RemoveCapacity) y, si quiere, una descripción de la alarma y, a continuación, elija Next (Siguiente).

  14. Elija Crear alarma.

Utilice el siguiente procedimiento para continuar donde lo dejó después de crear la CloudWatch alarma.

Paso 2: Cree una política de escalado escalonado para escalarlo
  1. Abra la consola de Amazon EC2 en https://console.aws.amazon.com/ec2/ y elija Auto Scaling Groups (Grupos de escalado automático) en el panel de navegación.

  2. Seleccione la casilla situada junto al grupo de escalado automático.

    Se abre un panel dividido en la parte inferior de la página.

  3. Verifique que los límites de escalado estén establecidos correctamente. Por ejemplo, si la capacidad deseada de su grupo ya es mínima, debe especificar un nuevo mínimo para poder ampliarla. Para obtener más información, consulte Establecimiento de límites de escalado para el grupo de escalado automático.

  4. En la pestaña Automatic scaling (Escalado automático), en Dynamic scaling policies (Políticas de escalado dinámico), elija Create dynamic scaling policy (Crear política de escalado dinámico).

  5. En el tipo de política, elija Escalación por etapas y, a continuación, especifique un nombre para la política.

  6. Para la CloudWatch alarma, elija la suya. Si aún no ha creado una alarma, elija Crear una CloudWatch alarma y complete los pasos 4 a 14 del procedimiento anterior para crear una alarma.

  7. Especifique el cambio en el tamaño de grupo actual que hará esta política cuando se ejecute utilizando Take the action (Realizar la acción). Puede eliminar un número específico de instancias o un porcentaje del tamaño de grupo existente, o establecer el grupo en un tamaño exacto.

    Por ejemplo, para crear una política de escalamiento horizontal que reduzca la capacidad del grupo en dos instancias, elijaRemove, introduzca 2 en el siguiente campo y, a continuación, elija. capacity units De forma predeterminada, el límite superior de este ajuste por pasos es el límite de alarma y el límite inferior es infinito negativo (-).

  8. Para agregar otro paso, elija Add step (Agregar paso) y, a continuación, defina la cantidad por la que se va a escalar y los límites inferior y superior del paso en relación con el umbral de alarma.

  9. Seleccione Crear.

AWS CLI

Para crear una política de escalado escalonado para ampliar (reducir la capacidad), puede utilizar los siguientes comandos de ejemplo. Reemplace cada marcador de posición de entrada del usuario con información propia.

Al usar el AWS CLI, primero debe crear una política de escalado escalonado que proporciona instrucciones a Amazon EC2 Auto Scaling sobre cómo escalar cuando el valor de una métrica disminuye. A continuación, se crea la alarma identificando la métrica que se va a observar, definiendo el umbral mínimo de la métrica y otros detalles de las alarmas, y asociando la alarma a la política de escalado.

Paso 1: Cree una política para escalar

Utilice el siguiente put-scaling-policycomando para crear una política de escalado my-step-scale-in-policy escalonado denominada, con un tipo de ajuste ChangeInCapacity que reduzca la capacidad del grupo en 2 instancias cuando la CloudWatch alarma asociada supere el valor mínimo métrico del umbral.

aws autoscaling put-scaling-policy \ --auto-scaling-group-name my-asg \ --policy-name my-step-scale-in-policy \ --policy-type StepScaling \ --adjustment-type ChangeInCapacity \ --step-adjustments MetricIntervalUpperBound=0.0,ScalingAdjustment=-2

Registre el nombre de recurso de Amazon (ARN) de la política. Lo necesita para crear la CloudWatch alarma de la política.

{ "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:autoScalingGroupName/my-asg:policyName/my-step-scale-out-policy }
Paso 2: Cree una CloudWatch alarma para el umbral métrico bajo

Use el siguiente CloudWatch put-metric-alarmcomando para crear una alarma que reduzca el tamaño del grupo de Auto Scaling en función del valor umbral promedio de la CPU del 40 por ciento durante al menos dos períodos de evaluación consecutivos de dos minutos. Para usar su propia métrica personalizada, especifique su nombre en --metric-name y su espacio de nombres en --namespace.

aws cloudwatch put-metric-alarm --alarm-name Step-Scaling-AlarmLow-RemoveCapacity \ --metric-name CPUUtilization --namespace AWS/EC2 --statistic Average \ --period 120 --evaluation-periods 2 --threshold 40 \ --comparison-operator LessThanOrEqualToThreshold \ --dimensions "Name=AutoScalingGroupName,Value=my-asg" \ --alarm-actions PolicyARN

Políticas de escalado sencillo

Los siguientes ejemplos muestran cómo puede utilizar los comandos CLI para crear políticas de escalado sencillas. Permanecen en este documento como referencia para los clientes que deseen utilizarlos, pero le recomendamos que, en su lugar, utilice políticas de seguimiento de objetivos o de escalado escalonado.

Al igual que las políticas de escalado escalonado, las políticas de escalado simples requieren que cree CloudWatch alarmas para sus políticas de escalado. En las políticas que cree, también debe definir si desea añadir o eliminar instancias y cuántas, o configurar el grupo con un tamaño exacto.

Una de las principales diferencias entre las políticas de escalado escalonado y las políticas de escalado simples son los ajustes escalonados que se obtienen con las políticas de escalado escalonado. Con el escalado escalonado, puede realizar cambios mayores o menores en el tamaño del grupo en función de los ajustes escalonados que especifique.

Una política de escalado simple también debe esperar a que se complete una actividad de escalado en curso o a que se sustituya un chequeo de estado y a que finalice un período de enfriamiento antes de responder a más alarmas. Por el contrario, con el escalado gradual, la política sigue respondiendo a nuevas alarmas, incluso cuando se está llevando a cabo una actividad de escalado o se está sustituyendo un chequeo de estado. Esto significa que Amazon EC2 Auto Scaling evalúa todas las brechas de alarma a medida que recibe los mensajes de alarma. Por ello, le recomendamos que utilice políticas de escalado escalonado en su lugar, incluso si solo tiene un ajuste de escalado único.

Al principio, Amazon EC2 Auto Scaling únicamente admitía las políticas de escalado sencillo. Si creó su política de escalado antes de que se introdujeran las políticas de seguimiento de objetivos y escalado escalonado, su política se considera una política de escalado simple.

Utilice el siguiente put-scaling-policycomando para crear una política de escalado sencilla denominadamy-simple-scale-out-policy, con un tipo de ajuste PercentChangeInCapacity que aumente la capacidad del grupo en un 30 por ciento cuando la CloudWatch alarma asociada supere el valor máximo del umbral métrico.

aws autoscaling put-scaling-policy --policy-name my-simple-scale-out-policy \ --auto-scaling-group-name my-asg --scaling-adjustment 30 \ --adjustment-type PercentChangeInCapacity

Registre el nombre de recurso de Amazon (ARN) de la política. Lo necesita para crear la CloudWatch alarma de la política.

Utilice el siguiente put-scaling-policycomando para crear una política de escalado simple denominadamy-simple-scale-in-policy, con un tipo de ajuste ChangeInCapacity que reduzca la capacidad del grupo en una instancia cuando la CloudWatch alarma asociada supere el valor mínimo métrico del umbral.

aws autoscaling put-scaling-policy --policy-name my-simple-scale-in-policy \ --auto-scaling-group-name my-asg --scaling-adjustment -1 \ --adjustment-type ChangeInCapacity --cooldown 180

Registre el nombre de recurso de Amazon (ARN) de la política. Lo necesita para crear la CloudWatch alarma de la política.