Arquitetura - Agendador de instâncias na AWS

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Arquitetura

Esta seção fornece um diagrama de arquitetura de implementação de referência, considerações de design do AWS Well-Architected, componentes de segurança, configurações do agendador e serviços da AWS usados nesta solução.

Diagrama de arquitetura

A implantação desta solução resulta nos seguintes componentes em sua conta da AWS.

Agendador de instâncias na Nuvem AWS

InstanceScheduler arquitetura
  1. Uma EventBridge regra da Amazon aciona a função Lambda de orquestração em intervalos configuráveis (padrão: a cada 5 minutos).

  2. A EventBridge regra invoca uma função de orquestração do AWS Lambda que consulta a tabela de configuração do DynamoDB para identificar alvos de agendamento ativos. O orquestrador então invoca funções Lambda de agendamento paralelo para cada alvo ativo.

  3. As definições e períodos do cronograma são armazenados em uma tabela de configuração do Amazon DynamoDB. Você pode definir qualquer número de programações e períodos nessa tabela para controlar quando suas instâncias iniciam e param.

  4. Uma tabela de registro do DynamoDB rastreia automaticamente todos os recursos gerenciados. Quando os recursos são marcados para agendamento, eles são registrados nessa tabela em resposta aos eventos de marcação da AWS.

  5. Cada função Lambda de agendamento descreve recursos marcados, avalia seus agendamentos em relação ao horário atual e executa as ações de início ou parada apropriadas.

    1. Para instâncias do EC2, se uma operação de inicialização falhar devido à capacidade insuficiente, a solução pode ser configurada para tentar redimensionar a instância para tipos de instância alternativos antes de tentar novamente a operação inicial.

  6. O gerenciamento do cronograma está disponível por meio do console do DynamoDB, da ferramenta CLI do agendador ou dos recursos personalizados da AWS. CloudFormation A solução é implantada com vários exemplos de agendamentos pré-configurados.

  7. As implantações entre contas usam uma arquitetura hub-spoke, na qual as contas spoke se registram automaticamente na conta hub. As pilhas Spoke devem ser implantadas na mesma região da pilha de hubs e devem ser pré-aprovadas pela pilha de hubs ou por membros da mesma organização da AWS.

  8. A solução publica eventos de agendamento e registro para EventBridge ônibus na conta central (eventos globais) e nas contas spoke (eventos locais por região).

nota

Os CloudFormation recursos da AWS são criados a partir de construções (AWS CDK).

Todas as funções do Lambda usadas por essa solução utilizam o AWS IAM para requisitos de permissão para seus recursos e o AWS KMS para criptografia das tabelas do Amazon Simple Notification Service (tópico do Amazon SNS) e do DynamoDB.

Sempre que a solução executa um intervalo de agendamento, ela verifica o estado atual de cada instância devidamente marcada em relação ao estado-alvo (definido por um ou mais períodos em um agendamento na tag de instância) no agendamento associado. O intervalo de agendamento então aplica a ação de início ou parada apropriada, conforme necessário.

Por exemplo, se a função do Lambda for invocada em uma sexta-feira, às 9h (ET), e identificar uma instância de banco de dados do RDS ou EC2 parada com uma tag schedule=office-hours, verificará os detalhes da configuração do horário de expediente no Amazon DynamoDB. Se o horário de expediente contiver um período que indique que a instância deve ser executada de segunda a sexta-feira, das 9h ET às 17h ET, a função do Lambda iniciará essa instância.

A função Lambda também registra informações sobre seus recursos e as exibe em um painel opcional Amazon CloudWatch Custom. As informações registradas incluem o número de instâncias marcadas para cada agendamento, os tamanhos dessas instâncias e se essas instâncias estão ou não atualmente em execução ou paradas. Para obter mais informações sobre esse painel personalizado, consulte Painel de insights operacionais.

nota

Interromper uma instância do Amazon EC2 é diferente de terminar uma instância do Amazon EC2. Por padrão, as instâncias do Amazon EC2 são configuradas para interromper, não terminar, quando desligadas, mas você pode modificar esse comportamento. Antes de usar essa solução, verifique se as instâncias estão configuradas para serem interrompidas ou terminadas conforme apropriado.