Automatizar as programações de parada e inicialização - AWS Orientação prescritiva

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á.

Automatizar as programações de parada e inicialização

Visão geral do

O Agendador de Instâncias na AWS pode ajudar você a reduzir os custos operacionais automatizando a inicialização e a interrupção das instâncias do Amazon EC2 e do Amazon Relational Database Service (Amazon RDS). Se você deixar todas as suas instâncias em execução em plena utilização contínua, poderá acabar pagando por recursos que não estão sendo usados. O Agendador de Instâncias ativado AWS permite que você desative as instâncias em momentos em que elas não são necessárias, como fora do horário comercial, fins de semana ou outros períodos em que o uso é baixo. Isso pode gerar uma economia significativa com o tempo.

O Agendador de Instâncias ativado AWS também oferece agendamento de instâncias entre contas, marcação automatizada e a capacidade de configurar horários ou períodos usando uma interface de linha de comando ou a janela de manutenção. AWS Systems Manager Esses recursos podem ajudar você a gerenciar suas instâncias com mais eficiência e precisão, rastrear e alocar custos em diferentes projetos ou equipes.

Estudos de caso

Considere o exemplo de uma empresa que usa o Instance Scheduler AWS em um ambiente de produção para interromper automaticamente as instâncias fora do horário comercial todos os dias. Se essa empresa deixar todas as suas instâncias em execução em plena utilização, ela poderá obter uma economia de até 70% nas instâncias que só são necessárias durante o horário comercial normal. O gráfico a seguir mostra como a utilização semanal é reduzida de 168 horas para 50 horas.

Gráfico de redução de utilização semanal

Considere outro exemplo. A empresa de energia elétrica Jamaica Public Service Company Limited (JPS) migrou seu banco de dados para o Amazon RDS. Agora, a JPS usa o Amazon EC2 para hospedar serviços de API e executar outras aplicações. Para o JPS, o Instance Scheduler on AWS se tornou a principal ferramenta para gerenciar ambientes que não são de produção. A JPS usou o Instance Scheduler AWS para reduzir os custos de desenvolvimento e gerenciar instâncias do EC2 com base nas necessidades da equipe e nos horários de trabalho. Isso ajudou a JPS a reduzir os custos em 40%. Para obter mais informações, consulte o estudo de AWS caso O serviço público da Jamaica migra com eficiência para a nuvem e reduz os custos em 40% usando AWS o Agendador de Instâncias.

Cenário de otimização de custos

O cenário de exemplo a seguir ajuda a ilustrar as vantagens de custo de usar o Instance Scheduler no. AWS Nesse cenário, uma grande empresa de varejo em Singapura implanta dois ambientes Windows no Amazon EC2. O primeiro ambiente, conhecido como workload A, é utilizado pela equipe de marketing para analisar as transações em tempo real na loja enquanto as lojas estão abertas. O segundo ambiente, conhecido como workload B, é reservado para a equipe de contabilidade, que trabalha somente durante o horário comercial normal. O cronograma operacional atual de ambos os ambientes (24 horas por dia, 7 dias por semana) não é ideal, considerando os padrões de uso atuais, e requer otimização para reduzir os custos operacionais da empresa.

O diagrama a seguir mostra o custo mensal antes da otimização.

Custo mensal antes da otimização

Por exemplo, há 31 dias no mês de março, dos quais 23 são dias úteis. Se a equipe de marketing usar o Instance Scheduler AWS e operar suas instâncias somente quando necessário (ou seja, por 321 horas por mês em vez de 730 horas por mês), ela poderá economizar 932,52 USD por mês. Isso equivale a uma redução de 56% nos custos operacionais. A equipe de contabilidade também pode obter vantagens significativas, com o tempo de uso da instância caindo de 730 horas para 230 horas por mês. Isso resulta em uma redução de USD 1.140, ou 68,5%. A empresa poderá economizar um total combinado de USD 2.072,52 por mês (o equivalente a uma redução de 62%) ou USD 24.870,24 por ano.

O diagrama a seguir mostra o custo mensal após a otimização.

Custo mensal após a otimização
nota

O preço desse exemplo foi determinado usando a AWS Calculadora de Preços em março de 2023.

Recomendações de otimização de custos

Esta seção explica como implantar e configurar o Agendador de Instâncias na AWS com base no cenário de exemplo abordado na seção anterior Cenário de otimização de custos. Recomendamos que você execute as próximas etapas a seguir para otimizar seus custos usando o Agendador de Instâncias em AWS:

  1. Inicializar a pilha do Agendador de Instâncias

  2. Configurar períodos

  3. Configurar as programações

  4. Marcar instâncias de

O diagrama de arquitetura a seguir mostra o que é criado na pilha do Instance Scheduler. Nuvem AWS

Arquitetura da pilha do Agendador de Instâncias

O diagrama mostra as seguintes etapas do fluxo de trabalho:

  1. Um AWS CloudFormation modelo configura um CloudWatch evento da Amazon em um intervalo definido por você. Esse evento invoca uma AWS Lambda função. Durante a configuração, você define Regiões da AWS as contas e. Você também define uma tag personalizada que o Instance Scheduler on AWS usa para associar agendamentos a instâncias aplicáveis do Amazon EC2, instâncias do Amazon RDS e clusters.

  2. Os valores de configuração da programação são armazenados no Amazon DynamoDB, e a função do Lambda os recupera sempre que é executada. Em seguida, você pode aplicar a tag personalizada às instâncias aplicáveis.

  3. Durante a configuração inicial do Agendador de Instâncias, você define uma chave de tag para identificar as instâncias aplicáveis do Amazon EC2 e do Amazon RDS. Quando você cria uma programação, o nome que você especifica é usado como o valor da tag que identifica a programação que você deseja aplicar ao recurso marcado.

Inicializar a pilha do Agendador de Instâncias

Esta seção mostra como iniciar a CloudFormation pilha do Agendador de Instâncias em. AWS

nota

Você é responsável pelo custo do Serviços da AWS usado ao executar o Instance Scheduler no AWS. A partir de janeiro de 2023, o custo de execução dessa solução com configurações padrão na região us-east-1 é de aproximadamente USD 9,90 por mês para cobranças do Lambda, ou menos se você tiver um crédito de uso mensal de nível gratuito do Lambda. Para obter mais informações, consulte a seção Custo do Agendador de Instâncias no Guia de AWS Implementação na Biblioteca de AWS Soluções.

Para executar a pilha do Agendador de Instâncias, conclua as etapas a seguir.

  1. Faça login no Console de gerenciamento da AWSe escolha Launch solution (modelo disponível para download) para iniciar o instance-scheduler-on-aws.template CloudFormation modelo.

    nota

    Também é possível fazer download do modelo para usá-lo como ponto de partida para a sua própria implantação.

  2. Por padrão, esse modelo é iniciado na região Leste dos EUA (Norte da Virgínia). Para iniciar o Agendador de Instâncias em outra região, use o seletor de região na barra de navegação do console.

    nota

    O exemplo usa a região Ásia-Pacífico (Singapura).

  3. Na página Criar pilha, na seção Pré-requisito - Preparar modelo, verifique se a opção Modelo está pronto está selecionada. Na seção Origem do modelo, verifique se a opção de URL do Amazon S3 está selecionada.

  4. Verifique se o URL correto do modelo aparece na caixa de texto URL do Amazon S3 e escolha Avançar.

  5. Na página Especificar detalhes da pilha, atribua um nome para a sua pilha de soluções. Para obter informações sobre limitações de nomenclatura de caracteres, consulte Limites do IAM e do STS na documentação AWS Identity and Access Management (IAM). O nome da pilha para o exemplo deste guia é denominado MyInstanceScheduler.

    nota

    O nome da pilha não pode ter mais de 28 caracteres.

  6. Em Parâmetros, revise os parâmetros do modelo e modifique-os conforme necessário.

  7. Escolha Avançar. Na página Configurar opções de pilha, selecione Avançar.

  8. Na página Revisar, verifique e confirme as configurações. Marque a caixa de seleção confirmando que o modelo criará recursos do IAM.

  9. Selecione Criar para implantar a stack.

Configurar períodos

Depois de implantar o CloudFormation modelo, a solução cria uma tabela do DynamoDB que contém exemplos de regras e cronogramas de períodos que você pode usar como referência para criar suas próprias regras e cronogramas de períodos personalizados. Para ver um exemplo de configuração de período, consulte Sample schedules na documentação do Agendador de Instâncias na AWS .

Para concluir a etapa desse cenário, você deve gerar períodos que correspondam a cada workload e atendam às suas necessidades específicas. Por exemplo:

Period 1 (Workload A): Name: retail-hours Days: Monday to Sunday Hours: 1100 - 2300 Period 2 (Workload B): Name: office-hours Days: Monday to Friday Hours: 0800 - 1800

Para configurar os períodos, siga as seguintes etapas:

  1. Faça login no console do DynamoDB e verifique se você está na mesma região em que lançou o modelo para CloudFormation o Instance Scheduler. AWS

  2. No painel de navegação, escolha Tabelas e selecione a tabela chamada ConfigTable.

  3. Escolha Explorar itens da tabela.

  4. Para criar um período para o horário comercial, selecione o período para o item horário comercial.

  5. Na página Editar item, altere o valor de begintime para 0800 e de endtime para 1800. Mantenha o valor padrão em vigor para os dias da semana.

    nota

    Os valores de begintime e de endtime determinam quando as instâncias devem ser inicializadas e interrompidas, enquanto o valor de weekdays determina a quais dias da semana essa programação se aplica (de segunda a sexta-feira, neste exemplo).

  6. Escolha Salvar alterações.

  7. Para duplicar o período office-hours e usá-lo para criar um novo período para o horário de varejo, selecione period para o item office-hours. Em seguida, no menu Ações, escolha Duplicar item.

  8. Modifique os atributos para atender às suas necessidades. Os atributos a seguir são usados para atender aos requisitos do cenário de exemplo:

    type: period name: retail-hours begintime: 11:00 description: Retail hours endtime: 23:00 weekdays: mon-sun
  9. Selecione Create Item (Criar item).

  10. No ConfigTableDynamoDB, identifique os dois períodos que você acabou de criar listados nas listas de itens.

Configurar as programações

No contexto do Instance Scheduler on AWS, os cronogramas se referem à aplicação de um ou mais períodos e ao fuso horário relevante. Essas programações são então atribuídas às suas instâncias como tags. Esta seção mostra como criar duas programações (mostradas abaixo) para acomodar os padrões de tempo variáveis dos dois exemplos de workloads e, em seguida, associar as agendas aos períodos que você criou na seção anterior.

Schedule 1: Name: singapore-office-hours Period: office-hours Timezone: Asia/Singapore Schedule 2: Name: singapore-retail-hours Period: retail-hours Timezone: Asia/Singapore

Para criar e configurar as programações, conclua as seguintes etapas:

  1. Faça login no console do DynamoDB e verifique se você está na mesma região em que lançou o modelo para CloudFormation o Instance Scheduler. AWS

  2. No painel de navegação, escolha Tabelas e selecione a tabela chamada ConfigTable.

  3. Escolha Explorar itens da tabela.

  4. Para duplicar a programação do horário comercial do Reino Unido e usá-la para criar uma nova agenda para seu horário de expediente (horário comercial de Cingapura, por exemplo), selecione a programação para o uk-office-hours item. Em seguida, no menu Ações, escolha Duplicar item.

  5. Modifique os atributos para atender às suas necessidades. Os atributos a seguir são usados para atender aos requisitos do cenário de exemplo:

    type: schedule name: singapore-office-hours description: Office hours in Singapore periods: office-hours timezone: Asia/Singapore
  6. Selecione Create Item (Criar item).

  7. Repita as etapas de 4 a 6 para criar uma programação para o horário de varejo de Singapura usando os seguintes valores de atributos:

    type: schedule name: singapore-retail-hours description: Retail hours in Singapore periods: retail-hours timezone: Asia/Singapore
  8. No ConfigTableDynamoDB, identifique as duas programações e os dois períodos que você criou.

Marcar instâncias de

Depois de estabelecer suas programações, você deve usar tags para alocá-las às instâncias específicas que você deseja usar. Você pode usar o editor de tags no AWS Resource Groups para gerar e atribuir tags às suas instâncias do Amazon EC2.

  1. Faça login no Console de gerenciamento da AWSe verifique se você está na mesma região em que lançou o CloudFormation modelo anteriormente.

  2. Abra o console do Resource Groups. No painel de navegação, expanda Marcação e escolha Editor de tags.

  3. Na seção Localizar recursos para marcar, em Regiões, escolha suas regiões. Em Tipos de recursos, escolha Amazon EC2 ou Amazon RDS. Esse cenário se concentra nas instâncias do Amazon EC2 na workload A. A equipe de marketing está usando a workload A na região de Singapura. Os recursos dessa workload já estão marcados com uma chave Departament e um valor Marketing. Você pode usar essa tag para pesquisar as instâncias.

  4. Escolha Recursos de pesquisa.

  5. Selecione as instâncias que você deseja incluir na programação na lista de resultados da pesquisa e escolha Gerenciar tags dos recursos selecionados.

  6. Na seção Editar tags de todos os recursos selecionados, escolha Adicionar tag para adicionar as tags de programação do Agendador de Instâncias às suas instâncias do EC2. Você pode usar as chaves e os valores de tags que correspondem às programações (criadas anteriormente no DynamoDB).

  7. Em Chave de tag, adicione Programação. Em Valor da etiqueta, insira singapore-retail-hours.

  8. Escolha Revisar e aplicar alterações de tag.

  9. Para aplicar a tag a todas as instâncias do EC2 que você selecionou, escolha Aplicar alterações a todas as selecionadas.

  10. Repita as etapas de 3 a 9 para qualquer programação adicional que você queira aplicar.

Resultados da validação

Recomendamos que você use AWS Cost Explorerpara medir os benefícios de custo de usar o Instance Scheduler on AWS. É possível usar o Cost Explorer para fazer o seguinte:

  • Visualizar e analisar os custos associados às suas instâncias do EC2, incluindo instâncias gerenciadas pelo Agendador de Instâncias.

  • Filtrar sua visualização do Cost Explorer por tags para que você possa se concentrar em workloads específicas e obter uma visão granular da economia de custos obtida com o uso do Agendador de Instâncias.

  • Obter insights sobre o impacto financeiro de usar o Agendador de Instâncias.

  • Identifique oportunidades para maior otimização de custos e tome decisões baseadas em dados para otimizar seus AWS gastos.

Os gráficos a seguir ilustram o custo operacional da workload A e da workload B durante um período de sete dias (de segunda a domingo) antes da otimização usando o Agendador de Instâncias.

Despesas totais combinadas das workloads A e B

Despesas totais combinadas das workloads A e B

Despesas da workload A

Despesas da workload A

Despesas da workload B

Despesas da workload B

Nesse cenário, o Cost Explorer mostra as reduções de custo resultantes da implementação do Agendador de Instâncias na AWS. Os gráficos a seguir mostram os custos operacionais da workload A e da workload B por um período de sete dias (segunda a domingo) após a otimização.

Despesas totais combinadas das workloads A e B

Despesas totais combinadas das workloads A e B

Despesas da workload A

Despesas da workload A

Despesas da workload B

Despesas da workload B

Recursos adicionais do