Ementa do Curso: Terraform na Prática com Foco em Segurança
Módulo 0: A Grande Oportunidade em Cloud e DevOps
- Aula 1: Boas-vindas e a jornada do curso
- Aula 2: O que é Infraestrutura como Código (IaC) e por que ela domina o mercado?
- Aula 3: Apresentando o Terraform: A ferramenta padrão para IaC
- Aula 4: O Problema: Falhas de segurança por configurações incorretas
- Aula 5: Preparando o ambiente: Terraform, CLI da nuvem, VS Code
📋 Pré-requisitos e Instalação do Terraform
🐧 Instalação no Linux/WSL
Ubuntu/Debian:
# Adicionar repositório oficial HashiCorp
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
# Atualizar e instalar
sudo apt update && sudo apt install terraform
# Verificar instalação
terraform --version
CentOS/RHEL/Fedora:
# Adicionar repositório HashiCorp
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
# Instalar Terraform
sudo yum -y install terraform
# Verificar instalação
terraform --version
Instalação Manual (qualquer distribuição):
# Baixar binário (verificar versão mais recente em terraform.io)
wget https://releases.hashicorp.com/terraform/1.7.0/terraform_1.7.0_linux_amd64.zip
# Extrair e instalar
unzip terraform_1.7.0_linux_amd64.zip
sudo mv terraform /usr/local/bin/
# Verificar instalação
terraform --version
🍎 Instalação no macOS
Método 1 - Homebrew (Recomendado):
# Instalar Homebrew (se não estiver instalado)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Instalar Terraform
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
# Verificar instalação
terraform --version
Método 2 - Download Manual:
# Baixar para macOS (Intel)
curl -O https://releases.hashicorp.com/terraform/1.7.0/terraform_1.7.0_darwin_amd64.zip
# Para macOS (Apple Silicon/M1/M2)
curl -O https://releases.hashicorp.com/terraform/1.7.0/terraform_1.7.0_darwin_arm64.zip
# Extrair e instalar
unzip terraform_1.7.0_darwin_*.zip
sudo mv terraform /usr/local/bin/
# Verificar instalação
terraform --version
Configuração do PATH (se necessário):
# Adicionar ao ~/.bashrc ou ~/.zshrc
echo 'export PATH=$PATH:/usr/local/bin' >> ~/.bashrc
source ~/.bashrc
📚 Aulas Disponíveis
Introdução e Fundamentos:
- Sobre o Instrutor
- Introdução ao IaC
- Benefícios do Terraform
- Sintaxe HCL
- Ciclo de Vida
Conceitos Intermediários:
- Variáveis e Outputs
- Tipos de Variáveis
- Count e For-Each
- Comandos fmt, validate, show
- Data Blocks
- Workspaces
- Locals
Estado e Backend:
- Terraform State Remoto
- Arquivo .tfvars
Segurança e Compliance:
- Trivy SAST Shift Left
- Trivy SAST Teórico
- Checkov - Teoria
- Checkov - Prática
- Checkov - Integrações
- Policy as Code - OPA
- OPA Confest
- Linguagem Rego
Módulos e Gestão de Segredos:
- Módulo Terraform VM
- Dados Sensíveis
- Azure Key Vault
- VM com Key Vault
Terraform Cloud e Enterprise:
- Terraform Cloud
- Terraform Sentinel
Laboratórios Práticos:
- Lab: Resource Group
- Lab: Variáveis e Outputs
- Lab: For-Each e Count
- Lab: Fmt e Show
- Lab: State Remoto
- Lab: Data Blocks
- Lab: TFVars
- Lab: Workspaces
- Lab: Locals
- Lab: Trivy SAST
- Lab: Checkov
- Lab: OPA Storage/Conftest
- Lab: OPA VM/Conftest
- Lab: Módulos
- Lab: Key Vault
- Lab: Terraform Cloud
Projeto Final:
- Teórico Projeto Final
- Projeto Final (Apresentação)
- Projeto Final
- Projeto Final Corrigido
📚 Recursos Adicionais
🎓 Certificação
🔗 Links Úteis
💡 Nota: Este curso aborda os fundamentos essenciais do Terraform com foco em Azure e práticas de segurança. Continue praticando com projetos reais para aprofundar o conhecimento!