Módulo 7
Terraform e Ansible
Clicar no console não escala nem se audita. Com Terraform você declara a infraestrutura, versiona no Git e aplica com revisão; com Ansible você configura o que roda dentro dos hosts de forma idempotente. Aqui você provisiona dev e staging idênticos, aprende state remoto com lock, módulos reutilizáveis e como identificar e resolver drift — a diferença entre o código e a realidade.
0/8 itens concluídos
O que você vai saber fazer
- Escrever configuração Terraform com variáveis e outputs
- Configurar backend remoto com lock e isolar ambientes
- Criar e consumir módulos reutilizáveis
- Detectar e resolver drift com plan e import
- Configurar hosts com playbooks e roles idempotentes
Pré-requisitos
- • Módulo 6 concluído
Tópicos
Entrega do módulo
Ambientes dev e staging provisionados por Terraform e host configurado por Ansible sem passos manuais.
Checklist
- ☐ State em S3 com lock e versionamento habilitado
- ☐ Ambientes separados por diretório ou workspace, com variáveis próprias
- ☐ Módulo de rede reutilizado pelos dois ambientes
- ☐ terraform plan limpo após apply (sem drift)
- ☐ Playbook aplicado duas vezes com resultado 'changed=0' na segunda
Módulo bloqueado
Aprove o exame do módulo anterior para liberar este conteúdo.
Aulas
5 aulas neste módulo
- 1Terraform: linguagem, ciclo e o papel do state50 min · TerraformIntermediário+25 XP
- 2Backend remoto, lock e separação de ambientes45 min · Terraform, S3, DynamoDBAvançado+25 XP
- 3Módulos, reuso e combate ao drift50 min · Terraform, CIAvançado+25 XP
- 4Ansible: inventário, playbooks e idempotência50 min · Ansible, SSHIntermediário+25 XP
- 5Terraform e Ansible juntos no fluxo de entrega45 min · Terraform, Ansible, GitHub ActionsAvançado+25 XP
Prática
Laboratórios do módulo
Terraform com state remoto e dois ambientes
AvançadoProvisionar dev e staging com o mesmo módulo e state em S3 com lock.
Ver passo a passoProvocar e resolver drift de Terraform
AvançadoAlterar um recurso pelo console, detectar a divergência e reconciliar.
Ver passo a passoPlaybook Ansible idempotente para o host da API
IntermediárioConfigurar o host inteiro por playbook, provando idempotência.
Ver passo a passo
Troubleshooting típico
Quando quebra
Sintoma: terraform plan quer destruir um recurso que ninguém mexeu no código. Investigação: alguém alterou o recurso no console (drift) ou o provider mudou o valor padrão. Correção: comparar com terraform state show, ajustar o código para refletir a realidade desejada, ou importar/atualizar o state. Prevenção: proibir alteração manual e rodar plan em CI a cada PR.
No CloudShop
Descrever toda a infraestrutura do CloudShop em código e configurar o host com Ansible.
Perguntas de entrevista
- Por que o state do Terraform precisa de lock?
- Como você isolaria dev, staging e produção?
- O que é idempotência e como o Ansible a garante?