Anulación de valores de pronóstico mediante acciones programadas - 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.

Anulación de valores de pronóstico mediante acciones programadas

A veces, es posible que tenga información adicional sobre los requisitos futuros de la aplicación que el cálculo del pronóstico no pueda tener en cuenta. Por ejemplo, los cálculos de pronóstico podrían subestimar la capacidad necesaria para un próximo evento de marketing. Puede utilizar acciones programadas para anular temporalmente el pronóstico durante periodos futuros. Las acciones programadas se pueden ejecutar de forma periódica, o en una fecha y hora específicas cuando hay fluctuaciones de demanda únicas.

Por ejemplo, puede crear una acción programada con una capacidad mínima superior a la pronosticada. En tiempo de ejecución, Amazon EC2 Auto Scaling actualiza la capacidad mínima del grupo de Auto Scaling. Dado que el escalado predictivo optimiza la capacidad, se cumple una acción programada con una capacidad mínima superior a los valores del pronóstico. Esto evita que la capacidad sea menor que lo esperado. Para dejar de anular el pronóstico, utilice una segunda acción programada para devolver la capacidad mínima a su configuración original.

En el siguiente procedimiento se describen los pasos para anular el pronóstico durante periodos futuros.

importante

En este tema se supone que está intentando anular la previsión para escalar a una capacidad superior a la prevista. Si necesita reducir temporalmente la capacidad sin la interferencia de una política de escalado predictivo, utilice en su lugar el modo de solo previsión. Mientras esté en el modo de solo previsión, el escalado predictivo seguirá generando previsiones, pero no aumentará automáticamente la capacidad. A continuación, puede supervisar la utilización de los recursos y reducir manualmente el tamaño del grupo según sea necesario. Para obtener más información sobre el escalado manual, consulteEscalado manual para Amazon EC2 Auto Scaling.

Paso 1: (opcional) Analizar los datos de serie temporal

Para comenzar, analice los datos de serie temporal del pronóstico. Este es un paso opcional, pero resulta útil si desea comprender los detalles del pronóstico.

  1. Recuperar el pronóstico

    Una vez creado el pronóstico, puede consultar un periodo específico en el pronóstico. El objetivo de la consulta es obtener una vista completa de los datos de serie temporal para un periodo específico.

    La consulta puede incluir hasta dos días de datos de pronósticos futuros. Si hace tiempo utiliza el escalado predictivo, también puede acceder a los datos de pronóstico anteriores. Sin embargo, la duración máxima entre la hora de inicio y la hora de finalización es de 30 días.

    Para obtener la previsión mediante el get-predictive-scaling-forecast AWS CLI comando, introduzca los siguientes parámetros en el comando:

    • Ingrese el nombre del grupo de escalado automático en el parámetro --auto-scaling-group-name.

    • Ingrese el nombre de la política en el parámetro --policy-name.

    • Indique la hora de inicio en el parámetro --start-time para devolver solo los datos pronosticados para la hora especificada o con posterioridad.

    • Indique la hora de finalización en el parámetro --end-time para devolver solo los datos pronosticados para antes de la hora especificada.

    aws autoscaling get-predictive-scaling-forecast --auto-scaling-group-name my-asg \ --policy-name cpu40-predictive-scaling-policy \ --start-time "2021-05-19T17:00:00Z" \ --end-time "2021-05-19T23:00:00Z"

    Si se ejecuta correctamente, el comando devuelve datos similares al ejemplo siguiente.

    { "LoadForecast": [ { "Timestamps": [ "2021-05-19T17:00:00+00:00", "2021-05-19T18:00:00+00:00", "2021-05-19T19:00:00+00:00", "2021-05-19T20:00:00+00:00", "2021-05-19T21:00:00+00:00", "2021-05-19T22:00:00+00:00", "2021-05-19T23:00:00+00:00" ], "Values": [ 153.0655799339254, 128.8288551285919, 107.1179447150675, 197.3601844551528, 626.4039934516954, 596.9441277518481, 677.9675713779869 ], "MetricSpecification": { "TargetValue": 40.0, "PredefinedMetricPairSpecification": { "PredefinedMetricType": "ASGCPUUtilization" } } } ], "CapacityForecast": { "Timestamps": [ "2021-05-19T17:00:00+00:00", "2021-05-19T18:00:00+00:00", "2021-05-19T19:00:00+00:00", "2021-05-19T20:00:00+00:00", "2021-05-19T21:00:00+00:00", "2021-05-19T22:00:00+00:00", "2021-05-19T23:00:00+00:00" ], "Values": [ 2.0, 2.0, 2.0, 2.0, 4.0, 4.0, 4.0 ] }, "UpdateTime": "2021-05-19T01:52:50.118000+00:00" }

    La respuesta incluye dos pronósticos: LoadForecast yCapacityForecast. LoadForecastmuestra la previsión de carga horaria. CapacityForecastmuestra los valores de previsión de la capacidad que se necesita cada hora para gestionar la carga prevista y, al mismo tiempo, mantener un valor TargetValue de 40,0 (una CPU utilización media del 40%).

  2. Identifique el periodo de destino

    Identifique la o las horas en las que debe tener lugar la fluctuación de la demanda única. Recuerde que las fechas y horas que se muestran en la previsión están incluidas. UTC

Paso 2: Crear dos acciones programadas

A continuación, cree dos acciones programadas para un periodo específico en el que la aplicación tendrá una carga superior a la pronosticada. Por ejemplo, si tiene un evento de marketing que incrementará el tráfico hacia su sitio durante un periodo de tiempo limitado, puede programar una acción única para actualizar la capacidad mínima cuando comience. A continuación, programe otra acción para devolver la capacidad mínima a la configuración original cuando el evento finalice.

Para crear dos acciones programadas para eventos únicos (consola)
  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 Escalado automático, en Acciones programadas, elija Crear acción programada.

  4. Rellene los siguientes ajustes para la acción configuración:

    1. Ingrese un Name (Nombre) para la acción programada.

    2. Para Min (Mínimo), ingrese la nueva capacidad mínima para el grupo de escalado automático. Min debe ser menor o igual que el tamaño máximo del grupo. Si el nuevo valor de Min es mayor que el tamaño máximo del grupo, debe actualizar Max (Máximo).

    3. En Recurrencia, elija Una vez.

    4. En Time zone (Zona horaria), elija una zona horaria. Si no se elige ninguna zona horaria, se utiliza ETC/UTC de forma predeterminada.

    5. Defina Specific start time (Hora de inicio específica).

  5. Seleccione Crear.

    La consola muestra las acciones programadas para el grupo de escalado automático.

  6. Configure una segunda acción programada para que la capacidad mínima recupere la configuración original al final del evento. El escalado predictivo puede escalar la capacidad únicamente cuando el valor establecido para Min (Mínimo) es menor que los valores del pronóstico.

Para crear dos acciones programadas para eventos únicos (AWS CLI)

Para utilizar el AWS CLI para crear las acciones programadas, utilice el comando put-scheduled-update-group-action.

Por ejemplo, definamos una programación que mantenga una capacidad mínima de tres instancias el 19 de mayo a las 17:00 durante ocho horas. En los siguientes comandos se muestra cómo implementar este escenario.

El primer comando put-scheduled-update-group-action indica a Amazon EC2 Auto Scaling que actualice la capacidad mínima del grupo de Auto Scaling especificado a las 17:00 horas del 19 de UTC mayo de 2021.

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-event-start \ --auto-scaling-group-name my-asg --start-time "2021-05-19T17:00:00Z" --minimum-capacity 3

El segundo comando indica a Amazon EC2 Auto Scaling que establezca la capacidad mínima del grupo en una a la 1:00 a.m. del 20 de UTC mayo de 2021.

aws autoscaling put-scheduled-update-group-action --scheduled-action-name my-event-end \ --auto-scaling-group-name my-asg --start-time "2021-05-20T01:00:00Z" --minimum-capacity 1

Tras añadir estas acciones programadas al grupo Auto Scaling, Amazon EC2 Auto Scaling hace lo siguiente:

  • A las 17:00 horas UTC del 19 de mayo de 2021, se ejecuta la primera acción programada. Si el grupo tiene actualmente menos de tres instancias, el grupo se escala horizontalmente hasta tres instancias. Durante este tiempo y durante las próximas ocho horas, Amazon EC2 Auto Scaling puede seguir escalando si la capacidad prevista es superior a la capacidad real o si existe una política de escalado dinámico en vigor.

  • A la 1:00 a.m. UTC del 20 de mayo de 2021, se ejecutará la segunda acción programada. Esto devuelve la capacidad mínima a la configuración original al final del evento.

Escalado basado en programaciones recurrentes

Para anular el pronóstico para el mismo periodo cada semana, cree dos acciones programadas y proporcione la lógica de fecha y hora utilizando una expresión cron.

El formato de una expresión cron consta de cinco campos separados por espacios: [minuto] [hora] [día_del_mes] [mes_del_año] [día_de_la_semana]. Los campos pueden contener cualquier valor permitido, incluidos caracteres especiales.

Por ejemplo, la siguiente expresión cron ejecuta una acción todos los martes a las 6:30. El asterisco se utiliza como comodín para coincidir con todos los valores de un campo.

30 6 * * 2

Véase también

Para obtener más información acerca de cómo crear, enumerar, editar y eliminar acciones programadas, consulte Escalado programado para Amazon EC2 Auto Scaling.