0 XP
Módulo 6 · AWS, Cloud e Segurança

VPC, subnets, rotas, IGW e NAT

Avançado 50 min+25 XPAWS VPCRoute tables

Objetivos desta aula

  • Desenhar VPC com camadas
  • Entender o que torna uma subnet pública
  • Decidir sobre NAT considerando custo

VPC é a sua rede isolada na nuvem. O desenho padrão de produção tem três camadas: subnets públicas (ALB e NAT), subnets privadas de aplicação e subnets privadas de dados. Distribua em pelo menos duas zonas de disponibilidade — requisito de RDS multi-AZ e de tolerância a falha.

O que torna uma subnet 'pública' não é o nome: é a tabela de rotas apontar 0.0.0.0/0 para um Internet Gateway. Subnet privada usa NAT Gateway para sair (atualizar pacotes, chamar APIs) sem aceitar conexões de entrada. Confundir isso é a origem clássica de banco exposto na internet.

Atenção ao custo: NAT Gateway tem cobrança por hora e por dado processado, sendo um dos maiores vilões de fatura em ambiente de estudo. Alternativas: VPC endpoints para S3/ECR, instância NAT pequena em laboratório, ou simplesmente destruir o ambiente ao final do dia.

1. VPC é a sua rede privada na nuvem

Você escolhe o bloco (ex.: 10.20.0.0/16) e o divide em subnets, cada uma em uma zona de disponibilidade (AZ). Espalhar por pelo menos duas AZs é o que dá resiliência a falhas de datacenter.

2. Subnet pública x privada

O que torna uma subnet pública não é o nome: é a rota 0.0.0.0/0 apontando para um Internet Gateway. Subnets privadas mandam 0.0.0.0/0 para um NAT Gateway (só saída) ou não têm saída alguma.

3. Desenho em três camadas

  • Pública: ALB e NAT Gateway
  • Privada de aplicação: EC2, ECS ou nós do EKS
  • Privada de dados: RDS e ElastiCache, sem rota para a internet

4. Custo do NAT e VPC endpoints

NAT Gateway cobra por hora e por GB. Tráfego para S3 e DynamoDB pode passar por gateway endpoints gratuitos; para outros serviços, interface endpoints (pagos, mas às vezes mais baratos que o NAT).

5. Checagem final

Você deve desenhar a VPC do CloudShop com 2 AZs e 3 camadas e explicar por que o banco não tem rota para a internet.

Na prática

Criar a VPC do CloudShop por CLI

bash

VPC_ID=$(aws ec2 create-vpc --cidr-block 10.20.0.0/16 \
  --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=cloudshop},{Key=env,Value=dev}]' \
  --query Vpc.VpcId --output text)

PUB=$(aws ec2 create-subnet --vpc-id "$VPC_ID" --cidr-block 10.20.1.0/24 \
  --availability-zone us-east-1a --query Subnet.SubnetId --output text)
PRIV=$(aws ec2 create-subnet --vpc-id "$VPC_ID" --cidr-block 10.20.11.0/24 \
  --availability-zone us-east-1a --query Subnet.SubnetId --output text)

IGW=$(aws ec2 create-internet-gateway --query InternetGateway.InternetGatewayId --output text)
aws ec2 attach-internet-gateway --vpc-id "$VPC_ID" --internet-gateway-id "$IGW"

RT=$(aws ec2 create-route-table --vpc-id "$VPC_ID" --query RouteTable.RouteTableId --output text)
aws ec2 create-route --route-table-id "$RT" --destination-cidr-block 0.0.0.0/0 --gateway-id "$IGW"
aws ec2 associate-route-table --route-table-id "$RT" --subnet-id "$PUB"

aws ec2 describe-route-tables --filters "Name=vpc-id,Values=$VPC_ID" \
  --query 'RouteTables[].{RT:RouteTableId,Rotas:Routes[].DestinationCidrBlock}'

Nota de segurança: Nunca associe a subnet do banco a uma route table com rota para IGW: isso o torna alcançável da internet.

Plano de endereçamento da VPC dev

text

VPC 10.20.0.0/16
  public-a   10.20.0.0/24    rota 0.0.0.0/0 -> igw
  public-b   10.20.1.0/24    rota 0.0.0.0/0 -> igw
  app-a      10.20.10.0/24   rota 0.0.0.0/0 -> nat-a
  app-b      10.20.11.0/24   rota 0.0.0.0/0 -> nat-a  (dev: 1 NAT para economizar)
  data-a     10.20.20.0/24   sem rota externa
  data-b     10.20.21.0/24   sem rota externa

Inspecionar rotas com a CLI

bash

aws ec2 describe-route-tables --filters Name=vpc-id,Values=vpc-0abc \
  --query 'RouteTables[].{id:RouteTableId,routes:Routes[].[DestinationCidrBlock,GatewayId,NatGatewayId]}'

Por que isso importa

Sem entender rota e subnet você não depura 'a aplicação não alcança o banco' nem desenha ambiente auditável.

Erro comum

Colocar RDS em subnet pública para 'facilitar o acesso' e expor o banco.

Dica de produção

Reserve faixas por ambiente (dev 10.20/16, staging 10.30/16, prod 10.40/16) para permitir peering futuro sem conflito.

Alerta de segurança

Fluxo de saída irrestrito também é risco: exfiltração de dados sai por 443. Considere VPC endpoints.

Pergunta de entrevista

O que exatamente diferencia uma subnet pública de uma privada?

Glossário

IGW
Internet Gateway: componente que permite tráfego entre a VPC e a internet.
NAT Gateway
Serviço que permite saída à internet de subnets privadas, sem entrada.
AZ
Zona de disponibilidade: datacenter isolado dentro de uma região.
Internet Gateway
Componente que conecta a VPC à internet nos dois sentidos.
NAT Gateway
Permite saída para a internet a partir de subnets privadas.
VPC endpoint
Acesso privado a serviços AWS sem passar pela internet.

Conexão com o CloudShop

Construir a VPC 10.20.0.0/16 do CloudShop com camadas pública, aplicação e dados.

Quiz da aula

  1. 1. O que torna uma subnet pública?

  2. 2. O que torna uma subnet pública?

  3. 3. Como reduzir custo de tráfego privado para o S3?

Minhas anotações

Salvo automaticamente neste navegador.

AnteriorPróxima