Skip to content
/ aws-vpc Public

🏗️📦☁️ Repositório da aula de VPC do curso Arquitetura de Containers na AWS da LINUXTips

License

Notifications You must be signed in to change notification settings

Kecbm/aws-vpc

Repository files navigation

aws-vpc

🏗️📦☁️ Repositório da aula de VPC do curso Arquitetura de Containers na AWS da LINUXTips - ministrado pelo Matheus Fidelis

Este repositório contém os arquivos de configuração Terraform para a criação e gerenciamento de uma VPC na AWS, desenvolvidos durante o day-1 do curso.



Pré-requisitos

Antes de começar, certifique-se de ter os seguintes programas instalados:


Configuração do Usuário AWS

  1. Criação do Usuário AWS: Crie um usuário com permissões de administrador na conta AWS;
  2. Geração das Credenciais: Gere as chaves de acesso (Access Key ID e Secret Access Key) para configurar a CLI e permitir que o Terraform interaja com a AWS.

Configuração do Ambiente

Antes de executar o Terraform, você precisa configurar os arquivos de variáveis específicas do ambiente. Para isso, copie o arquivo terraform.tfvars.example e cole na pasta renomeando para terraform.tfvars. Em seguida preencha os campos com as informações necessárias.

Siga o mesmo procedimento para o arquivo backend.tfvars.example e gere o arquivo backend.tfvars com as informações necessárias.



Estrutura Desenvolvida

O projeto foi desenvolvido para implementar uma infraestrutura de rede segura e escalável na AWS, utilizando o Terraform. A estrutura abrange:

  • VPC: Virtual Private Cloud que isola os recursos de rede;
  • Subnets: Subnets privadas e públicas para separar o tráfego e aumentar a segurança;
  • Internet Gateway: Permite a comunicação entre a VPC e a Internet;
  • NAT Gateway: Proporciona acesso à Internet para instâncias nas subnets privadas;
  • Routing Tables: Define o roteamento dentro da VPC;
  • Parameter Store: Armazenamento seguro de parâmetros de configuração, como segredos e variáveis sensíveis;
  • Outputs: Exposição dos valores importantes após a execução do Terraform, como IDs de VPC, Subnets, etc.

Arquitetura Inicial

VPC

Imagem copiada do Repositório do Alex Soares.

Após a criação de cada recurso, é recomendável acessar a AWS Management Console para verificar se os recursos foram configurados corretamente.



Tecnologias utilizadas

  • AWS: Plataforma de serviços em nuvem utilizada para hospedar a VPC e os demais recursos;
  • Terraform: Ferramenta de IaC (Infrastructure as Code) usada para automatizar a criação e gestão da infraestrutura.
AWS Terraform


Terraform

Formatação do Código

Para padronizar a indentação dos arquivos Terraform, execute:

terraform fmt --recursive

Deploy da Infraestrutura

Para aplicar as configurações e criar os recursos na AWS, use:

terraform apply --auto-approve -var-file=environment/dev/terraform.tfvars

Destruição da Infraestrutura

Se precisar excluir os recursos criados, execute:

terraform destroy --auto-approve -var-file=environment/dev/terraform.tfvars


Utilitários

Nesta seção, você encontrará links úteis que complementam a implementação deste projeto de VPC na AWS utilizando Terraform. Esses recursos são essenciais para quem deseja aprofundar seu conhecimento sobre o tema, oferecendo uma compreensão mais abrangente das melhores práticas e das decisões arquitetônicas envolvidas.

  • Exemplo de Documentação: Este link leva a um exemplo detalhado de documentação de um projeto semelhante. Ele pode servir como uma referência para estruturar sua própria documentação, garantindo que todos os aspectos críticos do projeto sejam claramente comunicados e facilmente compreendidos;
  • Motivação para Implementação da VPC: Aqui você encontrará um exemplo prático que explica a motivação por trás da implementação de uma VPC com esta estrutura específica. Este recurso pode ser especialmente útil para justificar as escolhas de design do projeto e fornecer um contexto mais amplo sobre as vantagens e desafios envolvidos;
  • Estrutura de Arquitetura por Camadas: esse projeto que detalha a implementação da aplicação em camadas na AWS. A arquitetura inclui camadas de rede (VPC e sub-redes), dados (armazenamento), e computação (execução de aplicações), tudo gerenciado via Terraform. É uma ótima referência para entender a modularidade e escalabilidade em ambientes de infraestrutura como código.


Projeto desenvolvido por Klecianny Melo 😁

About

🏗️📦☁️ Repositório da aula de VPC do curso Arquitetura de Containers na AWS da LINUXTips

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages