Todo profissional que gerencia infraestrutura na AWS já viveu alguma versão da mesma história. Uma instância EC2 que deveria ter sido desligada continuou rodando por um final de semana inteiro. Um job de processamento entrou em loop e consumiu dez vezes mais do que o esperado. Um desenvolvedor subiu um recurso de teste em produção sem tag e ninguém percebeu até o fechamento do mês. O resultado é sempre o mesmo: uma fatura com um número que não estava no planejamento e uma reunião desconfortável para explicar o que aconteceu.
O AWS Cost Anomaly Detection existe para mudar esse ciclo. Em vez de descobrir o problema no fechamento do mês, você recebe um alerta quando o comportamento de custo começa a se desviar do padrão, enquanto ainda dá tempo de agir.
O que é o Cost Anomaly Detection
O Cost Anomaly Detection é um serviço da AWS que usa machine learning para aprender o padrão de gastos histórico da sua conta e identificar desvios significativos em tempo quase real. Ele analisa os custos por serviço, por conta, por tag ou por categoria de custo e dispara alertas quando detecta um comportamento fora do normal.
A diferença em relação a alertas de orçamento tradicionais do AWS Budgets é fundamental. Um alerta de orçamento é estático: você define um limite, como “me avisa quando gastar mais de R$ 10.000 no mês”, e recebe a notificação quando esse número é ultrapassado. O problema é que um gasto de R$ 8.000 em 10 dias pode ser completamente anômalo para uma conta que normalmente gasta R$ 500 no mesmo período, mas o alerta estático não vai disparar porque ainda está abaixo do limite.
O Cost Anomaly Detection não trabalha com limites absolutos. Ele trabalha com desvios do padrão aprendido, o que o torna muito mais sensível a anomalias reais independentemente do tamanho da conta.
Como o modelo de ML funciona
O serviço usa um modelo de séries temporais que leva em consideração sazonalidade, tendências de crescimento e variações esperadas para cada serviço individualmente. Um pico de custo no EC2 às sextas-feiras pode ser completamente normal se o histórico mostra que sempre acontece nesse dia. O mesmo pico numa quarta-feira pode ser uma anomalia.
O modelo é treinado automaticamente com os dados da sua conta e se atualiza continuamente. Você não precisa configurar baseline, definir limiares manualmente ou re-treinar o modelo quando a infraestrutura cresce. Ele se adapta ao novo patamar de gastos ao longo do tempo.
Cada anomalia detectada recebe um score que indica a magnitude do desvio. Esse score ajuda a priorizar: uma anomalia com score alto em EC2 merece atenção imediata, enquanto uma anomalia com score baixo em um serviço de custo marginal pode ser investigada depois.
Monitores: como organizar o que você quer acompanhar
O Cost Anomaly Detection trabalha com o conceito de monitores, que são as dimensões sobre as quais o modelo é aplicado. Existem quatro tipos:
- Por serviço AWS: o mais simples, onde o modelo analisa os gastos de cada serviço individualmente. Útil para detectar quando EC2, RDS, S3 ou qualquer outro serviço começa a se comportar de forma inesperada.
- Por conta membro: em ambientes com AWS Organizations, permite monitorar cada conta filha de forma independente. Se uma conta de desenvolvimento começa a gastar como uma conta de produção, o alerta dispara.
- Por tag de custo: você pode criar um monitor que acompanha os gastos agrupados por qualquer tag de alocação de custo, como ambiente, produto, time ou centro de custo. Isso é especialmente valioso para times que já têm uma cultura de tagueamento e querem anomaly detection no nível de produto.
- Por categoria de custo: para cenários mais avançados onde você usa Cost Categories para agrupar gastos por critérios customizados.
O recomendado é começar com o monitor por serviço AWS para ter visibilidade imediata, e adicionar monitores por tag conforme a cultura de tagueamento amadurece.
Alertas e integração com SNS
Cada monitor pode ter uma ou mais assinaturas de alerta que definem quem recebe a notificação e com que frequência. Os alertas são enviados via SNS, o que significa que você pode encaminhar para email, SMS, Slack via Lambda, PagerDuty ou qualquer outro destino que o SNS suporte.
A frequência pode ser configurada para alertas individuais, onde cada anomalia gera uma notificação, ou para resumos diários ou semanais, onde as anomalias do período são consolidadas em um único email. Para contas de produção com tráfego variável, o resumo diário tende a ser mais prático do que receber uma notificação para cada desvio menor.
O alerta inclui informações sobre qual serviço ou dimensão foi afetada, qual é o impacto estimado em dólares, qual é o período da anomalia e um link direto para o Cost Explorer com o filtro já aplicado para investigação.
Investigação: o que fazer quando o alerta chega
Quando uma anomalia é detectada, o fluxo de investigação começa no Cost Explorer, que é o destino natural do link no alerta. Com o filtro já aplicado, você pode analisar o breakdown por região, por tipo de recurso, por tag e por conta para identificar a origem do gasto inesperado.
Os casos mais comuns são:
- Recurso esquecido rodando: instância EC2, NAT Gateway ou cluster RDS que deveria ter sido desligado mas continuou rodando.
- Loop ou bug em processamento: uma função Lambda ou job de batch que entrou em loop e acumulou invocações ou horas de processamento anormais.
- Transferência de dados inesperada: um aumento repentino em data transfer out que pode indicar um bug na aplicação enviando dados em excesso ou, em casos mais graves, exfiltração de dados.
- Novo recurso sem contexto: alguém subiu algo novo que estava em planejamento e o custo ainda não estava no baseline do modelo.
Em todos esses casos, identificar a causa enquanto o recurso ainda está ativo é muito mais eficiente do que analisar logs de um recurso que já foi terminado semanas atrás.
Quando faz mais sentido usar
O Cost Anomaly Detection é especialmente valioso quando:
- A conta tem padrões de uso variáveis que tornam os alertas estáticos do Budgets pouco práticos, porque o limite correto muda todo mês.
- O ambiente tem muitos serviços e times diferentes, tornando difícil acompanhar o gasto de cada dimensão manualmente.
- Existe um requisito de governança financeira que exige detecção proativa de desvios, não apenas controle reativo de orçamento.
É menos urgente em ambientes pequenos com gastos previsíveis onde um alerta de orçamento simples já cobre as necessidades.
Custo do próprio serviço
O Cost Anomaly Detection não tem custo adicional. O serviço é gratuito. Você paga apenas pelos recursos que ele monitora, que você já estaria pagando de qualquer forma. Isso elimina qualquer argumento contra habilitá-lo em todas as contas.
Conclusão
O Cost Anomaly Detection não substitui o planejamento de orçamento nem a cultura de tagueamento. Ele funciona como uma camada adicional que cobre o que o planejamento não consegue prever: o comportamento inesperado que sempre aparece em ambientes dinâmicos.
Para times de FinOps que já trabalham com Cost Explorer, Budgets e Cost Categories, ele é o complemento natural que transforma o monitoramento de custos de uma atividade mensal de revisão para um processo contínuo e automatizado. Habilitar leva menos de cinco minutos e pode evitar surpresas que levam horas para explicar.