Como criar um Resource Group na Azure com Terraform
O Terraform permite criar infraestrutura na Azure de forma repetível, escrevendo o que queres em ficheiros de texto em vez de clicares no portal. Criar um Resource Group na Azure com Terraform é o primeiro passo para automatizar recursos: o grupo funciona como um "contentor" lógico que junta e organiza tudo o que vais provisionar a seguir. É também a base ideal para aprender o ciclo de trabalho do Terraform.
Pré-requisitos
- Uma subscrição Azure ativa (chega o escalão gratuito).
- Terraform instalado (versão 1.0 ou superior).
- A Azure CLI instalada, para autenticação.
- Um editor de texto (por exemplo, o VS Code).
Passo 1: Autenticar na Azure
O Terraform precisa de permissão para falar com a Azure. A forma mais simples é iniciar sessão com a Azure CLI: o Terraform reutiliza essas credenciais automaticamente. Em produção usarias antes um service principal, mas para aprender o az login é mais que suficiente.
az login
az account set --subscription "NOME_OU_ID_DA_SUBSCRICAO"
Passo 2: Criar o ficheiro de configuração
Cria uma pasta nova e, lá dentro, um ficheiro chamado main.tf. Começa por declarar o provider azurerm, que diz ao Terraform que vais trabalhar com a Azure. O bloco features {} é obrigatório, mesmo que fique vazio.
terraform {
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~> 4.0"
}
}
}
provider "azurerm" {
features {}
}
Passo 3: Definir o Resource Group
Ainda no main.tf, adiciona um bloco resource do tipo azurerm_resource_group. Dá-lhe um nome interno (aqui, rg) e define o name e a location — a região onde o grupo vai viver.
resource "azurerm_resource_group" "rg" {
name = "rg-tutorial-bconcepts"
location = "West Europe"
}
Dica: escolhe a location mais próxima dos teus utilizadores para reduzir a latência e, muitas vezes, o custo.
Passo 4: Inicializar o Terraform
Abre o terminal na pasta do projeto e corre terraform init. Este comando descarrega o provider azurerm e prepara a pasta de trabalho.
terraform init
Passo 5: Rever o plano e aplicar
Com terraform plan vês o que vai ser criado, sem alterar nada. Se concordares, terraform apply cria o Resource Group na Azure. Escreve yes quando for pedida confirmação. No plano, cada linha com um + representa um recurso que vai ser criado — deverás ver exatamente um.
terraform plan
terraform apply
Passo 6: Referenciar o grupo noutro recurso
A grande vantagem do Terraform é ligar recursos entre si. Para veres isto na prática, adiciona uma Storage Account que use o Resource Group criado. Repara como resource_group_name e location apontam para o bloco anterior, em vez de repetires os valores à mão.
resource "azurerm_storage_account" "sa" {
name = "stbconcepts0706"
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
account_tier = "Standard"
account_replication_type = "LRS"
}
output "storage_account_url" {
value = azurerm_storage_account.sa.primary_blob_endpoint
}
Se voltares a correr terraform apply, o Terraform cria apenas o novo recurso e mostra o output no fim. O nome da Storage Account tem de ser único a nível global e só pode ter letras minúsculas e números.
Verificar o resultado
Confirma que o grupo foi criado de duas formas. No terminal, usa a Azure CLI; no portal, procura por "Resource groups". Se o nome aparecer, correu tudo bem. Podes também abrir o ficheiro terraform.tfstate, onde o Terraform guarda o estado atual da tua infraestrutura.
az group show --name "rg-tutorial-bconcepts" --output table
Conclusão
Em poucos passos passaste de uma pasta vazia para infraestrutura real na Azure, definida como código e fácil de repetir. Quando já não precisares dos recursos, corre terraform destroy para os apagar e evitar custos. Qual vai ser o próximo recurso a entrar no teu main.tf — uma rede virtual ou uma base de dados?