Opções de programação da janela de manutenção e do período ativo - AWS Systems Manager

Opções de programação da janela de manutenção e do período ativo

Ao criar uma janela de manutenção, você deve especificar com qual frequência a janela de manutenção é executada usando uma Expressão cron ou rate. Como opção, você pode especificar um intervalo de datas durante o qual a janela de manutenção pode ser executada em sua programação regular, bem como um fuso horário que servirá de base para essa programação regular.

Observe, no entanto, que a opção de fuso horário e as opções de data de início/término não se influenciam. Qualquer horário de data de início e de término que você especificar (com ou sem um deslocamento para o seu fuso horário) determina apenas o período válido durante o qual a janela de manutenção pode ser executada em sua programação. Uma opção de fuso horário determina o fuso horário internacional em que a programação da janela de manutenção se baseia durante seu período válido.

nota

As datas de início e de término devem ser especificadas no formato de carimbo de data e hora da ISO-8601. Por exemplo: 2021-04-07T14:29:00-08:00

Os fusos horários devem ser especificados no formato IANA (Internet Assigned Numbers Authority). Por exemplo: America/Chicago, Europe/Berlin ou Asia/Tokyo

Exemplo 1: especifique uma data de início da janela de manutenção

Digamos que você use a AWS Command Line Interface (AWS CLI) para criar uma janela de manutenção com as seguintes opções:

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

  • --schedule-timezone "America/Los_Angeles"

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

Por exemplo:

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 *)"

Isso significa que a primeira execução da janela de manutenção não ocorrerá até depois da data e hora de início especificados, ou seja, até a meia-noite do fuso horário do Pacífico nos Estados Unidos, na sexta-feira, 1º de janeiro de 2021. (Esse fuso horário está cinco horas atrás do horário UTC.) Nesse caso, a data e a hora de início do período da janela não representam quando as janelas de manutenção são executadas pela primeira vez. Em conjunto, os valores --schedule-timezone e --schedule significam que a janela de manutenção será executada toda quarta-feira, às 9h, no fuso horário do Pacífico nos Estados Unidos (representado por "America/Los Angeles" no formato IANA). A primeira execução no período ativado será na quarta-feira, 4 de janeiro de 2021, às 9h no horário Pacífico dos EUA.

Exemplo 2: especifique a data de início e a data de término de uma janela de manutenção

Suponha que, depois disso, você crie uma janela de manutenção com as seguintes opções:

  • --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 exemplo:

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)"

O período permitido para esta janela de manutenção começa às 3:15h no horário padrão do Japão em 1º de janeiro de 2019. O período válido para esta janela de manutenção termina às 6:15 AM no horário padrão do Japão no domingo, 30 de junho de 2019. (Este fuso horário está nove horas à frente do horário UTC.) Em conjunto, os valores --schedule-timezone e --schedule significam que a janela de manutenção será executada às 3:15 AM, todas as terças-feiras, no fuso horário padrão do Japão (representado por "Asia/Tokyo" no formato IANA). Isso ocorre porque a janela de manutenção é executada a cada sete dias, sendo ativada às 3:15 AM de terça-feira, 1º de janeiro. A última execução será às 3:15 AM, horário padrão do Japão, na terça-feira, 25 de junho de 2019. Essa é a última terça-feira antes que o período da janela de manutenção permitida termine cinco dias depois.

Exemplo 3: criar uma janela de manutenção que é executada somente uma vez

Agora você cria uma janela de manutenção com esta opção:

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

Por exemplo:

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

Esta janela de manutenção é executada somente uma vez, às 15h55 no horário UTC em 7 de julho de 2020. A janela de manutenção tem permissão para ser executada por até cinco horas, conforme necessário, mas novas tarefas são impedidas de serem iniciadas duas horas antes do término do período da janela de manutenção.

Exemplo 4: especificar o número de dias de deslocamento de programação para uma janela de manutenção

Agora você cria uma janela de manutenção com esta opção:

--schedule-offset 2

Por exemplo:

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

Um deslocamento de programação é o número de dias de espera após a data e a hora especificadas por uma expressão CRON antes de executar a janela de manutenção.

No exemplo acima, a expressão CRON agenda a execução de uma janela de manutenção na terceira terça-feira de cada mês às 23h30:

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

No entanto, incluir --schedule-offset 2 significa que a janela de manutenção só será executada dois dias após a terceira terça-feira de cada mês às 23h30.

Os deslocamentos de programação são compatíveis apenas com as expressões CRON.