Programación de la ventana de mantenimiento y opciones de periodo activo - AWS Systems Manager

Programación de la ventana de mantenimiento y opciones de periodo activo

Al crear un período de mantenimiento, debe especificar la frecuencia con la que se ejecuta el período de mantenimiento mediante una expresión cron o rate. Si lo prefiere, puede especificar un intervalo de fechas durante el cual se puede ejecutar el periodo de mantenimiento en su programación habitual, así como una zona horaria en la que basar esa programación habitual.

Tenga en cuenta, sin embargo, que la opción de zona horaria y las opciones de fecha de inicio y fecha de finalización no se afectan entre sí. Cualquier fecha de inicio y de finalización que especifique (con o sin corrección para su zona horaria) solo determinan el período válido durante el cual se puede ejecutar el período de mantenimiento en su programación. Una opción de zona horaria determina la zona horaria internacional en la que se basa la programación del período de mantenimiento durante su período válido.

nota

Especifique las fechas de inicio y de finalización en formato de marca temporal ISO-8601. Por ejemplo: 2021-04-07T14:29:00-08:00.

Especifique las zonas horarias en formato IANA (del inglés, Internet Assigned Numbers Authority). Por ejemplo, America/Chicago, Europe/Berlin o Asia/Tokyo.

Ejemplo 1: especificar una fecha de inicio del período de mantenimiento

Suponga que utiliza la AWS Command Line Interface (AWS CLI) para crear un periodo de mantenimiento con las siguientes opciones:

  • --start-date 2021-01-01T00:00:00-08:00

  • --schedule-timezone "America/Los_Angeles"

  • --schedule "cron(0 09 ? * WED *)"

Por ejemplo:

Linux & macOS
aws ssm create-maintenance-window \ --name "My-LAX-Maintenance-Window" \ --allow-unassociated-targets \ --duration 3 \ --cutoff 1 \ --start-date 2021-01-01T00:00:00-08:00 \ --schedule-timezone "America/Los_Angeles" \ --schedule "cron(0 09 ? * WED *)"
Windows
aws ssm create-maintenance-window ^ --name "My-LAX-Maintenance-Window" ^ --allow-unassociated-targets ^ --duration 3 ^ --cutoff 1 ^ --start-date 2021-01-01T00:00:00-08:00 ^ --schedule-timezone "America/Los_Angeles" ^ --schedule "cron(0 09 ? * WED *)"

Esto significa que la primera ejecución del periodo de mantenimiento no ocurrirá hasta después de la fecha y la hora de inicio especificadas, que es a las 00.00 h en la zona horaria del Pacífico de EE. UU. del viernes 1 de enero de 2021. (Esta zona horaria está ocho horas por detrás de la hora UTC). En este caso, la fecha y la hora de inicio del periodo no representan cuándo se ejecutan por primera vez los periodos de mantenimiento. En conjunto, los valores --schedule-timezone y --schedule significan que el periodo de mantenimiento se ejecutará todos los miércoles a las 9.00 h en la zona horaria del Pacífico de EE. UU. (representados por “América/Los Ángeles” en formato IANA). La primera ejecución en el periodo permitido será el miércoles 4 de enero de 2021 a las 9.00 h en la zona horaria del Pacífico de EE. UU.

Ejemplo 2: especificar una fecha de inicio y finalización del período de mantenimiento

Supongamos que, a continuación, desea crear un período de mantenimiento con estas opciones:

  • --start-date 2019-01-01T00:03:15+09:00

  • --end-date 2019-06-30T00:06:15+09:00

  • --schedule-timezone "Asia/Tokyo"

  • --schedule "rate(7 days)"

Por ejemplo:

Linux & macOS
aws ssm create-maintenance-window \ --name "My-NRT-Maintenance-Window" \ --allow-unassociated-targets \ --duration 3 \ --cutoff 1 \ --start-date 2019-01-01T00:03:15+09:00 \ --end-date 2019-06-30T00:06:15+09:00 \ --schedule-timezone "Asia/Tokyo" \ --schedule "rate(7 days)"
Windows
aws ssm create-maintenance-window ^ --name "My-NRT-Maintenance-Window" ^ --allow-unassociated-targets ^ --duration 3 ^ --cutoff 1 ^ --start-date 2019-01-01T00:03:15+09:00 ^ --end-date 2019-06-30T00:06:15+09:00 ^ --schedule-timezone "Asia/Tokyo" ^ --schedule "rate(7 days)"

El periodo permitido para este periodo de mantenimiento comienza a las 3.15 h, hora estándar de Japón, el 1 de enero de 2019. El período válido para este período de mantenimiento termina a las 6:15, hora estándar de Japón, el domingo, 30 de junio de 2019. (Esta zona horaria está nueve horas por delante de la hora UTC). En conjunto, los valores --schedule-timezone y --schedule significan que el período de mantenimiento se ejecutará todos los martes a las 3:15 en la zona horaria estándar de Japón (representados por "Asia/Tokyo" en formato IANA). Esto se debe a que el periodo de mantenimiento se ejecuta cada siete días y se activa a las 3.15 h del martes 1 de enero. La última ejecución será a las 3:15, hora estándar de Japón, el martes, 25 de junio de 2019. Este es el último martes antes de que el periodo de mantenimiento permitido finalice cinco días más tarde.

Ejemplo 3: crear un período de mantenimiento que se ejecuta solo una vez

Ahora, cree un periodo de mantenimiento con esta opción:

  • --schedule "at(2020-07-07T15:55:00)"

Por ejemplo:

Linux & macOS
aws ssm create-maintenance-window \ --name "My-One-Time-Maintenance-Window" \ --schedule "at(2020-07-07T15:55:00)" \ --duration 5 \ --cutoff 2 \ --allow-unassociated-targets
Windows
aws ssm create-maintenance-window ^ --name "My-One-Time-Maintenance-Window" ^ --schedule "at(2020-07-07T15:55:00)" ^ --duration 5 ^ --cutoff 2 ^ --allow-unassociated-targets

Este período de mantenimiento se ejecuta una única vez, a las 15.55 (UTC) del 7 de julio de 2020. El periodo de mantenimiento se puede ejecutar un máximo de cinco horas, según sea necesario, pero se impide que se inicien tareas nuevas dos horas antes de que finalice el periodo de mantenimiento.

Ejemplo 4: especifique el número de días de desplazamiento de la programación de un período de mantenimiento

Ahora, cree un periodo de mantenimiento con esta opción:

--schedule-offset 2

Por ejemplo:

Linux & macOS
aws ssm create-maintenance-window \ --name "My-Cron-Offset-Maintenance-Window" \ --schedule "cron(0 30 23 ? * TUE#3 *)" \ --duration 4 \ --cutoff 1 \ --schedule-offset 2 \ --allow-unassociated-targets
Windows
aws ssm create-maintenance-window ^ --name "My-Cron-Offset-Maintenance-Window" ^ --schedule "cron(0 30 23 ? * TUE#3 *)" ^ --duration 4 ^ --cutoff 1 ^ --schedule-offset 2 ^ --allow-unassociated-targets

Un desplazamiento de la programación es el número de días que se debe esperar después de la fecha y hora especificadas por una expresión CRON antes de ejecutar el período de mantenimiento.

En el ejemplo anterior, la expresión CRON programa un periodo de mantenimiento para que se ejecute el tercer martes de cada mes a las 23.30 h:

--schedule "cron(0 30 23 ? * TUE#3 *)

Sin embargo, si incluye --schedule-offset 2 significará que el período de mantenimiento no se ejecutará hasta las 23.30 h dos días después del tercer martes de cada mes.

Los desplazamientos de la programación solo se admiten en las expresiones CRON.

Más información