Ajuste la cantidad de réplicas con base en programaciones predefinidas. Escale horizontalmente antes de los picos de tráfico y reduzca la escala durante las horas de menor demanda para optimizar costos.
Configuración desde la consola
Habilitar el escalado automático programado
Inicie sesión en la PAI console. Seleccione una región en la parte superior de la página. Después, seleccione el espacio de trabajo deseado y haga clic en Enter Elastic Algorithm Service (EAS).
En la lista de servicios, haga clic en el servicio objetivo para abrir su página Overview.
En la pestaña Auto Scaling, dentro de la sección Scheduled Scaling, haga clic en Enable Scheduled Scaling.
-
En el cuadro de diálogo CronHPA Settings, configure a continuación los parámetros indicados. Haga clic en Add para agregar varias tareas. Al finalizar, haga clic en OK.
Parámetro
Descripción
Task Name
Nombre de la tarea de escalado programado.
Target Replicas
Cantidad objetivo de réplicas.
Scaling Schedule
Hora de ejecución de la tarea. Establezca este valor con una de las siguientes opciones:
-
Week: programación semanal recurrente.
-
Day: programación diaria recurrente.
-
Cron Expression: programación personalizada mediante una cron expression.
-
Actualizar la configuración
En la pestaña Auto Scaling, dentro de la sección CronHPA, haga clic en Manage CronHPA.
En el cuadro de diálogo CronHPA Settings, modifique Task Name, Target Replicas o Scaling Schedule según sea necesario.
Haga clic en Update.
Deshabilitar el escalado automático programado
En la pestaña Auto Scaling, dentro de la sección CronHPA, haga clic en Disable Scheduled Scaling.
En el cuadro de diálogo Confirm Disable, haga clic en Confirm.
Configuración desde un cliente local
Habilitar o actualizar el escalado automático programado
El escalado programado está deshabilitado de forma predeterminada. Inicie sesión en el cliente eascmd y ejecute el subcomando cronscale para habilitarlo o actualizarlo. Para consultar las instrucciones de inicio de sesión, consulte Download and authenticate the client.
Formato del comando (Windows de 64 bits)
eascmdwin64.exe cronscale [region]/[service_name] -s cronscale.json
Configure el archivo cronscale.json como se indica en a continuación tabla. Ejemplo de configuración:
{
"ExcludeDates": ["* * * * * 6,0"],
"ScaleJobs": [
{
"Schedule": "0 15.45 * * * *",
"TargetSize": 6
},
{
"Schedule": "0 0.30 * * * *",
"TargetSize": 1
},
{
"Schedule": "0 7.22.37.52 * * * *",
"TargetSize": 3
}
]
}
|
Parámetro |
Descripción |
Ejemplo |
|
ExcludeDates |
Horarios excluidos especificados como expresiones cron. Las tareas programadas que coinciden con estas expresiones se omiten. Para conocer la sintaxis de las expresiones cron, consulte Cron expressions. Nota
Si una expresión cron en |
[" * 0,6"] Las tareas de escalado programado no se ejecutan los sábados ni los domingos. |
|
ScaleJobs |
Tareas de escalado programado. Cada tarea contiene los parámetros Schedule, TargetSize y Name:
|
[ { "Schedule": "0 0 18 ", "TargetSize": 10, "Name": "scale-up" }, { "Schedule": "0 0 22 ", "TargetSize": 3, "Name": "scale-down" }] Escala horizontalmente a 10 réplicas todos los días a las 18:00 y reduce la escala a 3 réplicas todos los días a las 22:00. |
Consultar las configuraciones
Formato del comando (Windows de 64 bits)
eascmdwin64.exe cronscale show [region]/[service_name]
[RequestId]: F4C38D2D-4B38-5CB7-B706-9A1C41D4617E
+--------------+----------------------------+---------+------------+----------------------+
| NAME | SCHEDULE | STATE | TARGETSIZE | LASTPROBETIME |
+--------------+----------------------------+---------+------------+----------------------+
| scale-jobs-1 | 0 5,15,25,35,45,55 * * * * | Succeed | 1 | 2022-03-03T13:45:00Z |
| scale-jobs-0 | 0 0,10,20,30,40,50 * * * * | Succeed | 4 | 2022-03-03T13:50:00Z |
+--------------+----------------------------+---------+------------+----------------------+
Deshabilitar el escalado automático programado
Formato del comando (Windows de 64 bits)
eascmdwin64.exe cronscale rm [region]/[service_name]
Compatibilidad entre el escalado automático programado y el horizontal
El escalado programado (Cronscaler) y el escalado automático horizontal (Autoscaler) pueden ejecutarse de forma simultánea. Cuando ambos están habilitados, Cronscaler modifica los valores min o max de Autoscaler.
Cronscaler modifica de forma permanente la configuración de Autoscaler. La configuración original permanece vigente hasta el siguiente evento de escalado programado. Las actualizaciones o mejoras del servicio revierten los ajustes de Autoscaler a sus valores originales.
A continuación se muestran las reglas que determinan los valores min y max cuando ambas funciones están habilitadas.
|
Mínimo/máximo del escalado automático horizontal |
Escalado automático programado |
Cantidad actual de réplicas |
Resultado final |
Descripción |
|
1/10 |
5 |
5 |
|
El objetivo coincide con la cantidad actual de réplicas. No se aplica ningún cambio. |
|
1/10 |
4 |
5 |
|
El objetivo es menor que la cantidad actual de réplicas. Se conserva la cantidad existente. |
|
1/10 |
6 |
5 |
|
|
|
5/10 |
4 |
5 |
|
|
|
5/10 |
11 |
5 |
|
|
Expresiones cron
El escalado programado utiliza expresiones cron para definir la programación de las tareas.
Expresión cron 
-
Caracteres especiales
-
Asterisco (*)
Representa cualquier valor. Por ejemplo,
0 0 0 1 * *representa las 00:00 del primer día de cada mes. -
Guion (-)
Representa un rango continuo de valores. Por ejemplo,
0 0 12-14 * * *representa las 12:00, 13:00 y 14:00 de todos los días. -
Coma (,)
Representa varios valores discretos. Por ejemplo,
0 0 12,14 * * *representa las 12:00 y las 14:00 de todos los días. -
Barra diagonal (/)
Representa un intervalo incremental. Por ejemplo,
0 */15 * * * *se activa en los minutos 0, 15, 30 y 45 de cada hora. Este carácter se combina con el guion (-). Por ejemplo,0 5-40/15 * * * *se activa cada 15 minutos desde el minuto 5 hasta el minuto 40 de cada hora. Los puntos válidos son los minutos 5, 20 y 35 después de la hora.
-
-
Descripción de los parámetros de tiempo
Nombre
Valores válidos
Caracteres especiales válidos
Segundo
0-59
* / , -
Minuto
0-59
* / , -
Hora
0-23
* / , -
Día
1-31
* / , -
Mes
1-12 o JAN-DEC
* / , -
Semana
0-6 o SUN-SAT
* / , -
Preguntas frecuentes
-
¿Cómo uso el escalado programado para iniciar y detener un servicio automáticamente?
Establezca la cantidad de réplicas en un valor positivo para iniciar el servicio y en cero para detenerlo.
Configure dos tareas programadas:
Escalar horizontalmente (iniciar): escale
Expected Instancesa1a la hora de inicio deseada (por ejemplo, 8:00 AM).Reducir la escala (detener): reduzca
Expected Instancesa0a la hora de detención deseada (por ejemplo, 8:00 PM).
El servicio se ejecuta y genera costos únicamente durante las horas activas programadas.


Referencias
Para el escalado automático basado en métricas, habilite el escalado automático horizontal. Para obtener más información, consulte Horizontal auto scaling.
Para contar con capacidad de escalado ilimitada en grupos de recursos dedicados, utilice el pool de recursos elásticos de EAS. Para obtener más información, consulte Elastic resource pool.