Escala automática

La escala automática permite ajustar automáticamente el número o el estado del ciclo de vida de instancias informáticas en un pool de instancias. Esto le ayuda a proporcionar un rendimiento constante para sus usuarios finales durante los períodos de alta demanda y le ayuda a reducir sus costos durante los períodos de baja demanda.

Puede aplicar los siguientes tipos de escala automática a un pool de instancias:

La escala automática es compatible con pools de instancias de máquina virtual (VM) y con hardware dedicado que utilizan unidades estándar, de E/S densa y GPU.

Puede realizar las siguientes tareas con la escala automática.

Cómo funciona la escala automática: principios básicos

Utilice configuraciones de escala automática para gestionar automáticamente el tamaño y el estado del ciclo de vida de los pools de instancias. Cuando la escala automática aprovisiona instancias automáticamente en un pool de instancias, el pool se amplía. Cuando la escala automática elimina instancias del pool, este se reduce. También puede utilizar la escala automática para parar e iniciar instancias en un pool de instancias en función de un programa.

Cuando se reduce un pool de instancias, las instancias se terminan (se suprimen). Las instancias se terminan en este orden: el número de instancias se equilibra en los dominios de disponibilidad y, a continuación, se equilibra en los dominios de errores. Finalmente, en un dominio de errores, primero termina la instancia más antigua.

Una configuración de escala automática incluye una o más políticas de escala automática. Estas políticas definen los criterios que activan las acciones de escala automática y las acciones que se deben realizar. Cada configuración de escala automática puede tener una política de escala automática basada en métricas o varias políticas de escala automática basada en el programa. Puede agregar un máximo de 50 políticas de escala automática basada en el programa a una configuración de escala automática.

Cada pool de instancias solo puede tener una configuración de escala automática.

Escala automática basada en métricas

En la escala automática basada en métricas, seleccione una métrica de rendimiento para supervisar y establezca los umbrales a los que debe llegar la métrica de rendimiento para activar un evento de escala automática. Cuando el uso del sistema alcanza un umbral, la escala automática cambia dinámicamente el tamaño del pool de instancias casi en tiempo casi real. A medida que aumenta la carga, el pool se amplía. A medida que disminuye la carga, la agrupación se reduce.
Consejo

Evite cambiar el valor asignado al número inicial de instancias después de escalar el pool. Si se reduce este valor después de aumentar el número de instancias del tamaño del pool, las instancias del pool terminarán. Si necesita cambiar este valor, el nuevo valor debe ser igual o superior al número de instancias actualmente en el pool.

La escala automática basada en métricas se basa en métricas de rendimiento recopiladas por el servicio de supervisión , como la utilización de la CPU. Estas métricas de rendimiento se agregan a períodos de tiempo de un minuto y, a continuación, se realiza la media entre todas las instancias del pool de instancias. Cuando tres valores consecutivos (es decir, la media de métricas durante tres minutos consecutivos) alcanzan el umbral, se desencadena un evento de escala automática.

Un período de refrigeración entre los eventos de escala automática basada en métricas permite que el sistema se estabilice en el nivel actualizado. El período de refrigeración comienza cuando el pool de instancias alcanza el estado En ejecución. La escala automática continúa evaluando las métricas de rendimiento durante el período de refrigeración. Cuando finaliza el período de refrigeración, la escala automática ajusta de nuevo el tamaño del pool de instancias si es necesario.

Escala automática basada en el programa

Puede utilizar la escala automática basada en el programa para escalar el tamaño del pool en función de la demanda o para parar e iniciar instancias en un programa.

La escala automática basada en el programa es ideal para pools de instancias en las que la demanda se comporta de forma previsible en función de un programa, como un mes, una fecha o una hora del día. Los programas pueden ser recurrentes u ocasionales. Por ejemplo:

  • Un pool de instancias está muy ocupado durante el horario laborable. El pool está menos ocupado por las tardes y durante los fines de semana. Puede programar el pool para que se amplíe por las mañanas durante los días de la semana y se reduzca por las tardes durante estos días.
  • Un pool de instancias tiene una alta demanda durante la Nochevieja. Puede programar el pool para que cada año se amplíe el 30 de diciembre y se reduzca el 2 de enero.
  • Va a publicar una nueva aplicación que se ejecuta en el pool de instancias y prevé que muchas personas empezarán a utilizarla después del anuncio público. Puede programar las instancias del pool con antelación para que se inicien el día de la publicación.

Una configuración de escala automática basada en el programa puede tener varias políticas de escala automática, cada una de ellas con un programa y un tamaño de pool de destino o acción de ciclo de vida diferentes. Si desea configurar eventos para reducir y escalar horizontalmente, debe crear al menos dos políticas independientes. Una política define el tamaño y el programa del pool de destino para reducir horizontalmente, y la otra política define el tamaño y el programa del pool de destino para escalar horizontalmente. Asimismo, si desea programar eventos de parada e inicio, debe crear al menos dos políticas independientes. Una política define la acción de ciclo de vida y el programa para parar las instancias, y la otra política define la acción de ciclo de vida y el programa para iniciar las instancias.

Después de ejecutar una política de escala automática basada en el programa, el pool de instancias mantiene el tamaño del pool de destino o el estado del ciclo de vida hasta que algo cambia el tamaño del pool o el estado del ciclo de vida, como una política de escala automática diferente. Sin embargo, si cambia manualmente el tamaño del pool o el estado del ciclo de vida, la escala automática basada en el programa no reajusta el tamaño del pool o el estado del ciclo de vida hasta que se ejecute la siguiente política de escala automática programada.

Al utilizar la escala automática basada en el programa para parar o reiniciar instancias, se conserva la información sobre las instancias. Cuando las instancias se inician después de un cierre, se devuelven al estado en el que se encontraban antes de que se produjera el cierre.

Puede definir programas de escala automática mediante expresiones cron. La escala automática utiliza la implantación de cron de Quartz. Puede utilizar un generador de expresiones cron en línea para verificar las expresiones cron; un ejemplo es FREEFORMATTER.

Proporcione todas las horas en UTC.

Nota

Las configuraciones de escala automática basada en el programa incluyen un atributo para el período de refrigeración, que verá en la consola y cuando utilice la API, los SDK y la CLI. Sin embargo, el período de refrigeración no afecta a las configuraciones de escala automática basada en el programa.

Gestión de varios programas

Si existen varias políticas de escala automática basadas en el programa, los programas pueden entrar en conflicto. Si se produce un conflicto, Oracle elige una política de estado del ciclo de vida y una política de escala automática para ejecutarse. La política de estado del ciclo de vida se ejecuta primero.

Para la política de estado del ciclo de vida, se elige la política con la acción de mayor prioridad. Las acciones se priorizan de la siguiente manera, enumeradas de la prioridad más alta a la más baja:

  • Forzar reinicio
  • Reiniciar
  • Iniciar
  • Forzar parada
  • Para

Para la política de escala automática, se selecciona la política con el recuento de instancias más alto.

Para ver cómo se espera que el programa de escala automática afecte al tamaño del pool en el futuro, consulte la previsión del tamaño del pool.

Acerca de las expresiones cron

Una expresión cron es una cadena compuesta por seis o siete campos que representan las diferentes partes de un programa, como las horas o los días de la semana. Las expresiones Cron utilizan este formato:

<second> <minute> <hour> <day of month> <month> <day of week> <year>

Expresiones cron

En la siguiente tabla se muestran los valores y caracteres especiales permitidos para cada campo.

Campo Valores permitidos Caracteres especiales permitidos
Segundo

0

Nota: Al utilizar la API, la CLI o los SDK para la escala automática, debe especificar 0 como el valor para los segundos, aunque otros valores creen una expresión cron válida. No necesita proporcionar ningún valor para los segundos al utilizar la consola.

Ninguno
Minuto 0-59 * - , /
Hora 0-23 * - , /
Día del mes 1-31 * - , ? / L W
Mes 1-12 o ENE-DIC * - , /
Día de la semana 1-7 o DOM-SAB * - , ? / L #
Año 1970-2099 * - , /

En la siguiente tabla se describen los caracteres especiales.

Carácter especial Descripción Ejemplo
* Indica todos los valores de un campo. * en el campo Mes significa cada mes.
- Indica un rango de valores. 8-17 en el campo Hora significa de 8:00 a 17:00 horas o de 8 a.m. a 5 p.m.
, Indica varios valores. 3,5 en el campo Día de la semana significa martes y jueves.
?

Indica que no hay valores específicos.

Cuando desee especificar un día del mes, utilice ? en el campo Día de la semana.

Cuando desee especificar un día de la semana, utilice ? en el campo Día del mes.

0 0 10 ? * LUN * significa 10 a.m. todos los lunes.
/ Utilice n/m para indicar incrementos. El valor que aparece antes de la barra inclinada es la hora de inicio y el número que aparece después es el valor del incremento. 0/20 en el campo Minuto significa los minutos 0, 20 y 40.
L

Último día de la semana o último día del mes.

Utilice xL en el campo Día de la semana para indicar el último día x del mes.

Utilice L-n en el campo Día del mes para indicar una compensación de n días a partir del último día del mes.

No utilice L con varios valores o un rango de valores.

L en el campo Día del mes significa 31 de enero, 28 de febrero en años no bisiestos, etc.

6L en el campo Día de la semana significa el último viernes del mes.

L-5 significa 5 días antes del último día del mes.

W

El día de la semana (lunes - viernes) más cercano al día correspondiente.

El valor no cruza meses.

Puede combinar los caracteres L y W (LW) en el campo Día del mes para indicar el último día de la semana del mes.

No utilice W con varios valores o un rango de valores.

10W significa el día de la semana más cercano al día 10 del mes. Si el 10 es sábado, significa el viernes 9. Si el 10 es domingo, significa el lunes 11. Si el 10 es un miércoles, significa el miércoles 10.
# Utilice x#n para indicar el nº x día del mes. 5#2 significa el segundo jueves del mes.

Expresiones cron de ejemplo

Utilice estas expresiones cron de ejemplo como punto de partida para crear sus propios programas de escala automática. Combine cada expresión cron con un tamaño de pool de destino para crear una política de escala automática. A continuación, incluya una o más políticas de escala automática en una configuración de escala automática.

Ejemplos de cron

Objetivo: un programa ocasional con un solo evento de escala. A las 11:00 p.m. del 31 de diciembre de 2020, amplíe un pool de instancias a 100 instancias. Necesitará una política de escala automática.

  • Política 1:

    • Tamaño del pool de destino: 100 instancias
    • Hora de ejecución: 11:00 p.m. el 31 de diciembre, en 2020
    • Expresión cron: 0 0 23 31 12 ? 2020

Objetivo: un programa ocasional con un evento de ampliación y un evento de reducción. A las 10:00 a.m. del 1 de marzo de 2021, amplíe a 75 instancias. A las 4 p.m. del 7 de marzo de 2021, reduzca a 30 instancias. Necesitará dos políticas de escala automática.

  • Política 1 - Ampliación:

    • Tamaño del pool de destino: 75 instancias
    • Hora de ejecución: 10:00 a.m. el primer día de marzo, en 2021
    • Expresión cron: 0 0 10 1 3 ? 2021
  • Política 2 - Reducción:

    • Tamaño del pool de destino: 30 instancias
    • Hora de ejecución: 4:00 p.m. el séptimo día de marzo, en 2021
    • Expresión cron: 0 0 16 7 3 ? 2021

Objetivo: un programa diario recurrente. Por las mañanas durante los días de la semana a las 8:30 a.m., amplíe a 10 instancias. Por las tardes durante los días de la semana a las 6 p.m., reduzca a dos instancias. Necesitará dos políticas de escala automática.

  • Política 1 - Ampliación por la mañana:

    • Tamaño del pool de destino: 10 instancias
    • Hora de ejecución: 8:30 a.m. todos los lunes a viernes, cada mes, cada año
    • Expresión cron: 0 30 8 ? * LUN-VIE *
  • Política 2 - Reducción por la tarde:

    • Tamaño del pool de destino: 2 instancias
    • Hora de ejecución: 6:00 p.m. todos los lunes a viernes, cada mes, cada año
    • Expresión cron: 0 0 18 ? * LUN-VIE *

Objetivo: un programa semanal recurrente. Los martes y jueves, amplíe el pool a 30 instancias. Para los demás días de la semana, reduzca el pool a 20 instancias. Necesitará dos políticas de escala automática.

  • Política 1 - Martes y jueves:

    • Tamaño del pool de destino: 30 instancias
    • Hora de ejecución: 1 a.m. todos los martes y jueves, cada mes, cada año
    • Expresión cron: 0 0 1 ? * MAR,JUE *
  • Política 2 - El resto de los días:

    • Tamaño del pool de destino: 20 instancias
    • Hora de ejecución: 1 a.m. de domingo a lunes, miércoles y de viernes a sábado, cada mes, cada año
    • Expresión cron: 0 0 1 ? * DOM-LUN, MIÉ,VIE-SÁB *

Objetivo: un programa mensual recurrente. Para todos los días del mes, establezca el tamaño del pool en 20 instancias. El día 15 del mes, amplíe a 40 instancias. Necesitará dos políticas de escala automática.

  • Política 1 - Tamaño de pool diario:

    • Tamaño del pool de destino: 20 instancias
    • Hora de ejecución: medianoche todos los días, cada mes, cada año
    • Expresión cron: 0 0 * * * ? *
  • Política 2 - Ampliación:

    • Tamaño del pool de destino: 40 instancias
    • Hora de ejecución: 12:05 a.m. el día 15 del mes, cada mes, cada año
    • Expresión cron: 0 5 0 15 *? *

Política de IAM necesaria

Para utilizar Oracle Cloud Infrastructure, un administrador debe ser miembro de un grupo al que se le haya otorgado acceso de seguridad en una política por parte de un administrador de arrendamiento. Este acceso es necesario tanto si utiliza la Consola como la API de REST con un SDK, una CLI u otra herramienta. Si recibe un mensaje que indique que no tiene permiso o no está autorizado, verifique con su administrador de arrendamiento el tipo de acceso y el compartimento en el que funciona su acceso.

Para administradores: para ver una política típica que da acceso a configuraciones de escala automática, consulte Permitir que los usuarios gestionen configuraciones de escala automática de Compute.

Etiquetado de recursos

Puede aplicar etiquetas a los recursos para facilitar su organización según las necesidades de su negocio. Puede aplicar etiquetas al crear un recurso y actualizar un recurso más tarde para agregar, revisar o eliminar etiquetas. Para obtener información general sobre la aplicación de etiquetas, consulte Etiquetas de recursos.

Requisitos para la escala automática