Este projeto demonstra a criação e gerenciamento de infraestrutura na *AWS utilizando Terraform, seguindo boas práticas de *Infrastructure as Code (IaC) e integração com GitHub.
O objetivo é provisionar recursos na AWS de forma automatizada, versionada e reproduzível.
- Terraform
- AWS
- EC2
- S3
- DynamoDB
- Git
- GitHub
- Linux
Este projeto cria os seguintes recursos na AWS:
- Instância EC2
- Bucket S3 para armazenar o Terraform State
- DynamoDB para controle de lock do estado
O Terraform provisiona infraestrutura na AWS utilizando backend remoto para armazenar o estado.
Arquitetura:
Developer ↓ GitHub Repository ↓ Terraform ↓ AWS Infrastructure ├── EC2 Instance ├── S3 (Terraform State) └── DynamoDB (State Lock)
projeto-devops │ ├── backend.tf ├── main.tf ├── s3.tf ├── README.md └── .gitignore
O Terraform está configurado para utilizar S3 como backend remoto e DynamoDB para state locking.
Isso evita conflitos quando múltiplos usuários executam o Terraform.
bash git clone https://github.com/SantRhay/projeto-devops.git cd projeto-devops
bash terraform init
bash terraform validate
bash terraform plan
bash terraform apply
- Terraform State remoto
- State Lock com DynamoDB
- Versionamento com Git
- Arquivos sensíveis ignorados com .gitignore
- Estrutura Terraform com Modules
- Ambientes dev e prod
- Deploy automático via CI/CD
- Implementação de VPC customizada