Skip to content

ya-kimura/projeto-infra-as-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto IAC

Requisitos

  • Terraform 0.14+
  • Packer 1.7+
  • Ansible 2.10+
  • Credenciais da AWS

Sobre este Projeto

Projeto para subir uma infrastutura base e provisionar uma ec2 que irá rodar uma aplicação simples em Nodejs.

Cria recursos como:

  • AMI baseada em Ubuntu 20.04
  • EC2 instance

Arquitetura geral do projeto: arquitetura iac na aws

Executando o Projeto

**Note: ** Será necessário mudar a zona de disponibilidade tanto no Terraform quanto no Packer.

Executando o packer:

cd packer/

Em seguida rodar o comando docker abaixo.

docker run --rm -it -v $PWD:/app -w /app --entrypoint "" hashicorp/packer:light sh 

Instalar o ansible dentro container do packer:

apk -U add ansible

Fazer o export da chaves AWS:

export AWS_ACCESS_KEY_ID=" "
export AWS_SECRET_ACCESS_KEY=" "

Build do packer:

packer build packer.pkr.hcl

Notes: Antes de fazer o build, se desejar, pode rodar um validate antes. "packer validate"

Após o build o packer informará o id da ami.

Executando o Terraform:

cd terraform/

Em seguida rodar o comando docker abaixo:

docker run --rm -it -v $PWD:/app -w /app --entrypoint "" hashicorp/terraform:light sh 

Fazer o export da chaves AWS:

export AWS_ACCESS_KEY_ID=" "
export AWS_SECRET_ACCESS_KEY=" "

Executando o terraform plan e apply:

terraform plan

Após rodar o plano, o terraform irá informar quais recursos ele irá criar na aws, se tudo estiver ok, segue com o apply:

terraform apply

Ao concluir o processo, o terraform informará o output com o public_ip e dns_ip.

Mais sobre os recursos terraform neste projeto: terrafom-docs.

Todo

  • Criar Makefile
  • Adicionar step do packer no pipeline
  • Adicionar testes de infra via molécule
  • Desenvolver CRUD da API nodejs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •