Curso HashiCorp Terraform Certified Associate Preparation
24 horasVisã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.
Objetivo
Ao final do Curso Preparação para a Certificação HashiCorp Terraform Certified Associate, você será capaz de:
- Compreender os conceitos fundamentais de Infrastructure as Code (IaC) e a proposta de valor do Terraform.
- Explicar a arquitetura do Terraform (Core, Providers, State).
- Dominar a linguagem de configuração HCL (HashiCorp Configuration Language) para definir recursos, data sources, variáveis e outputs.
- Utilizar o Terraform CLI para todas as etapas do ciclo de vida da infraestrutura (
init
,plan
,apply
,destroy
,validate
,fmt
,taint
,import
,workspace
). - Gerenciar e manipular o estado do Terraform (local, remoto, bloqueio, considerações de segurança).
- Desenvolver e consumir módulos Terraform para reutilização de código e modularidade.
- Entender o papel dos Providers e como configurá-los.
- Compreender as capacidades e usos do Terraform Cloud/Enterprise.
- Aplicar as melhores práticas para escrever e organizar configurações Terraform.
- Estar totalmente preparado e confiante para realizar e passar no exame HashiCorp Certified Terraform Associate.
Publico Alvo
- Profissionais buscando a Certificação: Indivíduos que pretendem fazer o exame HashiCorp Certified Terraform Associate.
- Engenheiros de DevOps/Cloud/Infraestrutura: Que utilizam ou planejam utilizar Terraform no dia a dia e querem formalizar seu conhecimento.
- Desenvolvedores: Que estão se aprofundando em IaC e automação de infraestrutura.
Pre-Requisitos
- Noções básicas de Cloud Computing: Familiaridade com conceitos de VMs, redes, armazenamento em qualquer provedor de nuvem (AWS, Azure, GCP).
- Familiaridade com linha de comando (CLI): Comandos básicos de navegação e execução.
- Conhecimento de um editor de texto (VS Code, Sublime Text, etc.).
- (Desejável) Noções de controle de versão (Git).
Materiais
Inglês/Português/Lab PráticoConteú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
eterraform 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.
- Definindo recursos de infraestrutura (ex:
- 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
). Utilizarvalidate
efmt
. 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.
- Bloco
- 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. Usarfor_each
para criar recursos baseados em um mapa. Adicionar uma dependência explícita usandodepends_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 Outputattributes
.
- 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.