Este projeto contém um template em JSON do AWS CloudFormation que provisiona uma arquitetura de infraestrutura em nuvem simples e segura, ideal para aprendizado ou projetos iniciais na AWS.
Ao executar este template, os seguintes recursos serão criados na sua conta AWS:
| Recurso | Descrição |
|---|---|
| VPC | Rede virtual privada (10.0.0.0/16) |
| Sub-rede pública | Sub-rede (10.0.1.0/24) com IPs públicos automáticos |
| Internet Gateway | Permite tráfego da VPC para a internet |
| Tabela de rota | Roteia tráfego da sub-rede para a internet |
| Security Group | Permite tráfego SSH (porta 22) e HTTP (porta 80) de qualquer IP |
| Instância EC2 | Instância do tipo t3.micro com AMI do Amazon Linux 2 (por região) |
| Bucket S3 | Bucket privado com bloqueio de acesso público ativado |
| Usuário IAM | Usuário com permissões limitadas para listar buckets e ler objetos do bucket criado |
Segurança: O bucket S3 é configurado com
PublicAccessBlockativado por padrão — não é acessível publicamente.
Antes de implantar:
- Conta AWS ativa com permissões para criar recursos (idealmente com política
AdministratorAccesspara testes). - Par de chaves SSH (Key Pair) já criado na região onde você vai implantar (ex:
meu-par-chaves).
→ Você pode criar em: EC2 Console > Key Pairs. - Nome de bucket S3 único globalmente (ex:
meu-desafio-bucket-2025-10-14).
→ Nomes de bucket não podem conter maiúscas, underscores ou caracteres especiais.
- Salve o arquivo como
template-desafio.json. - Acesse o AWS CloudFormation Console.
- Clique em Create stack > With new resources (standard).
- Selecione Upload a template file e envie o
template-desafio.json. - Clique em Next.
- Preencha os parâmetros:
- Stack name: ex:
Desafio-Arquitetura-Iniciante - BucketName: nome único do seu bucket S3 (ex:
meu-bucket-desafio-andrea-123) - InstanceType: deixe como
t3.micro(gratuito na camada gratuita) - KeyName: selecione o par de chaves SSH que você criou
- Stack name: ex:
- Clique em Next > Next.
- Marque a caixa "I acknowledge that AWS CloudFormation might create IAM resources".
- Clique em Create stack.
A criação leva de 2 a 5 minutos.
aws cloudformation create-stack \
--stack-name Desafio-Arquitetura-Iniciante \
--template-body file://template-desafio.json \
--parameters \
ParameterKey=BucketName,ParameterValue=seu-bucket-unico-aqui \
ParameterKey=KeyName,ParameterValue=seu-par-de-chaves \
--capabilities CAPABILITY_IAM
⚠️ Avisos e Boas Práticas
Não use este template em produção sem ajustes. A regra de segurança permite SSH de qualquer IP (0.0.0.0/0) — em ambientes reais, restrinja ao seu IP.
O bucket S3 é privado por padrão, mas verifique políticas se precisar de acesso público.
A instância EC2 não tem role IAM atribuída. Se precisar de acesso a outros serviços AWS, crie uma IAM Role e anexe à instância.
Lembre-se de deletar a stack quando não precisar mais usar, para evitar custos.