Exemplos de agendamento
O Agendador de instâncias na AWS permite iniciar e interromper automaticamente instâncias do Amazon Elastic Compute Cloud (Amazon EC2) e do Amazon Relational Database Service (Amazon RDS). A seção a seguir fornece alguns exemplos de agendamento que podem ser adaptados a muitos casos de uso comuns.
Horas de trabalho padrão 9–17
Esse agendamento mostra como executar instâncias nos dias úteis, das 9h às 17h, em Londres.
Períodos
Esse período iniciará as instâncias às 9h e as interromperá às 17h nos dias úteis (de segunda a sexta).
| Campo | Tipo | Valor |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Agendamento
O nome do agendamento fornece o valor da tag que deve ser aplicado às instâncias e o fuso horário que será usado.
| Campo | Tipo | Valor |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Tag de instância
Para aplicar esse agendamento às instâncias, adicione a tag Schedule=london-working-hours às instâncias. Se você alterar o nome da tag padrão no parâmetro Nome da tag do Agendador de instâncias do AWS CloudFormation, sua tag será diferente. Por exemplo, se você inseriu Sked como nome da tag, sua tag será Sked=london-working-hours. Para obter mais informações, consulte Marque seus recursos no Guia do usuário do Amazon Elastic Compute Cloud.
CLI do agendador
Para configurar o agendamento acima usando a CLI do Agendador de instâncias, use os seguintes comandos:
scheduler-cli create-period --stack <stackname> --name weekdays-9-5 --weekdays mon-fri --begintime 9:00 --endtime 16:59 scheduler-cli create-schedule --stack <stackname> --name london-working-hours --periods weekdays-9-5 --timezone Europe/London Europe/London
Recurso personalizado
O modelo do CloudFormation a seguir criará o agendamento acima usando o recurso personalizado de agendamento.
Para implantar esse modelo, você precisará fornecer o ARN ServiceInstanceScheduleServiceToken, que pode ser encontrado no console do AWS CloudFormation clicando na Pilha do hub do Agendador de instâncias implantada anteriormente e selecionando Saídas.
AWSTemplateFormatVersion: 2010-09-09
Parameters:
ServiceInstanceScheduleServiceTokenARN:
Type: String
Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
'AWS::CloudFormation::Designer': {}
Resources:
LondonWorkingWeek:
Type: 'Custom::ServiceInstanceSchedule'
Properties:
NoStackPrefix: 'True'
Name: london-working-hours
Description: run instances from 9am to 5pm in London on weekdays
ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
Timezone: Europe/London
Periods:
- Description: 9am to 5pm on weekdays
BeginTime: '09:00'
EndTime: '16:59'
WeekDays: mon-fri
Interromper instâncias após 17h
As instâncias podem ser iniciadas livremente a qualquer hora do dia e esse agendamento garantirá que um comando stop seja enviado automaticamente a elas às 17h ET todos os dias.
Períodos
Esse período interromperá as instâncias às 17h todos os dias.
| Campo | Tipo | Valor |
|---|---|---|
|
|
|
|
|
|
|
|
Agendamento
O nome do agendamento fornece o valor da tag que deve ser aplicado às instâncias e o fuso horário que será usado.
| Campo | Valor | |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
Tag de instância
Para aplicar esse agendamento às instâncias, adicione a tag Schedule=stop-at-5-new-york às instâncias. Se você tiver alterado o nome da tag padrão no parâmetro Nome da tag do Agendador de instâncias do AWS CloudFormation, sua tag será diferente. Por exemplo, se você inseriu Sked como nome da tag, sua tag será Sked=stop-at-5-new-york. Para obter mais informações, consulte Marque seus recursos no Guia do usuário do Amazon Elastic Compute Cloud.
CLI do agendador
Para configurar o agendamento acima usando a CLI do Agendador de instâncias, use os seguintes comandos:
scheduler-cli create-period --stack <stackname> --name stop-at-5 --endtime 16:59 scheduler-cli create-schedule --stack <stackname> --name stop-at-5-new-york --periods stop-at-5 --timezone America/New_York
Recurso personalizado
O modelo do CloudFormation a seguir criará o agendamento acima usando o recurso personalizado de agendamento.
Para implantar esse modelo, você precisará fornecer o ARN ServiceInstanceScheduleServiceToken, que pode ser encontrado no console do AWS CloudFormation clicando na Pilha do hub do Agendador de instâncias implantada anteriormente e selecionando Saídas.
AWSTemplateFormatVersion: 2010-09-09
Parameters:
ServiceInstanceScheduleServiceTokenARN:
Type: String
Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
'AWS::CloudFormation::Designer': {}
Resources:
StopAfter5:
Type: 'Custom::ServiceInstanceSchedule'
Properties:
NoStackPrefix: 'True'
Name: stop-at-5-new-york
Description: stop instances at 5pm ET every day
ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
Timezone: America/New_York
Periods:
- Description: stop at 5pm
EndTime: '16:59'
Interromper instâncias no fim de semana
Esse agendamento mostra como executar instâncias de segunda-feira, 9h ET, até sexta-feira, 17h ET. Como a segunda-feira e a sexta-feira não são dias inteiros, esse agendamento inclui três períodos para acomodar: segunda-feira, terça a quinta-feira e sexta-feira.
Períodos
O primeiro período inicia as instâncias marcadas às 9h de segunda-feira e interrompe à meia-noite. Esse período inclui os campos e valores a seguir.
| Campo | Tipo | Valor |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
O segundo período executa instâncias marcadas durante todo o dia, de terça a quinta-feira. Esse período inclui os campos e valores a seguir.
| Campo | Valor | |
|---|---|---|
|
|
|
|
|
|
|
|
O terceiro período interrompe as instâncias marcadas às 17h de sexta-feira. Esse período inclui os campos e valores a seguir.
| Campo | Valor | |
|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Agendamento
O agendamento combina os três períodos no agendamento para instâncias marcadas. O agendamento inclui os campos e valores a seguir.
| Campo | Valor | |
|---|---|---|
|
|
|
mon-9am-fri-5pm |
|
|
|
mon-start-9am,tue-thu-full-day,fri-stop-5pm |
|
|
|
America/New_York |
Tag de instância
Para aplicar esse agendamento às instâncias, você deve adicionar a tag Schedule=mon-9am-fri-5pm às instâncias. Se você tiver alterado o nome da tag padrão no parâmetro Nome da tag do Agendador de instâncias do AWS CloudFormation, sua tag será diferente. Por exemplo, se você inseriu Sked como o nome da tag, sua tag será Sked=mon-9am-fri-5pm. Para obter mais informações, consulte Marque seus recursos no Guia do usuário do Amazon Elastic Compute Cloud.
CLI do agendador
Para configurar o agendamento acima usando a CLI do Agendador de instâncias, use os seguintes comandos:
scheduler-cli create-period --stack <stackname> --name mon-start-9am --weekdays mon --begintime 9:00 --endtime 23:59 scheduler-cli create-period --stack <stackname> --name tue-thu-full-day --weekdays tue-thu scheduler-cli create-period --stack <stackname> --namefri-stop-5pm --weekdays fri --begintime 0:00 --endtime 17:00 scheduler-cli create-schedule --stack <stackname> --name mon-9am-fri-5pm --periods mon-start-9am,tue-thu-full-day,fri-stop-5pm -timezone America/New_York
Recurso personalizado
O modelo do CloudFormation a seguir criará o agendamento acima usando o recurso personalizado de agendamento.
Para implantar esse modelo, você precisará fornecer o ARN ServiceInstanceScheduleServiceToken, que pode ser encontrado no console do AWS CloudFormation clicando na Pilha do hub do Agendador de instâncias implantada anteriormente e selecionando Saídas.
AWSTemplateFormatVersion: 2010-09-09
Parameters:
ServiceInstanceScheduleServiceTokenARN:
Type: String
Description: (Required) service token arn taken from InstanceScheduler outputs
Metadata:
'AWS::CloudFormation::Designer': {}
Resources:
StopOnWeekends:
Type: 'Custom::ServiceInstanceSchedule'
Properties:
NoStackPrefix: 'True'
Name: mon-9am-fri-5pm
Description: start instances at 9am on monday and stop them at 5pm on friday
ServiceToken: !Ref ServiceInstanceScheduleServiceTokenARN
Timezone: America/New_York
Periods:
- Description: 9am monday start
BeginTime: '09:00'
EndTime: '23:59'
WeekDays: mon
- Description: all day tuesday-thursday
WeekDays: tue-thu
- Description: 5pm friday stop
BeginTime: '00:00'
EndTime: '16:59'
WeekDays: fri
Recursos da solução
Os seguintes recursos são criados como parte da pilha Agendador de instâncias na AWS.
| Nome do recurso | Tipo | Descrição |
|---|---|---|
|
Principal |
|
Função do Lambda do Agendador de instâncias na AWS. |
|
Auxiliar de configuração do agendador |
|
Armazena as definições de configuração global no Amazon DynamoDB. |
|
Permissão de invocação do agendador |
|
Permite que o evento do Amazon CloudWatch invoque a função do AWS Lambda do Agendador de instâncias. |
|
Logs do agendador |
|
Grupo de logs do CloudWatch para o Agendador de instâncias. |
|
Política do agendador |
|
Política que permite que o programador execute ações de início e parada, altere os atributos da instância do Amazon EC2, defina tags e acesse os recursos do agendador. |
|
Regra do agendador |
|
Regra de evento do Amazon EventBridge que invoca a função do Lambda do agendador. |
|
Regra de evento de métricas de configuração |
|
Regra de evento do Amazon EventBridge que invoca periodicamente a função de métricas anônimas de descrição da configuração. Desabilitada quando métricas anônimas estão desabilitadas. |
|
Tabela de estados |
|
Tabela do DynamoDB que armazena o último estado desejado das instâncias. |
|
Tabela de configuração |
|
Tabela do DynamoDB que armazena dados de configuração global, agendamento e período. |
|
Tópico do SNS do Agendador de instâncias |
|
Envia mensagens de aviso e de erro para endereços de e-mail inscritos. |