Terraform é uma ferramenta de Infrastructure as Code (IaC) desenvolvida pela HashiCorp que permite provisionar e gerenciar infraestrutura (servidores, redes, bancos de dados, etc.) através de arquivos de configuração declarativos.
Em vez de criar recursos manualmente no console da cloud ou executar scripts imperativos, você descreve o estado desejado da infraestrutura e o Terraform descobre como chegar lá.
Como funciona
O ciclo básico do Terraform é:
terraform init: inicializa o diretório e baixa os providersterraform plan: mostra o que será criado, alterado ou destruídoterraform apply: aplica as mudançasterraform destroy: destrói os recursos gerenciados
Arquivos principais
| Arquivo | Propósito |
|---|---|
main.tf | Configuração principal (resources, providers) |
variables.tf | Declaração de variáveis |
outputs.tf | Saídas expostas após o apply |
terraform.tfvars | Valores das variáveis |
terraform.tfstate | Estado atual da infraestrutura |
HCL (HashiCorp Configuration Language)
As configurações são escritas em HCL, uma linguagem declarativa e legível:
terraform {
required_providers {
aws = {
source = "hashicorp/aws"
version = "~> 5.0"
}
}
}Detalhes em: terraform-providers terraform-resources terraform-state terraform-variaveis terraform-local terraform-cloud-aws terraform-cloud-azure terraform-cloud-gcp