Terraform para AWS
- Descrição
- Currículo
- FAQ
- Revisões
Você está a procura de um treinamento 100% prático, sem enrolação, e o melhor… com um projeto real que pode ser um case para suas futuras oportunidades?
Foi exatamente dessa forma que eu estruturei o curso Terraform para AWS.
Há muitos conceitos neste curso que você poderá aplicar em outros providers do Terraform, mas aqui temos o foco 100% na AWS, que hoje é o cloud provider mais utilizado do mundo.
Então deixa eu te explicar como está a grade deste treinamento:
-
Introdução: Por mais que você não tenha utilizado a AWS, teremos uma introdução amigável à ela. Vou te ensinar como criar uma conta e configurar a awscli para interagir com a mesma.
-
AWS mão na massa: Nesse módulo nós vamos fazer tudo manualmente. Desde a criação da parte de networking, deploy do EKS e Helm Charts. Isso porque é essencial você saber o que está fazendo, antes de transpor isso para código (IaC). Não tem como automatizar o que você não conhece.
-
Introdução ao Terraform e início do projeto: Aqui começamos efetivamente o nosso projeto, e juntamente, aprendendo conceitos do Terraform (workflow, providers, state, backend remoto, subcomandos, etc). Justamente o foco é aplicar em um projeto, simulando o que vai ser na vida real.
-
Introdução ao Terraform Modules: Terraform Modules é o padrão que usamos no mercado. Separar o código em pequenos pedaços reusáveis, sendo possível versionar e escalar a infraestrutura da sua empresa. Vamos aprender sobre o mesmos, convertendo o código existente para módulos.
-
Módulo do Cluster: Vamos criar um módulo para o nosso cluster EKS, juntamente com aquelas configurações adicionais como OIDC para usar o recurso de IRSA.
-
Módulo do Managed Node Group: O terceiro módulo, contendo o código para subir os nodes do EKS, onde efetivamente vão rodar os nossos workloads.
-
Módulo do AWS Load Balancer Controller: Um módulo para o add-on do EKS chamado AWS Load Balancer Controller. Com ele podemos criar ALB/NLBs na AWS via YAML. Várias configurações precisam ser feitas como IAM, SA, Helm… e é o caso perfeito para criarmos um módulo.
-
Finalização do super-módulo: Finalizamos o nosso projeto com um super-módulo, que utiliza sub-módulos. Além disso, vamos incrementar nosso projeto com boas práticas como terraform-docs.
E aí, está pronto para elevar suas skills em AWS e Terraform para o próximo nível?
Te espero do outro lado, será um prazer te ajudar nessa jornada!
-
1Introdução ao TreinamentoVídeo Aula
PS: Gastei uma média de R$50,00 gravando este treinamento na AWS, então muito provavelmente você vai gastar ainda menos que isso. Pense nisso como um investimento no seu conhecimento.
O projeto completo está em anexo nesta aula.
-
2Criação da conta na AWSVídeo Aula
-
3Configuração da awscliVídeo Aula
Posterior a instalação da awscli, basta rodar:
$ aws configure
E preencher as credenciais de acesso.
-
4Arquitetura do ProjetoVídeo Aula
-
5VPCVídeo Aula
-
6Subnets (privada e pública)Vídeo Aula
-
7Tags nas Subnets para AWS Load Balancer ControllerVídeo Aula
Subnet privada: kubernetes.io/role/internal-elb
Subnet pública: kubernetes.io/role/elb
-
8Internet Gateway e Route TableVídeo Aula
-
9Auto Assign Public IPVídeo Aula
-
10Bastion Host para confirmarVídeo Aula
-
11NAT Gateway e Route TableVídeo Aula
-
12Cluster IAM roleVídeo Aula
-
13Criação do cluster EKSVídeo Aula
-
14Node IAM roleVídeo Aula
-
15Managed Node GroupVídeo Aula
-
16OIDC providerVídeo Aula
-
17Deploy AWS Load Balancer ControllerVídeo Aula
-
18Clean up: Limpando tudo!Vídeo Aula
-
19Arquitetura do TerraformVídeo Aula
-
20Instalação do TerraformVídeo Aula
-
21Terraform WorkflowVídeo Aula
-
22Setup do repositório no GitHubVídeo Aula
Veja no artigo em anexo como configurar sua conta no GitHub para não pedir senha via SSH.
-
23ProvidersVídeo Aula
-
24Primeiro recurso: VPCVídeo Aula
-
25Terraform StateVídeo Aula
-
26Migrando o backend do tfstateVídeo Aula
-
27$ terraform fmtVídeo Aula
-
28Pre-commit hooks para TerraformVídeo Aula
-
29$ terraform validateVídeo Aula
-
30$ terraform consoleVídeo Aula
-
31$ terraform destroyVídeo Aula
-
32SubnetsVídeo Aula
-
33VariablesVídeo Aula
-
34terraform.tfvars (valores para variáveis)Vídeo Aula
-
35Region dinâmica e tags para ALBVídeo Aula
-
36Desacoplando tags usando localsVídeo Aula
-
37Private SubnetsVídeo Aula
-
38Variable "project_name"Vídeo Aula
-
39Internet Gateway e Route TableVídeo Aula
-
40NAT Gateway & EIPVídeo Aula
-
41Private Route TablesVídeo Aula