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 escalado automático. 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.

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 y CapacityForecast. LoadForecast muestra el pronóstico de carga por hora. CapacityForecast muestra los valores pronosticados para la capacidad que se necesita cada hora para gestionar la carga pronosticada mientras se mantiene un TargetValue de 40,0 (una utilización media de la CPU 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 aparecen en el pronóstico están en 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. 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. 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 Recurrence (Recurrencia), elija Once (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 comando first 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 UTC del 19 de 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 uno a la 1:00 (UTC) del 20 de 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

Después de agregar estas acciones programadas al grupo de escalado automático, Amazon EC2 Auto Scaling realiza lo siguiente:

  • A las 17:00 (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 siguientes ocho horas, Amazon EC2 Auto Scaling puede seguir escalando horizontalmente 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 (UTC) del 20 de mayo de 2021, se ejecuta 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.