
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.
Posterior a instalação da awscli, basta rodar:
$ aws configure
E preencher as credenciais de acesso.
Subnet privada: kubernetes.io/role/internal-elb
Subnet pública: kubernetes.io/role/elb
Veja no artigo em anexo como configurar sua conta no GitHub para não pedir senha via SSH.
Vamos converter todo o código já produzido para no nosso primeiro Terraform Module.
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!