Visão Geral
Curso Preparação para a Certificação HashiCorp Terraform Certified Associate. Este curso intensivo e focado é projetado especificamente para engenheiros de DevOps, engenheiros de Cloud, arquitetos de infraestrutura e profissionais de TI que desejam obter a certificação HashiCorp Certified Terraform Associate. Do ponto de vista técnico, o curso cobrirá todos os objetivos do exame, desde os conceitos fundamentais de Infrastructure as Code (IaC) e a arquitetura do Terraform, passando pela sintaxe HCL, o ciclo de vida do Terraform CLI (init, plan, apply, destroy), gerenciamento de estado (local e remoto), uso de providers, módulos, e as capacidades básicas do Terraform Cloud/Enterprise. O foco será em exemplos práticos, laboratórios e cenários de exame para garantir que os participantes não apenas compreendam a teoria, mas também sejam capazes de aplicá-la e demonstrar proficiência para o exame.
Curso Preparação para a Certificação HashiCorp Terraform Certified Associate, a certificação HashiCorp Certified Terraform Associate valida as habilidades dos profissionais em uma das ferramentas de IaC mais dominantes do mercado. Para as empresas, significa ter uma equipe que pode provisionar e gerenciar infraestrutura de forma consistente, escalável e segura, reduzindo erros manuais e acelerando o tempo de entrega de projetos. A certificação atesta a capacidade de padronizar ambientes e implementar práticas de DevOps eficazes, o que leva a maior agilidade nos negócios, otimização de custos e melhor governança de TI. Profissionais certificados são altamente valorizados e procurados, impulsionando a eficiência e a inovação nas organizações.
Conteúdo Programatico
Módulo 1: Introdução à IaC e Fundamentos do Terraform (3 horas)
- 1.1. O que é Infrastructure as Code (IaC)?
- Definição, benefícios e princípios.
- Ferramentas de IaC: declarativas vs. imperativas.
- 1.2. Introdução ao Terraform:
- Propósito e casos de uso do Terraform.
- Comparativo com outras ferramentas (Ansible, Chef, Puppet, CloudFormation).
- 1.3. Arquitetura do Terraform:
- Terraform Core.
- Providers (Provedores de Infraestrutura).
- State (Estado).
- 1.4. Instalação e Configuração Básica do Terraform CLI:
- Instalando o Terraform.
- Configuração inicial de um provedor (ex: AWS, Azure, GCP).
- Prática: Instalar o Terraform CLI. Configurar um provedor de nuvem básico. Rodar um
terraform init e terraform plan simples.
Módulo 2: Sintaxe HCL e Blocos de Configuração Essenciais (4 horas)
- 2.1. HashiCorp Configuration Language (HCL):
- Sintaxe básica HCL: blocos, argumentos, atributos.
- Tipos de dados HCL (strings, numbers, booleans, lists, maps, objects).
- 2.2. Bloco
resource:
- Definindo recursos de infraestrutura (ex:
aws_instance, azurerm_resource_group, google_compute_instance).
- Nomes lógicos e nomes de recursos.
- 2.3. Bloco
data (Data Sources):
- Consultando informações de infraestrutura existente.
- Exemplos de uso (ex:
aws_ami, azurerm_resource_group, google_compute_subnetwork).
- 2.4. Variáveis de Entrada (
variable):
- Definindo variáveis para tornar as configurações reutilizáveis.
default, description, type.
- Métodos de passagem de variáveis (CLI,
.tfvars, variáveis de ambiente).
- 2.5. Saídas (
output):
- Expondo informações úteis da infraestrutura provisionada.
- 2.6. Variáveis Locais (
locals):
- Definindo variáveis intermediárias para simplificar expressões complexas.
- Prática: Escrever uma configuração Terraform com recursos, data sources, variáveis de entrada e outputs para provisionar uma VM básica em um provedor de nuvem.
Módulo 3: O Ciclo de Vida do Terraform CLI (5 horas)
- 3.1.
terraform init:
- Inicialização de diretórios de trabalho.
- Download de plugins de providers e módulos.
- Configuração de backends de estado.
- 3.2.
terraform plan:
- Geração de um plano de execução.
- Analisando o plano: adições, modificações, deleções.
terraform plan -out=file.
- 3.3.
terraform apply:
- Executando o plano para provisionar a infraestrutura.
- Confirmação e automação.
- 3.4.
terraform destroy:
- Removendo a infraestrutura gerenciada pelo Terraform.
- 3.5. Comandos de Validação e Formatação:
terraform validate: Verificando a sintaxe e a consistência da configuração.
terraform fmt: Formatando arquivos HCL.
tflint: Ferramenta de linting (opcional, mas recomendado).
- 3.6. Gerenciamento de Recursos Específicos:
terraform import: Importando infraestrutura existente para o estado do Terraform.
terraform taint / untaint: Marcando recursos para serem recriados.
terraform refresh: Atualizando o estado local com a infraestrutura real.
- 3.7. Workspaces (
terraform workspace):
- Gerenciando múltiplos ambientes (dev, prod) a partir da mesma configuração.
- Prática: Realizar o ciclo de vida completo (
init, plan, apply, destroy). Utilizar validate e fmt. Importar um recurso existente. Criar e gerenciar workspaces.
Módulo 4: Providers, Recursos e Meta-Argumentos (3 horas)
- 4.1. Configuração de Providers:
- Bloco
provider.
- Múltiplas instâncias de provedores (aliasing).
- Versão de provedores.
- 4.2. Atributos e Referências:
- Acessando atributos de recursos e data sources.
- Interpolação de variáveis e expressões.
- 4.3. Meta-Argumento
count:
- Provisionando múltiplas instâncias do mesmo recurso.
- Acessando elementos da lista de recursos.
- 4.4. Meta-Argumento
for_each:
- Provisionando múltiplos recursos de forma mais flexível com mapas e sets.
- 4.5. Meta-Argumento
depends_on:
- Gerenciando dependências explícitas entre recursos.
- Prática: Usar
count para criar múltiplas VMs. Usar for_each para criar recursos baseados em um mapa. Adicionar uma dependência explícita usando depends_on.
Módulo 5: Gerenciamento de Estado (State Management) (3 horas)
- 5.1. O Arquivo de Estado (State File):
- O que é o estado do Terraform e por que ele é crucial.
- Onde o estado é armazenado localmente (
terraform.tfstate).
- Conteúdo do arquivo de estado (mapeamento da infraestrutura real).
- 5.2. Backends de Estado Remotos:
- Benefícios do estado remoto (colaboração, bloqueio, durabilidade).
- Configurando backends comuns (S3, Azure Storage Account, GCS, Terraform Cloud).
- Considerações de segurança para o estado remoto.
- 5.3. Bloqueio de Estado (State Locking):
- Como o Terraform evita edições simultâneas do estado.
- O papel dos backends no bloqueio.
- 5.4. Manipulação do Estado (
terraform state commands):
list, show, mv, rm.
- Removendo recursos do estado (
state rm).
- Importando recursos para o estado (
state import).
- 5.5. Dados Sensíveis no Estado:
- Limitações e melhores práticas para senhas e chaves.
- Prática: Configurar um backend de estado remoto (ex: S3 ou Azure Storage). Realizar operações de estado (
terraform state list, terraform state rm). Discutir como evitar dados sensíveis no estado.
Módulo 6: Reutilização de Código com Módulos (3 horas)
- 6.1. O que são Módulos Terraform?
- Encapsulando e reutilizando configurações Terraform.
- Hierarquia de módulos (Root Module, Child Modules).
- 6.2. Estrutura de um Módulo:
main.tf, variables.tf, outputs.tf.
- 6.3. Fontes de Módulos (Module Sources):
- Módulos locais.
- Módulos remotos (Terraform Registry, Git, S3/GCS).
- 6.4. Passando Variáveis e Recebendo Outputs de Módulos:
source, version.
- Input
variables e Output attributes.
- 6.5. Boas Práticas para Módulos:
- Granularidade, documentação, versionamento.
- Prática: Criar um módulo Terraform reutilizável (ex: para uma rede VPC/VNet básica). Consumir o módulo em uma configuração raiz e passar variáveis.
Módulo 7: Terraform Cloud/Enterprise e Preparação Final (2 horas)
- 7.1. Introdução ao Terraform Cloud/Enterprise:
- O que é e suas principais funcionalidades.
- Remote Operations: Execução de Terraform na nuvem.
- Workspaces e Organizações.
- Version Control System (VCS) Integration: Fluxo de trabalho baseado em Git.
- 7.2. Política como Código (Policy as Code):
- Visão geral do Sentinel para garantir conformidade e governança.
- 7.3. Gerenciamento de Custos e Colaboração:
- Estimativa de custos.
- Colaboração em equipes.
- 7.4. Revisão dos Objetivos do Exame:
- Revisão ponto a ponto de todos os objetivos do exame HashiCorp Certified Terraform Associate.
- 7.5. Estratégias para o Exame:
- Formato do exame, tipos de questão.
- Dicas para a prova (gerenciamento de tempo, leitura de questões).
- Recursos de estudo adicionais (documentação, simulados).
- Prática: Conectar uma configuração local ao Terraform Cloud e executar um
plan/apply remoto. Revisar questões de exemplo no estilo do exame.