Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

AWS CloudFormation Template – Arquitetura Básica para Iniciantes

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.

O que este template cria?

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 PublicAccessBlock ativado por padrão — não é acessível publicamente.


Pré-requisitos

Antes de implantar:

  1. Conta AWS ativa com permissões para criar recursos (idealmente com política AdministratorAccess para testes).
  2. 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.
  3. 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.

Como implantar

Via AWS Management Console

  1. Salve o arquivo como template-desafio.json.
  2. Acesse o AWS CloudFormation Console.
  3. Clique em Create stack > With new resources (standard).
  4. Selecione Upload a template file e envie o template-desafio.json.
  5. Clique em Next.
  6. 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
  7. Clique em Next > Next.
  8. Marque a caixa "I acknowledge that AWS CloudFormation might create IAM resources".
  9. Clique em Create stack.

A criação leva de 2 a 5 minutos.

Via AWS CLI (opcional)

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.

About

Infraestrutura como código com AWS CloudFormation: template JSON que cria VPC, sub-rede pública, EC2, bucket S3 privado e usuário IAM. Projeto de aprendizado do curso AWS Foundations da DIO.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors