Referencia de período - Programador de instancias de AWS

Referencia de período

Los períodos contienen condiciones que permiten establecer las horas, los días y los meses específicos en los que se ejecutará una instancia. Un período puede contener varias condiciones, pero todas ellas deben cumplirse para que el programador de instancias de AWS aplique la acción de inicio o detención adecuada.

Horas de inicio y detención

Los campos begintime y endtime definen cuándo iniciará y detendrá las instancias el programador de instancias de AWS. Si solo especifica una hora de inicio, la instancia debe detenerse de forma manual. Tenga en cuenta que si especifica un valor en el campo weekdays, la solución utiliza ese valor para determinar cuándo detener la instancia. Por ejemplo, si especifica las 9:00 h como begintime sin endtime y un valor de días laborables de lunes a viernes, la instancia se detendrá el viernes a las 23:59 h, a menos que haya programado un período adyacente.

De forma similar, si solo especifica una hora de detención, la instancia debe iniciarse manualmente. Si no especifica ninguna hora, esta solución utilizará las reglas de los días de la semana, los días del mes o los meses para iniciar y detener las instancias al principio o al final de cada día, según corresponda.

Los valores begintime y endtime de su período deben estar en la zona horaria especificada en la programación. Si no especifica una zona horaria en la programación, la solución utilizará la especificada al lanzar la solución.

Si su programación contiene varios períodos, recomendamos que especifique siempre tanto un valor begintime como endtime en sus períodos.

Si inicia una instancia antes de la hora de inicio especificada, la instancia se ejecutará hasta el final del período de ejecución. Por ejemplo, un usuario puede definir un período en el que se inicie una instancia todos los días a las 9:00 h y se detenga a las 17:00 h.

Inicio y detención programados de 9:00 h a 17:00 h

image6

Si inicia esa instancia de forma manual a las 5:00 h, la solución detendrá la instancia a las 17:00 h. Si utiliza el campo retain_running, la solución no detendrá la instancia a las 17:00 h.

Detención programada a las 5:00 h

image7

Si detiene una instancia antes de la hora de detención especificada, la instancia no se ejecutará hasta el comienzo del siguiente período de ejecución. Prosigamos con el ejemplo anterior: si el usuario detiene la instancia el miércoles a las 13:00 h, la solución no iniciará la instancia hasta el jueves a las 9:00 h.

Cronología que muestra el inicio programado a las 9:00 h., la detención manual a las 13:00 h y la detención programada a las 17:00 h.

image8

Períodos adyacentes

La solución no detendrá las instancias en ejecución si la programación contiene dos períodos de ejecución adyacentes. Por ejemplo, si tiene una programación con un período cuyo valor endtime son las 23:59 h y otro período cuyo valor begintime es la medianoche del día siguiente, la solución no detendrá las instancias en ejecución si no hay reglas de weekdays, monthdays o months que detengan las instancias.

Para implementar una programación que ejecute instancias de lunes a las 9:00 h a viernes a las 17:00 h, la solución requiere tres períodos. El primer período ejecuta las instancias aplicables el lunes de 9:00 h a 23:59 h. El segundo período ejecuta las instancias de martes a medianoche a jueves a las 23:59 h. El tercer período ejecuta las instancias el viernes de medianoche a 17:00 h. Para obtener más información, consulte Programaciones de ejemplo.

Días de la semana

El campo weekdays define los días de la semana en los que se ejecutará una instancia. Puede especificar una lista de días, un intervalo de días, la aparición X de ese día en un mes o su última aparición en un mes. La solución admite nombres de días abreviados (lun.) y números (0).

Días del mes

El campo monthdays define los días del mes durante los que se ejecutará una instancia. Puede especificar una lista de días, un intervalo de días, cada día X del mes, el último día del mes o el día laborable más próximo a una fecha específica.

Meses

El campo months define los meses en los que se ejecutará una instancia. Puede especificar una lista de meses, un intervalo de meses o cada mes X. La solución admite nombres de meses abreviados (en.) y números (1).

Definiciones de período

La tabla de configuración del programador de instancias de AWS de Amazon DynamoDB contiene definiciones de período. Una definición de período puede incluir los campos siguientes. Tenga en cuenta que algunos campos admiten caracteres cron no estándar.

importante

Debe especificar al menos uno de los siguientes elementos: begintime, endtime, weekdays, months o monthdays.

Campo Descripción

begintime

Hora a la que se iniciará la instancia, con formato HH:MM.

description

Descripción opcional del período.

endtime

Hora a la que se detendrá la instancia, con formato HH:MM.

months

Especifique una lista delimitada por comas de meses, o un intervalo de meses separados por guiones, durante los cuales se ejecutará la instancia. Por ejemplo, especifique jan, feb, mar o 1, 2, 3 para ejecutar una instancia durante esos meses. O bien, puede especificar jan-mar o 1-3.

También puede programar una instancia para que se ejecute cada mes X o cada mes X de un intervalo. Por ejemplo, especifique Jan/3 o 1/3 para ejecutar una instancia cada tres meses a partir de enero. Especifique Jan-Jul/2 para que la ejecución se realice una vez cada dos meses, de enero a julio.

monthdays

Especifique una lista delimitada por comas de los días del mes, o un intervalo de días separados por guiones, durante los cuales se ejecutará la instancia. Por ejemplo, especifique 1, 2, 3 o 1-3 para ejecutar una instancia durante los tres primeros días del mes. También puede especificar varios intervalos. Por ejemplo, especifique 1-3, 7-9 para ejecutar una instancia del 1 al 3 y del 7 al 9.

También puede programar una instancia para que se ejecute cada día X del mes o cada día X del mes de un intervalo. Por ejemplo, especifique 1/7 para ejecutar una instancia cada siete días a partir del 1. Especifique 1-15/2 para ejecutar una instancia cada dos días del 1 al 15.

Especifique L para ejecutar una instancia el último día del mes. Especifique una fecha y W para ejecutar una instancia el día laborable más próximo a la fecha especificada. Por ejemplo, especifique 15W para ejecutar una instancia el día laborable más próximo al 15.

name

Nombre que se utiliza para identificar el período. Este nombre debe ser único y contener únicamente caracteres alfanuméricos, guiones (-) y guiones bajos (_).

weekdays

Especifique una lista delimitada por comas de días de la semana, o un intervalo de días de la semana, durante los cuales se ejecutará la instancia. Por ejemplo, especifique 0, 1, 2 o 0-2 para ejecutar una instancia de lunes a miércoles. También puede especificar varios intervalos. Por ejemplo, especifique 0-2, 4-6 para ejecutar una instancia todos los días excepto los jueves.

También puede programar una instancia para que se ejecute cada aparición X de un día laborable del mes. Por ejemplo, especifique Mon#1 o 0#1 para ejecutar una instancia el primer lunes del mes.

Especifique un día y L para ejecutar una instancia en la última aparición de ese día laborable del mes. Por ejemplo, especifique friL o 4L para ejecutar una instancia el último viernes del mes.

Cuando un período contiene varias condiciones, tenga en cuenta que todas ellas deben cumplirse para que el programador de instancias de AWS aplique la acción adecuada. Por ejemplo, un período que contiene un campo weekdays con un valor de Mon#1 y un campo months con un valor de Jan/3 aplicarán la acción el primer lunes del trimestre.

Etiquetado automatizado

El programador de instancias de AWS puede agregar etiquetas de forma automática a todas las instancias que inicia o detiene. Puede especificar una lista de nombres de etiqueta o pares de tagname=tagvalue en los parámetros Etiquetas iniciadas y Etiquetas detenidas. La solución también incluye macros que permiten agregar información de las variables a las etiquetas:

  • {scheduler}: nombre de la pila del programador

  • {year}: año (cuatro dígitos)

  • {month}: mes (dos dígitos)

  • {day}: día (dos dígitos)

  • {hour}: hora (dos dígitos, formato de 24 horas)

  • {minute}: minuto (dos dígitos)

  • {timeszone}: zona horaria

En la siguiente tabla se muestran ejemplos de diferentes entradas y las etiquetas resultantes.

Ejemplo de entrada de parámetros Etiqueta del programador de instancias

ScheduleMessage=Started by scheduler {scheduler}

ScheduleMessage=Started by scheduler MyScheduler

ScheduleMessage=Started on {year}/{month}/{day}

`ScheduleMessage=Started on 2017/07/06 `

ScheduleMessage=Started on {year}/{month}/{day} at {hour}:{minute}

ScheduleMessage=Started on 2017/07/06 at 09:00

ScheduleMessage=Started on {year}/{month}/{day} at {hour}:{minute} {timezone}

ScheduleMessage=Started on 2017/07/06 at 09:00 UTC

Al utilizar el parámetro Etiquetas iniciadas, las etiquetas se eliminan de forma automática cuando el programador detiene la instancia. Al utilizar el parámetro Etiquetas detenidas, las etiquetas se eliminan de forma automática cuando se inicia la instancia.