19 de maio de 20264 min de leitura

Construindo um Validador de Drift para Terraform no Azure com Verificação via Portal

Banner - Construindo um Validador de Drift para Terraform no Azure com Verificação via Portal

TL;DR: Este artigo apresenta uma abordagem para detectar 'drift' (desvio) de infraestrutura no Azure de forma mais robusta. A conclusão principal é que confiar apenas no Terraform não basta para o sucesso organizacional. A solução proposta cruza três fontes de verdade: documentação (Excel), o estado do Terraform e o estado real dos recursos no Azure, utilizando o Resource Graph e identidades gerenciadas para garantir conformidade e observabilidade contínua em ambientes de TI complexos.

Arquitetura do sistema

O chamado "drift" em ambientes cloud é um dos maiores desafios para times de SRE e DevOps no Brasil, especialmente em empresas que escalam rápido. A divergência entre o que está no código (IaC) e o que está rodando no Azure pode comprometer SLAs, abrir brechas de segurança e inflar custos sem aviso prévio.

Por que o Terraform sozinho não é a única fonte de verdade?

O drift acontece quando alterações manuais via Portal, scripts de correção de emergência ou políticas de governança alteram a infraestrutura sem o devido pull request no Git. Para empresas que dependem de alta estabilidade e conformidade, confiar apenas no terraform plan como mecanismo de detecção é arriscado. A abordagem de um validador de drift exige cruzar três pilares:

  1. Intenção de projeto: O que foi planejado (Excel/documentação técnica).
  2. Estado do IaC: O que o Terraform reconhece (terraform.tfstate).
  3. Estado Real (Live): O que está efetivamente provisionado no Azure, consultado via APIs e Resource Graph.

Como resolver a lacuna de visibilidade entre o portal e o código?

O problema clássico do dia a dia de um administrador de Azure envolve recursos cuja performance ou configuração são alteradas para resolver incidentes em produção. Se essa alteração não volta ao pipeline de CI/CD, você perde a rastreabilidade. O validador proposto utiliza uma arquitetura baseada em API (neste caso, FastAPI) que normaliza esses dados para apontar exatamente onde a disparidade ocorre.

Quais parâmetros exigir em uma validação de infraestrutura?

Para times de engenharia, a eficácia de um validador de drift está na granularidade. As verificações devem ir além de nomes de recursos, focando em:

  • SKUs: Essencial para controle de FinOps.
  • IOPS: Monitoramento crítico para workloads de alto desempenho (Premium SSD v2, Ultra Disk).
  • Accelerated Networking: Frequente fonte de desvio em migrações e otimizações de rede.
  • Tags: O pilar da organização interna e do chargeback corporativo.
  • Disponibilidade (Zones): Para garantir o alinhamento com a estratégia de HA e DR.

Como automatizar esse workflow?

O fluxo deve ser cíclico e integrado aos processos da empresa:

  1. Extração da intenção (via Excel ou manifestos).
  2. Parsing do tfstate.
  3. Snapshot do Azure via Azure Resource Graph.
  4. Comparação automatizada.
  5. Geração de relatórios com severidades (High/Medium/Low).

Ao focar em Managed Identity para a autenticação, removemos o risco de hardcoding de credenciais, garantindo uma prática alinhada com as melhores diretrizes de SecOps para o ambiente cloud.

Perguntas Frequentes

  • Por que o estado do Terraform, por si só, não é suficiente para a governança?
    O estado do Terraform reflete apenas o que foi gerenciado via IaC. Mudanças manuais feitas via Azure Portal, scripts de emergência ou intervenções de políticas de conformidade frequentemente não são refletidas no código, criando lacunas de visibilidade que o Terraform isolado não detecta.

  • Qual a vantagem de incluir documentos de design (Excel) na validação?
    Documentos de design contêm o 'intenção de negócio', como SKUs esperadas e configurações de performance. Validar contra essa fonte garante que a infraestrutura não atenda apenas ao estado atual, mas cumpra critérios operacionais e de negócio definidos inicialmente.

  • Como o Azure Resource Graph auxilia na performance do validador?
    Ele permite realizar consultas escaláveis em todos os recursos de múltiplas assinaturas de uma só vez, evitando a necessidade de chamadas individuais e lentas para cada provedor de recursos, tornando a verificação muito mais rápida.


Artigo originalmente publicado em Azure Updates - Latest from Azure Charts.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset