Pular para o conteúdo principal

Terraform Cloud - Introdução

Introdução​

O Terraform Cloud é uma plataforma SaaS (Software como Serviço) da HashiCorp que permite gerenciar infraestrutura como código de forma centralizada, colaborativa e segura. Ele é ideal para equipes que trabalham com infraestrutura automatizada em nuvem, oferecendo controle de versionamento, armazenamento remoto de estado e execução automatizada de planos.


O que é​

O Terraform Cloud é uma versão hospedada do Terraform que oferece:

  • Backend remoto para o arquivo de estado (terraform.tfstate)
  • Bloqueio de execução concorrente (state locking)
  • Integração com VCS (GitHub, GitLab, Bitbucket, etc.)
  • Execução automatizada de plan e apply
  • Controle de acesso baseado em times
  • Políticas como código com Sentinel (em planos pagos)
  • Armazenamento seguro de variáveis sensíveis

Enquanto o Terraform CLI roda localmente, o Terraform Cloud centraliza e automatiza esses processos para times maiores ou ambientes mais controlados.


Quais recursos tem? Diferenças do Terraform CLI (local)​

RecursoTerraform CLI (Local)Terraform Cloud
Execução de planosManual (local)Automática ou manual
Armazenamento de estadoLocal/Remoto (S3, etc)Remoto e seguro
Bloqueio de estadoManual ou via backendAutomático
Integração com VCSNãoSim
Controle de acesso (RBAC)NãoSim (por time)
Auditoria e logsLimitadoCentralizado
Políticas de segurançaManualSentinel (avançado)

Exemplo prático: usando Terraform Cloud com Azure​

Pré-requisitos​

  • Conta no Terraform Cloud
  • Projeto Terraform existente (por exemplo: criação de uma VM no Azure)
  • GitHub com repositório contendo os arquivos .tf

Etapas​

  1. Crie um workspace no Terraform Cloud:

    • Nomeie o workspace (ex: azure-vm-dev)
    • Escolha VCS como método de conexão
    • Aponte para o repositório com o código
  2. Configure variáveis no Terraform Cloud:

    • Ex: ARM_CLIENT_ID, ARM_CLIENT_SECRET, ARM_SUBSCRIPTION_ID, ARM_TENANT_ID
    • Marque como sensitive se for secreto
  3. Push no repositório Git

    • O Terraform Cloud detecta a mudança e dispara automaticamente o terraform plan
  4. Aprovação manual (se configurado)

    • O apply pode ser executado manualmente após revisão

Boas práticas​

  • Use workspaces separados para ambientes (dev, hml, prod)
  • Nunca armazene secrets no código-fonte, use variáveis sensíveis no Terraform Cloud
  • Automatize via GitOps: push no repositório = nova execução
  • Configure acesso por times: menor privilégio possível
  • Revise planos antes do apply: mantenha segurança e controle
  • Utilize policies com Sentinel (em planos pagos) para validar regras de negócio/compliance

Com o Terraform Cloud, você ganha controle, automação e segurança em escala para sua infraestrutura como código, especialmente em ambientes colaborativos. É uma evolução natural ao sair do modo "manual" com o Terraform CLI para um ciclo mais completo e profissional.