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

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 por pasos y sencillas para Amazon EC2 Auto Scaling

Con las políticas de escalado sencillo y por pasos, puede elegir las métricas de escalado y los valores de umbral de las alarmas de CloudWatch que desencadenarán el proceso de escalado. También puede definir cómo debe escalarse el grupo de Auto Scaling si se infringe un umbral durante un determinado número de períodos de evaluación.

Se recomienda encarecidamente que utilice una política de escalado de seguimiento de destino para escalar una métrica, como la utilización media de la CPU o la métrica RequestCountPerTarget de Balanceador de carga de aplicaciones. 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. 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.

Diferencias entre las políticas de escalado por pasos y las políticas de escalado sencillo

Las políticas de escalado por pasos y las políticas de escalado sencillas son dos de las opciones de escalado dinámico que puede utilizar. Ambas requieren que cree alarmas de CloudWatch para las políticas de escalado. Ambas requieren que especifique los umbrales alto y bajo para las alarmas. Ambas requieren que defina si desea agregar o quitar instancias, y cuántas, o establecer el grupo en un tamaño exacto.

La principal diferencia entre los tipos de políticas son los ajustes por pasos que se obtienen con las políticas de escalado por pasos. Cuando se aplican ajustes por pasos y aumenta o disminuye la capacidad actual del grupo de Auto Scaling, los ajustes varían en función del tamaño de la interrupción de alarma.

En la mayoría de los casos, las políticas de escalado por pasos son una mejor opción que las políticas de escalado sencillas, incluso si tiene un único ajuste de escalado.

El principal problema del escalado sencillo, es que una vez que comienza una actividad de escalado, la política debe esperar a que se complete la actividad de escalado o la sustitución de comprobación de estado y a que finalice el periodo de recuperación para responder a las alarmas adicionales. Los periodos de recuperación ayudan a evitar que se inicien actividades de escalado adicionales antes de que los efectos de las actividades anteriores sean visibles.

Por el contrario, con el escalado por pasos, la política puede seguir respondiendo a alarmas adicionales, incluso mientras se está realizando una actividad de escalado o una sustitución de comprobación de estado. Por lo tanto, Amazon EC2 Auto Scaling evalúa todas las alarmas de infracción cuando recibe los mensajes de alarma.

Amazon EC2 Auto ScalingAl principio, únicamente admitía las políticas de escalado sencillo. Si creó su política de escalado antes de que se incorporaran las políticas de seguimiento de destino y las políticas por pasos, se tratará como si fuera una política 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 de CloudWatch. Cuando se dispara la alarma, se desencadena la política de escalado adecuada. Amazon EC2 Auto Scaling aplica el tipo de agregación 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 infracción. Por ejemplo, supongamos que tiene un grupo de Auto Scaling que tiene una capacidad actual y una capacidad deseada de 10. Tiene una alarma de CloudWatch con un umbral de infracción del 50 por ciento y políticas de escalado ascendente y políticas de escalado descendente. Tiene un conjunto de ajustes de pasos con un tipo de ajuste PercentChangeInCapacity (o Percent of group (Porcentaje de 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 escalado descendente
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% -----------------------------------------------------------------------

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 ha finalizado el tiempo de preparación especificado, la capacidad actual del grupo aumenta hasta 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 escalado descendente (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 escalado descendente (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 utiliza la Consola de administración de AWS, debe especificar los límites superior e inferior como valores absolutos. Si utiliza la AWS CLI o un SDK, debe especificar los límites superior e inferior en relación con el umbral de interrupción.

  • 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 Auto Scaling o en unidades de capacidad. Normalmente, una unidad de capacidad significa una instancia, a menos que esté utilizando la característica de ponderación de instancias.

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

  • ChangeInCapacity — Aumente o reduzca la capacidad actual del grupo según 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 — Cambie 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 — Incremente o reduzca 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 Auto Scaling 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 utiliza la ponderación de instancias, cambia el efecto de establecer el parámetro MinAdjustmentMagnitude en un valor distinto de cero. 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 está utilizando la ponderación de instancias, tenga en cuenta que la capacidad actual de su grupo de Auto Scaling puede exceder 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 después de dispararse una alarma. Por ejemplo, supongamos que la capacidad deseada sea 30 y la capacidad actual sea 32. Cuando se activa la alarma, si la política de escalado disminuye la capacidad deseada en 1, no se ejecuta ninguna acción de escalado.

Preparación de instancias

Si está creando una política por pasos, puede especificar el número de segundos que se tarda en preparar una instancia recién lanzada. Hasta que finaliza el tiempo de preparación especificado, la instancia no se tiene en cuenta para las métricas agregadas del grupo de Auto Scaling.

Usando el ejemplo de la sección de Ajustes por pasos, suponga ahora que la métrica llega hasta 60 y después hasta 62 mientras la nueva instancia sigue en proceso de preparación. La capacidad actual sigue siendo de 10 instancias, por lo que se añade 1 instancia (10 por ciento de 10 instancias). Sin embargo, la capacidad deseada del grupo ya tiene 11 instancias y, por lo tanto, 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.

Durante el escalado ascendente, no consideramos las instancias que se están preparando como parte de la capacidad actual del grupo. 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. Con esto nos aseguramos de no añadir más instancias de las que necesita.

Durante el escalado descendente, consideramos las instancias que están terminando como parte de la capacidad actual del grupo. Por lo tanto, no eliminaremos más instancias del grupo de Auto Scaling que las necesarias.

Una actividad de escalado descendente no se puede iniciar mientras haya una actividad de escalado ascendente en curso.

Crear una CloudWatch alarma de (consola)

Puede utilizar el siguiente procedimiento para crear las alarmas de CloudWatch que Amazon EC2 Auto Scaling utiliza para determinar cuándo escalar el grupo de Auto Scaling. Cada alarma de CloudWatch observa una sola métrica y envía mensajes a Amazon EC2 Auto Scaling cuando la métrica infringe el umbral de alarma.

Para crear una alarma de CloudWatch que supervise el uso de la CPU

  1. Abra la consola de CloudWatch en https://console.aws.amazon.com/cloudwatch/.

  2. Si es necesario, cambie la región. En la barra de navegación, seleccione la región en la que residen sus grupos de Auto Scaling.

  3. En el panel de navegación, elija Alarmas y, a continuación, elija Crear alarma.

  4. Elija Select metric (Seleccionar métrica).

  5. En la pestaña All metrics (Todas las métricas), elija EC2 By Auto Scaling) y escriba el nombre del grupo en el campo de búsqueda.Auto Scaling 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 Period (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 Cuando CPUUtilization sea, especifique si desea que el valor de la métrica sea mayor que, mayor o igual que, menor que, o menor o igual que el umbral para desencadenar la alarma. A continuación, en than (que), escriba el valor del umbral que desea utilizar para activar la alarma.

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

    • En Puntos de datos para alarma, escriba 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 desencadenar la alarma. Por ejemplo, dos periodos consecutivos de 5 minutos tardarían 10 minutos en desencadenar la alarma.

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

  9. Seleccione Next (Siguiente).

  10. (Opcional) En Notification (Notificación), puede elegir o crear el tema de Amazon SNS que desea utilizar para recibir notificaciones. De lo contrario, puede quitar la notificación ahora y agregar una más adelante si es necesario.

  11. Seleccione Next (Siguiente).

  12. 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).

  13. Elija Crear alarma.

Ejemplo: alarma de CloudWatch que se activa cada vez que la CPU infringe el umbral del 80 por ciento


                        CloudWatchAlarma de

Crear políticas de escalado por pasos (consola)

El siguiente procedimiento muestra cómo usar la consola de Amazon EC2 Auto Scaling para crear dos políticas de escalado por pasos: una política de escalado ascendente que aumente la capacidad del grupo en un 30 por ciento y una política de escalado descendente que reduzca la capacidad del grupo a dos instancias.

Mientras configura las políticas de escalado, puede crear las alarmas al mismo tiempo. Alternativamente, puede utilizar alarmas creadas desde la consola de CloudWatch, como se describe en la sección anterior.

Para crear una política de escalado por pasos para el escalado ascendente

  1. Open the Amazon EC2 Auto Scaling console at https://console.aws.amazon.com/ec2autoscaling/.

  2. Seleccione la casilla de verificación situada junto a su grupo de Auto Scaling.

    Se abre un panel dividido en la parte inferior de la página Auto Scaling groups (Grupos de Auto Scaling) que muestra información sobre el grupo seleccionado.

  3. Compruebe que los límites de tamaño mínimo y máximo estén establecidos correctamente. Por ejemplo, si el grupo ya tiene su tamaño máximo, tiene que especificar un nuevo máximo para realizar el escalado ascendente. Amazon EC2 Auto Scaling no escala su grupo por debajo de la capacidad mínima o por encima de la capacidad máxima. Para actualizar el grupo, en la pestaña Details (Detalles), cambie la configuración actual para la capacidad mínima y máxima.

  4. En la pestaña Automatic scaling (Escalado automático), en Scaling policies (Políticas de escalado), elija Add policy (Agregar política).

  5. Para definir una política para escalado ascendente (aumentar la capacidad), haga lo siguiente:

    1. En Policy type (Tipo de política), elija Step scaling (Escalado de pasos).

    2. Especifique un nombre para la política.

    3. En Alarma de CloudWatch, elija su alarma. Si todavía no ha creado una alarma, elija Crear una alarma de CloudWatch y complete Paso 4 a través de Paso 13 para crear una alarma que monitoree el uso de la CPU. Establezca el umbral de alarma en un valor mayor o igual al 80 por ciento.

    4. 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, elija Add, escriba 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 umbral de alarma y el límite superior es infinito positivo.

    5. 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.

    6. 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).

    7. Especifique un valor de preparación de la instancia en Instances need (Instancias necesarias), lo que le permite controlar el tiempo que la instancia que se acaba de lanzar tarda en poder aportar su contribución a las métricas de CloudWatch.

  6. Seleccione Create (Crear).

Para crear una política de escalado por pasos para el escalado descendente

  1. Elija Add policy (Agregar política) para continuar donde lo dejó después de crear una política de escalado ascendente.

  2. Para definir una política de escalado descendente (disminuir la capacidad), haga lo siguiente:

    1. En Policy type (Tipo de política), elija Step scaling (Escalado de pasos).

    2. Especifique un nombre para la política.

    3. En Alarma de CloudWatch, elija su alarma. Si todavía no ha creado una alarma, elija Crear una alarma de CloudWatch y complete Paso 4 a través de Paso 13 para crear una alarma que monitoree el uso de la CPU. Establezca el umbral de alarma en un valor inferior o igual al 40 por ciento.

    4. 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, elija Remove, escriba 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 umbral de alarma y el límite inferior es infinito negativo.

    5. 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.

  3. Seleccione Create (Crear).

Crear políticas de escalado y CloudWatch alarmas de (AWS CLI)

Utilice la AWS CLI tal y como se indica a continuación para configurar políticas de escalado simple o por pasos para su grupo de Auto Scaling.

Paso 1: Crear un Auto Scaling grupo de

Utilice el siguiente create-auto-scaling-group comando para crear un Auto Scaling grupo de denominado my-asg con la configuración de lanzamiento my-launch-config. Si no dispone de una configuración de inicio que desee utilizar, puede crear una llamando a create-launch-configuration.

aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-configuration-name my-launch-config \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --max-size 5 --min-size 1

Paso 2: Crear políticas de escalado

Puede crear políticas de escalado sencillas o por pasos que indiquen al grupo de Auto Scaling lo que debe hacer cuando cambie la carga de la aplicación.

Políticas de escalado por pasos

Ejemplo: my-step-scale-out-policy

Utilice el siguiente comando put-scaling-policy para crear una política de escalado por pasos denominada my-step-scale-out-policy con un tipo de ajuste de PercentChangeInCapacity que aumenta la capacidad del grupo según los siguientes ajustes por pasos (se supone un umbral de alarma de CloudWatch 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 70 por ciento pero inferior al 80 por ciento

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

  • Aumente el recuento de instancias en un 30 por ciento cuando el valor de la métrica sea mayor o igual al 90 por ciento pero inferior al 90 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=10.0,MetricIntervalUpperBound=20.0,ScalingAdjustment=10 \ MetricIntervalLowerBound=20.0,MetricIntervalUpperBound=30.0,ScalingAdjustment=20 \ MetricIntervalLowerBound=30.0,ScalingAdjustment=30 \ --min-adjustment-magnitude 1

Registre el nombre de recurso de Amazon (ARN) de la política. Lo necesita para crear una alarma de CloudWatch 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 }

Ejemplo: my-step-scale-in-policy

Utilice el siguiente comando put-scaling-policy para crear una política de escalado por pasos denominada my-step-scale-in-policy con el tipo de ajuste ChangeInCapacity que reduce la capacidad del grupo en dos instancias.

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 una alarma de CloudWatch para la política.

{ "PolicyARN": "arn:aws:autoscaling:region:123456789012:scalingPolicy:ac542982-cbeb-4294-891c-a5a941dfa787:autoScalingGroupName/my-asg:policyName/my-step-scale-out-policy }

Políticas de escalado sencillo

También puede crear políticas de escalado sencillo utilizando los siguientes comandos de la CLI en lugar de los anteriores. Tenga en cuenta que se establecerá un periodo de recuperación debido al uso de políticas de escaldo sencillo.

Ejemplo: my-simple-scale-out-policy

Utilice el siguiente comando put-scaling-policy para crear una política de escalado sencillo denominada my-simple-scale-out-policy con el tipo de ajuste PercentChangeInCapacity que aumenta la capacidad del grupo en un 30 por ciento.

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 una alarma de CloudWatch para la política.

Ejemplo: my-simple-scale-in-policy

Utilice el siguiente comando put-scaling-policy para crear una política de escalado sencillo denominada my-simple-scale-in-policy con el tipo de ajuste ChangeInCapacity que reduce la capacidad del grupo en una instancia.

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 una alarma de CloudWatch para la política.

Paso 3: Crear CloudWatch alarmas de

En el paso 2, creó políticas de escalado que ofrecen instrucciones al grupo de Auto Scaling acerca de cómo realizar el escalado descendente y ascendente cuando cambien las condiciones que especifique. En este paso, creará alarmas identificando las métricas que desea vigilar, definiendo las condiciones del escalado y asociando después las alarmas a las políticas de escalado.

Ejemplo: AddCapacity

Utilice el siguiente CloudWatch put-metric-alarm comando para crear una alarma que aumente el tamaño del Auto Scaling grupo de en función de un valor de umbral de CPU medio del 60 por ciento durante al menos dos periodos 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

Ejemplo: RemoveCapacity

Utilice el siguiente CloudWatch put-metric-alarm comando para crear una alarma que reduzca el tamaño del Auto Scaling grupo de en función del valor de umbral de CPU medio del 40 por ciento durante al menos dos periodos 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