← Voltar ao blog

7 boas práticas de Terraform para equipas

Terraform é simples de começar e fácil de complicar. Quando várias pessoas passam a mexer na mesma infraestrutura, algumas regras fazem toda a diferença.

1. Estado remoto com locking

Nunca guarde o terraform.tfstate localmente ou no Git. Use um backend remoto com bloqueio para evitar alterações concorrentes.

terraform {
  backend "s3" {
    bucket       = "empresa-tfstate"
    key          = "prod/network/terraform.tfstate"
    region       = "eu-west-1"
    use_lockfile = true
    encrypt      = true
  }
}

2. Fixe as versões

Defina required_version e restrinja as versões dos providers. Faça commit do .terraform.lock.hcl.

3. Módulos pequenos e reutilizáveis

Um módulo deve fazer uma coisa bem feita (rede, cluster, base de dados) e expor apenas as variáveis necessárias.

4. Um estado por ambiente e por domínio

Separar dev, staging e prod, e também rede, dados e aplicações, reduz o raio de impacto de cada apply.

5. Validação automática no pipeline

6. Plan no pull request, apply após aprovação

O resultado do terraform plan deve ser publicado no PR para revisão. O apply corre apenas a partir do ramo principal.

7. Sem segredos no código

Use um gestor de segredos (AWS Secrets Manager, Azure Key Vault, Vault) e marque as variáveis sensíveis com sensitive = true.

Estas práticas funcionam igualmente com OpenTofu, o fork open source do Terraform.

Precisa de ajuda com isto?

Fale connosco para um orçamento ou uma análise da sua infraestrutura.

Falar com a OXICORE