Como criar um alerta na AWS para não ter surpresas na sua fatura

Tempo de leitura: 6 minutos

Em meu último artigo falei sobre os modelos de definição de preços na AWS e a importância de conhecer esses conceitos dado que eles têm influência direta na fatura mensal de sua conta.

Mas, muito mais importante do que conhecer os conceitos, é necessário ter um controle pró-ativo desses custos.

Por isso, hoje iremos aprender a como monitorar, de forma simples e direta, os custos de sua conta na AWS.

Nesse artigo você descobrirá:

  • Quais serviços podem nos auxiliar no monitoramento de custos na AWS
  • Como criar um alarme para o controle de custos no escopo geral de sua conta

Pré-requisitos:

  • Sua conta na AWS já deve ter sido configurada, caso ainda não tenha feito isso, você pode seguir a documentação oficial que eu indico nessa nota aqui.
  • O usuário precisa ter permissão para acessar os serviços Amazon CloudWatch e Amazon SNS, além de acesso ao console de “Billing & Cost Management”.

Nesse artigo criaremos um “Billing Alert”, ou seja, um alerta que te indicará, de forma automática, quando sua fatura atingir um orçamento pré-definido.

O Amazon CloudWatch nos auxiliará na criação do alarme e o Amazon SNS (Simple Notification Service) será o responsável por notificar o usuário quando o limite for atingido.

Mas antes de passarmos para a prática, iremos conhecer um pouco mais sobre os dois serviços que iremos utilizar. Mas, se você quiser, já pode ir direto para o tutorial prático.

Amazon CloudWatch

O Amazon CloudWatch é um serviço de monitoramento e observabilidade que nos fornece dados e “insights” interessantes para monitorar nossas aplicações.

Ele coleta dados operacionais e de monitoramento na forma de logs, métricas e eventos.

Por meio dele conseguimos ter uma visão unificada da integridade operacional e visibilidade completa dos recursos, aplicações e serviços em execução na AWS.

Por meio do CloudWatch é possível detectar comportamentos anormais nos ambientes, definir alarmes, visualizar logs e métricas lado a lado, além de executar ações de forma automatizada a fim de solucionar problemas.

Em nosso contexto, iremos utilizar métricas de faturamento, disponibilizadas pelo serviço de “Billing”, a fim de monitorar nossa fatura mensal.

SNS (Simple Notification Service)

Não adianta nada monitorarmos nossas métricas se ninguém for avisado quando ocorre algum problema, certo?

É nesse contexto que entra o Amazon SNS.

O Amazon Simple Notification Service é um serviço de mensagens totalmente gerenciado pela AWS. Nele, podemos estabelecer a comunicação entre aplicações (A2A) e de aplicação para pessoa (A2P).

Por meio dele, iremos notificar, por e-mail, os usuários interessados em saber quando o orçamento for ultrapassado.

A imagem abaixo nos dá uma visão geral de como será a solução:

Agora sim vamos para a prática, seguiremos os passos abaixo:

  1. Habilitar os alertas de cobrança via console da AWS
  2. Criar um alarme no CloudWatch via console da AWS
  3. Configurar as condições e limites que servirão como gatilhos para o alarme
  4. Definir um tópico no SNS para notificação do usuário

Habilitar os alertas de cobrança via console da AWS

Na AWS, por padrão, as funcionalidades vem desligadas.

Então, o primeiro passo é garantir que as métricas de faturamento estejam habilitadas. 

Para fazer isso, precisamos acessar o console de “Billing and Cost Management” e depois clicar na opção à direita chamada Preferências | Preferências de faturamento, conforme imagem abaixo:

A tela de preferências será apresentada. Habilite o “checkbox” Receber alertas de faturamento.

Observação importante: depois de habilitar essas métricas demora, mais ou menos, de 15 a 20 minutos para que elas estejam disponíveis. Após esse período será possível configurar alarmes de faturamento.

Criar um alarme no CloudWatch via console da AWS

Depois de habilitarmos as métricas, chegou a hora de visitarmos o console do CloudWatch para criarmos um alarme.

Observação importante: confirme se você está na região correta no console, caso contrário, as métricas não irão aparecer no momento da configuração do alarme.

No console, no menu à esquerda, selecione a opção Todos os alarmes e depois clique no botão à direita Criar alarme, conforme imagem abaixo:

Após isso, precisaremos selecionar a métrica que desejamos monitorar. Para isso, clique na opção Selecionar métrica.

Na próxima tela, na lista de métricas disponíveis, selecione Faturamento e depois Carga Total Estimada. O passo final é escolha da métrica “EstimatedCharges”.

“EstimatedCharges” é uma métrica de faturamento que nos indica o valor cobrado pela utilização dos serviços da AWS.

Configurar as condições e limites que servirão como gatilhos para o alarme

Escolhida a métrica, na próxima tela, na sessão Condições, iremos definir as condições que ativarão o alarme.

Como nossa solução será baseada em um limite de orçamento, em dólares, precisaremos configurar as condições conforme a imagem abaixo:

Essa configuração nos indica que, no momento em que o faturamento ultrapassar o limite de 10 dólares, o alarme será ativado.

Clique em Próximo.

Definir um tópico no SNS para notificação do usuário

Lembre-se que desejamos fazer um monitoramento pró-ativo de nosso orçamento.

Então, o próximo passo será a configuração de um tópico SNS para que o usuário seja notificado assim que o alarme for ativado.

Vejam que, na tela seguinte, podemos ter o alarme em três estados: Em Alarme, OK e Dados Insuficientes.

Selecionaremos o estado Em alarme, que nos indica que o limite do orçamento foi ultrapassado.

Você pode usar um tópico existente ou criar um novo. No exemplo acima, estou criando um novo tópico para notificar a lista de usuários especificada no campo Endpoints de e-mail que receberão a notificação.

Ao clicar no botão Criar tópico, teremos a seguinte tela:

Agora é só rolar um pouco para baixo e clicar em Próximo.

Finalizando seu alarme

O passo seguinte é dar um nome e descrição para o alarme:

A próxima tela será um apanhado geral das configurações cadastradas. Você pode revisar essas configurações e, se necessário, editá-las clicando no botão Editar.

Depois de confirmar que as configurações estão corretas, clique no botão Criar alarme.

Para receber as notificações do SNS, os e-mails cadastrados devem confirmar a assinatura ao tópico. Para isso, basta acessar o e-mail e clicar no link Confirm Subscription.

Quando nosso limite de orçamento for atingido, o estado do alarme ficará Em alarme e os usuários receberão um e-mail notificando da mudança de estado:

Então é isso pessoal. Espero que tenham gostado e que nunca mais passem aperto com uma fatura surpresa da AWS.

Abraços!

Referências

Setting up an Amazon CloudWatch Billing Alarm to Proactively Monitor Estimated Charges | AWS Cloud Operations & Migrations Blog

Creating a billing alarm to monitor your estimated AWS charges – Amazon CloudWatch

Amazon CloudWatch – Monitoramento de aplicações e infraestrutura

AWS SNS – Amazon Simple Notification Service

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *