Cree una política de escalado predictivo para un grupo de 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.

Cree una política de escalado predictivo para un grupo de Auto Scaling

Los siguientes procedimientos le ayudan a crear una política de escalado predictivo mediante el AWS Management Console comando o AWS CLI.

Si el grupo Auto Scaling es nuevo, debe proporcionar al menos 24 horas de datos antes de que Amazon EC2 Auto Scaling pueda generar una previsión para él.

Creación de una política de escalado predictivo (consola)

Si es la primera vez que crea una política de escalado predictivo, le recomendamos que utilice la consola para crear varias políticas de escalado predictivo únicamente en el modo de previsión. Esto le permite probar los posibles efectos de diferentes métricas y valores objetivo. Puede crear varias políticas de escalado predictivo para cada grupo de escalado automático, pero solo una de las políticas se puede utilizar para el escalado activo.

Utilice el siguiente procedimiento para crear una política de escalado predictivo mediante métricas predefinidas (CPUE/S de red o recuento de solicitudes de Application Load Balancer por objetivo). La forma más simple de crear una política de escalado predictivo es mediante métricas predefinidas. Si prefiere utilizar métricas personalizadas en su lugar, consulte la Creación de una política de escalado predictivo en la consola (métricas personalizadas).

Para crear una política de escalado predictivo
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/y selecciona Auto Scaling Groups 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. En la pestaña Automatic scaling (Escalado automático), en Scaling policies (Políticas de escalado), elija Create predictive scaling policy (Crear política de escalado automático).

  4. Introduzca un nombre para la política.

  5. Active la opción Escalar en función de la previsión para dar permiso a Amazon EC2 Auto Scaling para empezar a escalar de inmediato.

    Para mantener la política en modo Forecast only (Solo pronóstico), mantenga Scale based on forecast (Escalado pasado en pronóstico) desactivado.

  6. En Metrics (Métricas), elija las métricas de la lista de opciones. Las opciones incluyen Network In CPU, Network Out, recuento de solicitudes de Application Load Balancer y par de métricas personalizadas.

    Si eligió Application Load Balancer request count per target (Recuento de solicitudes de Application Load Balancer por destino), luego elija un grupo de destino en Target group (Grupo de destino). Application Load Balancer request count per target (Recuento de solicitudes de Application Load Balancer por destino) solo se admite si ha adjuntado un grupo de destino del Application Load Balancer al grupo de escalado automático.

    Si eligió Custom metric pair (Par de métricas personalizadas), elija métricas individuales en las listas desplegables de Load metric (Métrica de carga) y Scaling metric (Métrica de escalado).

  7. Para el uso de Target, introduzca el valor objetivo que Amazon EC2 Auto Scaling debe mantener. Amazon EC2 Auto Scaling amplía su capacidad hasta que la utilización media se sitúe en la utilización objetivo o hasta que alcance la cantidad máxima de instancias que especificó.

    Si la métrica de escalado es… La utilización de destino representa…
    CPU

    El porcentaje CPU que debería utilizar idealmente cada instancia.

    Entrada de red

    Número medio de bytes por minuto que cada instancia debería recibir idealmente.

    Salida de red

    Número medio de bytes por minuto que cada instancia debería enviar idealmente.

    Recuento de solicitudes del Application Load Balancer por destino

    Número medio de solicitudes por minuto que cada instancia debería recibir idealmente.

  8. (Opcional) En Pre-launch instances (Lanzamiento previo de instancias), elija con qué antelación desea que se lancen las instancias antes de que el pronóstico exija que aumente la carga.

  9. (Opcional) Para ver el comportamiento de la capacidad máxima, elija si desea permitir que Amazon EC2 Auto Scaling escale más allá de la capacidad máxima del grupo cuando la capacidad prevista supere el máximo definido. Activar esta configuración permite que el escalado horizontal se produzca durante los periodos en los que se prevé que el tráfico sea el máximo.

  10. (Opcional) En Buffer maximum capacity above the forecasted capacity (Capacidad máxima del búfer por encima de la capacidad prevista, elija la capacidad adicional que se utilizará cuando la capacidad prevista se acerque o supere la capacidad máxima. El valor se especifica como porcentaje en relación con la capacidad prevista. Por ejemplo, si el búfer es 10, este valor indica un búfer del 10 por ciento. Por lo tanto, si la capacidad de previsión es 50 y la capacidad máxima es 40, la capacidad máxima nominal es 55.

    Si se establece en 0, Amazon EC2 Auto Scaling podría escalar la capacidad por encima de la capacidad máxima para igualar, pero no superar, la capacidad prevista.

  11. Elija Create predictive scaling policy (Crear política de escalado predictivo).

Utilice el procedimiento siguiente para crear una política de escalado predictivo mediante métricas personalizadas. Las métricas personalizadas pueden incluir otras métricas proporcionadas por usted CloudWatch o en las que publique CloudWatch. Para utilizar el CPU recuento de solicitudes de I/O de red o Application Load Balancer por destino, consulte. Creación de una política de escalado predictivo en la consola (métricas predefinidas)

Para crear una política de escalado predictivo mediante métricas personalizadas, debe hacer lo siguiente:

  • Debe proporcionar las consultas sin procesar que permiten que Amazon EC2 Auto Scaling interactúe con las métricas incluidas CloudWatch. Para obtener más información, consulte Política avanzada de escalado predictivo mediante métricas personalizadas. Para asegurarse de que Amazon EC2 Auto Scaling puede extraer los datos de las métricas CloudWatch, confirme que cada consulta devuelva puntos de datos. Confirme esto mediante la CloudWatch consola o la CloudWatch GetMetricDataAPIoperación.

    nota

    Proporcionamos ejemplos de JSON cargas útiles en el JSON editor de la consola de Amazon EC2 Auto Scaling. Estos ejemplos le proporcionan una referencia de los pares clave-valor necesarios para añadir otras CloudWatch métricas proporcionadas por usted AWS o en las que publicó anteriormente. CloudWatch Puede utilizarlos como punto de partida y, luego, personalizarlos en función de sus necesidades.

  • Si utilizas alguna métrica matemática, debes construirla manualmente para que se adapte JSON a tu escenario único. Para obtener más información, consulte Uso de expresiones de cálculos de métricas. Antes de utilizar las matemáticas métricas en su política, confirme que las consultas métricas basadas en expresiones matemáticas métricas son válidas y devuelven una única serie temporal. Confirme esto mediante la CloudWatch consola o la CloudWatch GetMetricDataAPIoperación.

Si comete un error en una consulta al proporcionar datos incorrectos, como un nombre de grupo de escalado automático incorrecto, la previsión no tendrá ningún dato. Para solucionar problemas con las métricas personalizadas, consulte Consideraciones sobre las métricas personalizadas en una política de escalado predictivo.

Para crear una política de escalado predictivo
  1. Abre la EC2 consola de Amazon en https://console.aws.amazon.com/ec2/y selecciona Auto Scaling Groups 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. En la pestaña Automatic scaling (Escalado automático), en Scaling policies (Políticas de escalado), elija Create predictive scaling policy (Crear política de escalado automático).

  4. Introduzca un nombre para la política.

  5. Active la opción Escalar en función de la previsión para dar permiso a Amazon EC2 Auto Scaling para empezar a escalar de inmediato.

    Para mantener la política en modo Forecast only (Solo pronóstico), mantenga Scale based on forecast (Escalado pasado en pronóstico) desactivado.

  6. En Metrics (Métricas), elija Custom metric pair (Par de métricas personalizadas).

    1. En Métrica de carga, elija CloudWatch Métrica personalizada para usar una métrica personalizada. Cree la JSON carga útil que contiene la definición de métrica de carga de la política y péguela en el cuadro del JSON editor, sustituyendo la que ya está en el cuadro.

    2. En la métrica de escalado, selecciona CloudWatch Métrica personalizada para usar una métrica personalizada. Cree la JSON carga útil que contiene la definición de métrica de escalado de la política y péguela en el cuadro del JSON editor, sustituyendo la que ya está en el cuadro.

    3. (Opcional) Para agregar una métrica de capacidad personalizada, active la casilla Add custom capacity metric (Agregar una métrica de capacidad personalizada). Construye la JSON carga útil que contiene la definición de métrica de capacidad de la política y pégala en el cuadro del JSON editor, sustituyendo la que ya está en el cuadro.

      Solo necesita habilitar esta opción para crear una nueva serie temporal de capacidad si los datos métricos de capacidad abarcan varios grupos de escalado automático. En este caso, debe utilizar las matemáticas métricas para agregar los datos en una sola serie temporal.

  7. Para el uso de Target, introduzca el valor objetivo que Amazon EC2 Auto Scaling debe mantener. Amazon EC2 Auto Scaling amplía su capacidad hasta que la utilización media se sitúe en la utilización objetivo o hasta que alcance la cantidad máxima de instancias que especificó.

  8. (Opcional) En Pre-launch instances (Lanzamiento previo de instancias), elija con qué antelación desea que se lancen las instancias antes de que el pronóstico exija que aumente la carga.

  9. (Opcional) Para ver el comportamiento de la capacidad máxima, elija si desea permitir que Amazon EC2 Auto Scaling escale más allá de la capacidad máxima del grupo cuando la capacidad prevista supere el máximo definido. Activar esta configuración permite que el escalado horizontal se produzca durante los periodos en los que se prevé que el tráfico sea el máximo.

  10. (Opcional) En Buffer maximum capacity above the forecasted capacity (Capacidad máxima del búfer por encima de la capacidad prevista, elija la capacidad adicional que se utilizará cuando la capacidad prevista se acerque o supere la capacidad máxima. El valor se especifica como porcentaje en relación con la capacidad prevista. Por ejemplo, si el búfer es 10, este valor indica un búfer del 10 por ciento. Por lo tanto, si la capacidad de previsión es 50 y la capacidad máxima es 40, la capacidad máxima nominal es 55.

    Si se establece en 0, Amazon EC2 Auto Scaling podría escalar la capacidad por encima de la capacidad máxima para igualar, pero no superar, la capacidad prevista.

  11. Elija Create predictive scaling policy (Crear política de escalado predictivo).

Creación de una política de escalado predictivo (AWS CLI)

Utilice AWS CLI lo siguiente para configurar las políticas de escalado predictivo para su grupo de Auto Scaling. Sustituya cada user input placeholder con tu propia información.

Para obtener más información sobre las CloudWatch métricas que puede especificar, consulte PredictiveScalingMetricSpecificationla Amazon EC2 Auto Scaling API Reference.

Ejemplo 1: Política de escalado predictivo que crea pronósticos, pero no escala

El siguiente ejemplo de política muestra una configuración de política completa que utiliza métricas CPU de uso para el escalado predictivo con un uso objetivo de40. ForecastOnlyel modo se usa de forma predeterminada, a menos que especifique explícitamente qué modo usar. Guarde esta configuración en un archivo llamado config.json.

{ "MetricSpecifications": [ { "TargetValue": 40, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization" } } ] }

Para crear la política desde la línea de comandos, ejecute el put-scaling-policycomando con el archivo de configuración especificado, como se muestra en el siguiente ejemplo.

aws autoscaling put-scaling-policy --policy-name cpu40-predictive-scaling-policy \ --auto-scaling-group-name my-asg --policy-type PredictiveScaling \ --predictive-scaling-configuration file://config.json

Si se ejecuta correctamente, este comando devuelve el nombre de recurso de Amazon (ARN) de la política.

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:2f4f5048-d8a8-4d14-b13a-d1905620f345:autoScalingGroupName/my-asg:policyName/cpu40-predictive-scaling-policy", "Alarms": [] }

Ejemplo 2: Política de escalado predictivo que pronostica y escala

Para una política que permita a Amazon EC2 Auto Scaling pronosticar y escalar, añada la propiedad Mode con un valor deForecastAndScale. En el ejemplo siguiente se muestra la configuración de una política que utiliza métricas de recuento de solicitudes del Application Load Balancer. La utilización de destino es 1000, y el escalado predictivo se establece en el modo ForecastAndScale.

{ "MetricSpecifications": [ { "TargetValue": 1000, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ALBRequestCount", "ResourceLabel": "app/my-alb/778d41231b141a0f/targetgroup/my-alb-target-group/943f017f100becff" } } ], "Mode": "ForecastAndScale" }

Para crear esta política, ejecute el put-scaling-policycomando con el archivo de configuración especificado, como se muestra en el siguiente ejemplo.

aws autoscaling put-scaling-policy --policy-name alb1000-predictive-scaling-policy \ --auto-scaling-group-name my-asg --policy-type PredictiveScaling \ --predictive-scaling-configuration file://config.json

Si se ejecuta correctamente, este comando devuelve el nombre de recurso de Amazon (ARN) de la política.

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:19556d63-7914-4997-8c81-d27ca5241386:autoScalingGroupName/my-asg:policyName/alb1000-predictive-scaling-policy", "Alarms": [] }

Ejemplo 3: Política de escalado predictivo que puede escalar por encima de la capacidad máxima

En el ejemplo siguiente se muestra cómo crear una política que puede escalar más allá del límite de tamaño máximo del grupo cuando se necesita para gestionar una carga superior a la normal. De forma predeterminada, Amazon EC2 Auto Scaling no escala la EC2 capacidad por encima de la capacidad máxima definida. Sin embargo, podría resultar útil permitir que escale la capacidad un poco más allá para evitar problemas de rendimiento o disponibilidad.

Para dejar espacio para que Amazon EC2 Auto Scaling aprovisione capacidad adicional cuando se prevea que la capacidad será igual o muy cercana al tamaño máximo de su grupo, especifique las MaxCapacityBuffer propiedades MaxCapacityBreachBehavior y, como se muestra en el siguiente ejemplo. Debe especificar MaxCapacityBreachBehavior con un valor de IncreaseMaxCapacity. El número máximo de instancias que el grupo puede tener depende del valor de MaxCapacityBuffer.

{ "MetricSpecifications": [ { "TargetValue": 70, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization" } } ], "MaxCapacityBreachBehavior": "IncreaseMaxCapacity", "MaxCapacityBuffer": 10 }

En este ejemplo, la política está configurada para utilizar un búfer del 10 por ciento ("MaxCapacityBuffer": 10), de forma que si la capacidad prevista es de 50 y la capacidad máxima es de 40, la capacidad máxima efectiva es de 55. Una política que pueda escalar la capacidad por encima de la capacidad máxima para que sea igual a la capacidad prevista, pero no mayor, tendría un búfer de 0 ("MaxCapacityBuffer": 0).

Para crear esta política, ejecute el put-scaling-policycomando con el archivo de configuración especificado, como se muestra en el siguiente ejemplo.

aws autoscaling put-scaling-policy --policy-name cpu70-predictive-scaling-policy \ --auto-scaling-group-name my-asg --policy-type PredictiveScaling \ --predictive-scaling-configuration file://config.json

Si se ejecuta correctamente, este comando devuelve el nombre de recurso de Amazon (ARN) de la política.

{ "PolicyARN": "arn:aws:autoscaling:region:account-id:scalingPolicy:d02ef525-8651-4314-bf14-888331ebd04f:autoScalingGroupName/my-asg:policyName/cpu70-predictive-scaling-policy", "Alarms": [] }