Este curso foi desenvolvido por Abhishek Veeramalla, para estudo próprio estou traduzindo fazer fazendo algumas modificações para um melhor entendimento em portugues. Deixarei os links logo a baixo:
Playlist do youtube: https://www.youtube.com/@AbhishekVeeramalla/join
GitHub Repo: https://github.com/iam-veeramalla/terraform-zero-to-hero
Documentação Terraform: https://developer.hashicorp.com/terraform/language
Nesta sessão, apresentaremos os conceitos fundamentais de Terraform e Infraestrutura como Código (IaC). Saiba por que o Terraform é crucial para o gerenciamento de infraestrutura e como o IaC agiliza o provisionamento.
Suje a mão instalando o Terraform no MacOS, Linux e Windows. Iremos guiá-lo através do processo com instruções e comandos claros.
Mergulhe na integração da AWS com o Terraform. Você aprenderá como configurar suas credenciais da AWS e configurar o provedor da AWS no Terraform para iniciar o provisionamento de recursos.
Comece a escrever código Terraform real com um exemplo simples. Aprenda sobre a estrutura básica de um arquivo de configuração do Terraform e como definir recursos usando a linguagem HCL.
Entenda o ciclo de vida do terraform. O que é terraform init
, plan
e apply
.
Aumente suas habilidades provisionando uma instância EC2 na AWS usando Terraform. Explore atributos como tipo de instância, AMI e tags para personalizar sua instância.
Entenda a importância dos arquivos de estado do Terraform. Saiba mais sobre os estados desejados e atuais e como o Terraform gerencia esses estados para garantir a consistência da infraestrutura.
Aprofunde seu conhecimento sobre fornecedores e recursos. Explore a função de diferentes provedores para diversas plataformas de nuvem e entenda como os recursos definem os componentes da infraestrutura.
Descubra o poder das variáveis para configurações dinâmicas. Aprenda como definir, declarar e utilizar variáveis de forma eficaz. Explore resultados para recuperar e exibir informações essenciais.
Eleve suas configurações com expressões condicionais, adicionando lógica ao seu código. Apresentaremos as funções integradas do Terraform para tarefas como manipulação de strings e cálculos.
Domine a arte de depurar configurações do Terraform. Além disso, saiba por que a formatação adequada com o terraform fmt é crucial.
Libere o potencial de reutilização com módulos Terraform. Entenda como os módulos permitem criar componentes de infraestrutura compartilháveis e organizados.
Simplifique expressões complexas usando valores locais. Mergulhe nas fontes de dados e aprenda como buscar dados de recursos existentes ou sistemas externos, aumentando a flexibilidade das suas configurações.
Explore a versatilidade de usar variáveis dentro de módulos para personalizar seu comportamento. Aprenda como os insumos funcionam nos módulos e os benefícios que eles oferecem.
Utilize as saídas do módulo para acessar informações críticas ou propagar dados para sua configuração raiz. Aprenda como tornar seus módulos mais informativos e úteis.
Embarque em uma jornada pelo Terraform Registry. Descubra módulos pré-construídos contribuídos pela comunidade e aprenda como incorporá-los em suas próprias configurações.
Colabore de forma eficaz usando Git e controle de versão. Aprenda comandos fundamentais do Git, como clonar, extrair e enviar repositórios para aprimorar o trabalho em equipe.
Enfrente os desafios de segurança associados a dados confidenciais no controle de versão. Explore a importância de .gitignore para impedir que arquivos confidenciais sejam confirmados.
Descubra a função dos back-ends do Terraform no armazenamento de estado remoto. Saiba por que eles são essenciais para manter o estado e as configurações da infraestrutura.
Obtenha experiência prática configurando um bucket S3 como back-end para armazenamento de estado remoto. Entenda como essa configuração melhora a colaboração e o gerenciamento de estado.
Mergulhe no bloqueio de estado e na prevenção de atualizações simultâneas. Implemente o bloqueio de estado usando DynamoDB como mecanismo de back-end, garantindo a consistência do estado.
Aprenda sobre provisionadores, mecanismos para executar ações em recursos durante a criação e destruição. Entenda como eles facilitam a customização.
Diferencie os provisionadores de execução remota e de execução local. Explore como o remote-exec provisiona ações em servidores remotos, enquanto o local-exec executa tarefas localmente.
Descubra quando usar provisionadores durante a criação ou destruição de recursos. Configure provisionadores em blocos de recursos para executar ações específicas.
Obtenha insights sobre como lidar com falhas de provisionador. Saiba mais sobre mecanismos de repetição, tempos limite e o atributo on_failure para controlar o comportamento do provisionador em caso de falha.
Compreender o conceito de espaços de trabalho e o seu papel na gestão de diferentes ambientes. Saiba como os espaços de trabalho ajudam no isolamento de configurações.
Aprenda como criar novos espaços de trabalho e alternar entre eles usando comandos de espaço de trabalho do terraform. Compreender o seu significado na gestão ambiental.
Saiba mais sobre como os espaços de trabalho simplificam o gerenciamento do ambiente. Compreenda seus benefícios na manutenção de arquivos de estado separados para diversas configurações.
Obtenha uma visão geral do HashiCorp Vault, uma ferramenta poderosa para gerenciamento de segredos e proteção de dados. Entenda sua importância na manutenção de configurações seguras.
Aprenda como integrar o Terraform ao Vault para gerenciar dados confidenciais com segurança. Descubra como o Vault pode ser usado para armazenar e distribuir segredos nas configurações.