Este repositório contém uma prova de conceito (PoC) para provisionamento de infraestrutura local utilizando Terraform com o LocalStack. A aplicação alvo é uma aplicação ASP.NET localizada em ./src/Web/WebBff.
- Terraform
- LocalStack
- AWS (simulada via LocalStack)
PoC-terraform/
├── src/
│ └── Web/
│ └── WebBff/ # Aplicação ASP.NET
└── terraform/
├── provider.tf # Configuração do LocalStack como provedor AWS
├── s3.tf # Criação de bucket S3
├── ec2.tf # Criação de instância EC2 simulada
├── outputs.tf # Variáveis de saída- Docker
- Terraform instalado globalmente (https://developer.hashicorp.com/terraform/install)
- LocalStack (via Docker ou
localstack-cli) - CLI da AWS (opcional, para testes)
Você pode subir o LocalStack com Docker:
docker run --rm -it -p 4566:4566 -p 4571:4571 localstack/localstackOu usar o CLI do LocalStack:
localstack startNo diretório terraform, execute os comandos abaixo:
cd terraform
# Inicializa o Terraform
terraform init
# Mostra o plano de execução
terraform plan
# Aplica a infraestrutura local
terraform applyEsses recursos são simulados no LocalStack:
- Bucket S3:
aspnet-app-deploy - Instância EC2 (simulada): usando uma AMI fictícia
- Saídas visíveis: nome do bucket
Você pode verificar os recursos via:
- Painel Web do LocalStack
- AWS CLI (configurada para apontar para o LocalStack)
- Logs do Docker
- A instância EC2 criada não executa uma VM real no LocalStack, apenas simula a criação.
- O bucket S3 é funcional localmente — você pode subir arquivos nele usando SDKs ou AWS CLI com endpoint local.