Blog
Domine a plataforma e otimize seus gastos!
Azure Landing Zones com Terraform: como padronizar e automatizar ambientes multi-cloud-ready
Introdução
À medida que as empresas migram para a nuvem e crescem em escala, se torna essencial garantir que todos os recursos sejam criados com segurança, governança e padrões consistentes desde o início.
As Azure Landing Zones, baseadas no Cloud Adoption Framework (CAF) da Microsoft, fornecem essa fundação. E quando combinadas com Terraform, elas permitem padronização, automação e versionamento — inclusive em cenários multi-cloud.
Neste artigo, você vai aprender como implementar Landing Zones no Azure usando módulos CAF Terraform, entendendo os componentes, práticas recomendadas e como começar.
O que é uma Azure Landing Zone?
Uma Landing Zone é uma estrutura base de nuvem que define:
- Management groups
- Controle de identidade e acesso (RBAC)
- Políticas e compliance (Azure Policy)
- Redes e conectividade (Hub-and-Spoke)
- Monitoramento, logs e segurança
- Subscriptions padronizadas por ambiente
Com Terraform, você pode definir e manter essas zonas como infraestrutura como código (IaC) — promovendo reprodutibilidade e governança desde o primeiro deploy.
Usando o projeto CAF Terraform module (enterprise-scale)
A Microsoft mantém um módulo oficial no GitHub para automatizar landing zones com Terraform:
🔗 https://github.com/Azure/terraform-azurerm-caf-enterprise-scale
Este módulo provê:
- Estrutura de management groups
- Criação de subscriptions associadas
- Políticas e RBAC
- Deploy de recursos base: logs, redes, key vaults
📦 Estrutura da solução

🚀 Pré-requisitos
- Azure CLI autenticado (
az login
) - Terraform ≥ v1.4 instalado
- Permissão: Owner ou User Access Administrator na subscription
- Uma conta no GitHub para usar os módulos CAF
🛠️ Exemplo prático com Terraform
1. Estrutura mínima de arquivos
azure-landingzone-tf/
├── main.tf
├── variables.tf
└── terraform.tfvars
2. main.tf
provider "azurerm" {
features {}
}
module "caf-enterprise-scale" {
source = "Azure/caf-enterprise-scale/azurerm"
version = "4.1.1"
default_location = "eastus"
root_parent_id = data.azurerm_client_config.current.tenant_id
deploy_management_resources = true
library_path = "${path.module}/lib"
}
3. Inicializando e aplicando
terraform init
terraform plan
terraform apply
O Terraform irá:
- Criar management groups hierarquizados
- Atribuir políticas de segurança
- Criar diagnósticos e logs
- Preparar um ambiente alinhado ao CAF
Expandindo com módulos reutilizáveis
Você pode adicionar módulos para:
- VNet Hub & Spoke
- Azure Firewall ou DDoS
- Key Vault + Secrets
- Monitoramento com Log Analytics
- Azure AD Role assignments
Exemplo: módulo de VNet
module "hub-networking" {
source = "Azure/terraform-azurerm-network/azurerm"
version = "4.0.0"
name = "hub-vnet"
location = "eastus"
address_space = ["10.0.0.0/16"]
}
🔄 Integração com CI/CD
Você pode aplicar tudo via GitHub Actions, usando um fluxo YAML como:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: hashicorp/setup-terraform@v2
with:
terraform_version: 1.4.6
- run: terraform init
- run: terraform apply -auto-approve
env:
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
Use o Azure Service Principal com permissões para deploy.
Boas práticas com Landing Zones + Terraform
Prática recomendada | Benefício |
---|---|
Versionar módulos com Git | Controle de mudanças |
Segmentar ambientes por Workspace (Dev, Prod) | Isolamento de estado e deploys independentes |
Integrar com Azure Policy | Garantir compliance automático |
Utilizar RBAC mínimo necessário | Menor risco operacional |
Usar Backends remotos (ex: Azure Storage) | Armazenamento seguro do terraform.tfstate |
Referências oficiais
- Azure CAF Enterprise-scale com Terraform
- Módulo oficial no GitHub
- Terraform + Azure Landing Zones (docs)
Conclusão
Utilizar Azure Landing Zones com Terraform traz um grande ganho de controle, repetibilidade e segurança. Você consegue escalar a criação de ambientes com governança, políticas e rede já prontas — seja em uma empresa pequena ou em um ambiente multi-cloud complexo.
Automatize sua fundação na nuvem com Terraform e comece certo desde o início.