Conceitos Fundamentais de VPC
O que é uma VPC?
Uma VPC (Virtual Private Cloud) é sua rede privada virtual na AWS. É um espaço de rede isolado onde você implanta seus recursos AWS.
┌─────────────────────────────────────────────────────────────┐
│ AMAZON VPC │
├─────────────────────────────────────────────────────────────┤
│ │
│ "Seu datacenter virtual na nuvem" │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ VPC (10.0.0.0/16) │ │
│ │ │ │
│ │ Seu espaço de rede privado e isolado │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ Subnet 1 │ │ Subnet 2 │ │ │
│ │ │ 10.0.1.0/24 │ │ 10.0.2.0/24 │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌─────┐ │ │ ┌─────┐ │ │ │
│ │ │ │ EC2 │ │ │ │ RDS │ │ │ │
│ │ │ └─────┘ │ │ └─────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Características: │
│ • Isolado de outros VPCs e da Internet (por padrão) │
│ • Você controla o range de endereços IP │
│ • Você define as regras de segurança │
│ • Regional (abrange todas as AZs da região) │
│ │
└─────────────────────────────────────────────────────────────┘
Analogia: VPC = Prédio Comercial
┌─────────────────────────────────────────────────────────────┐
│ ANALOGIA: PRÉDIO COMERCIAL │
├─────────────────────────────────────────────────────────────┤
│ │
│ MUNDO REAL AWS │
│ ────────── ─── │
│ │
│ 🏢 Prédio = VPC │
│ (seu espaço privado) (sua rede privada) │
│ │
│ 🚪 Andares = Subnets │
│ (divisões internas) (sub-redes) │
│ │
│ 🔐 Portaria/Segurança = Internet Gateway │
│ (entrada controlada) (acesso à Internet) │
│ │
│ 📋 Crachá de acesso = Security Group │
│ (quem pode entrar onde) (regras de firewall) │
│ │
│ 🗺️ Plano de evacuação = Route Table │
│ (caminhos de circulação) (roteamento de tráfego) │
│ │
│ 🏠 Escritórios = Instâncias EC2 │
│ (espaços de trabalho) (seus servidores) │
│ │
└─────────────────────────────────────────────────────────────┘
Componentes de uma VPC
Visão Geral
┌─────────────────────────────────────────────────────────────┐
│ COMPONENTES VPC │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ VPC │ │
│ │ (container) │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ SUBNET │ │ SUBNET │ ← Sub-redes │ │
│ │ │ (pública) │ │ (privada) │ │ │
│ │ └──────┬──────┘ └──────┬──────┘ │ │
│ │ │ │ │ │
│ │ └────────┬───────┘ │ │
│ │ │ │ │
│ │ ┌────────┴────────┐ │ │
│ │ │ ROUTE TABLE │ ← Para onde vai o tráfego │ │
│ │ └────────┬────────┘ │ │
│ │ │ │ │
│ │ ┌───────────────┼───────────────┐ │ │
│ │ │ │ │ │ │
│ │ ▼ ▼ ▼ │ │
│ │ ┌─────┐ ┌─────────┐ ┌──────────┐ │ │
│ │ │ IGW │ │ NAT │ │ VPC │ │ │
│ │ │ │ │ Gateway │ │ Peering │ │ │
│ │ └─────┘ └─────────┘ └──────────┘ │ │
│ │ Internet Saída para Outro VPC │ │
│ │ subnet privada │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Tabela de Componentes
| Componente | Descrição | Obrigatório |
|---|---|---|
| VPC | Rede virtual isolada | Sim |
| Subnet | Sub-rede em uma AZ | Sim (ao menos 1) |
| Route Table | Regras de roteamento | Sim (criada automaticamente) |
| Internet Gateway | Acesso à Internet | Não (se privado) |
| NAT Gateway | Saída para Internet do privado | Não |
| Security Group | Firewall em nível de instância | Sim |
| NACL | Firewall em nível de subnet | Sim (padrão) |
VPC Padrão vs VPC Personalizado
┌─────────────────────────────────────────────────────────────┐
│ VPC PADRÃO vs VPC PERSONALIZADO │
├─────────────────────────────────────────────────────────────┤
│ │
│ VPC PADRÃO VPC PERSONALIZADO │
│ ─────────── ──────────────── │
│ │
│ • Criado automaticamente • Você cria │
│ • 1 por região • Quantos quiser │
│ • CIDR: 172.31.0.0/16 • CIDR: você escolhe │
│ • Subnets públicas automáticas • Você configura tudo │
│ • IGW anexado • Você anexa o IGW │
│ │
│ Quando usar: Quando usar: │
│ ✅ Testes rápidos ✅ Produção │
│ ✅ Aprendizado ✅ Segurança reforçada │
│ ❌ Produção ✅ Multi-tier │
│ │
│ ⚠️ Em produção, SEMPRE use uma VPC personalizada │
│ para maior controle de segurança │
│ │
└─────────────────────────────────────────────────────────────┘
Faixa de Endereços IP (CIDR)
O que é CIDR?
┌─────────────────────────────────────────────────────────────┐
│ NOTAÇÃO CIDR │
├─────────────────────────────────────────────────────────────┤
│ │
│ CIDR = Classless Inter-Domain Routing │
│ │
│ Formato: ENDEREÇO_REDE / PREFIXO │
│ │
│ Exemplo: 10.0.0.0/16 │
│ │ │ │
│ │ └── 16 bits fixos (rede) │
│ │ 16 bits variáveis (hosts) │
│ │ │
│ └── Endereço inicial da rede │
│ │
│ Cálculo do número de endereços: │
│ Fórmula: 2^(32 - prefixo) │
│ │
│ /16 = 2^(32-16) = 2^16 = 65.536 endereços │
│ /24 = 2^(32-24) = 2^8 = 256 endereços │
│ /28 = 2^(32-28) = 2^4 = 16 endereços │
│ │
└─────────────────────────────────────────────────────────────┘
Faixas Privadas (RFC 1918)
┌─────────────────────────────────────────────────────────────┐
│ FAIXAS DE IP PRIVADAS (RFC 1918) │
├─────────────────────────────────────────────────────────────┤
│ │
│ Essas faixas NÃO são roteadas na Internet │
│ → Use-as para seus VPCs │
│ │
│ CLASSE A: 10.0.0.0/8 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 10.0.0.0 → 10.255.255.255 │ │
│ │ 16.777.216 endereços │ │
│ │ Uso: Grandes empresas │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ CLASSE B: 172.16.0.0/12 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 172.16.0.0 → 172.31.255.255 │ │
│ │ 1.048.576 endereços │ │
│ │ Uso: Médias empresas │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ CLASSE C: 192.168.0.0/16 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 192.168.0.0 → 192.168.255.255 │ │
│ │ 65.536 endereços │ │
│ │ Uso: Redes domésticas, pequenas empresas │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ RECOMENDAÇÃO PARA AWS: │
│ Use 10.0.0.0/16 para começar (65.536 endereços) │
│ │
└─────────────────────────────────────────────────────────────┘
Tamanhos de VPC AWS
| CIDR | Endereços | Uso Recomendado |
|---|---|---|
| /16 | 65.536 | VPC padrão, recomendado |
| /20 | 4.096 | VPC médio |
| /24 | 256 | VPC pequeno, teste |
| /28 | 16 | Mínimo AWS |
Limites AWS
- CIDR mínimo: /28 (16 endereços)
- CIDR máximo: /16 (65.536 endereços)
- Uma VPC pode ter vários CIDR (até 5)
Endereços Reservados pela AWS
┌─────────────────────────────────────────────────────────────┐
│ ENDEREÇOS RESERVADOS POR SUBNET │
├─────────────────────────────────────────────────────────────┤
│ │
│ Para cada subnet, a AWS reserva 5 endereços: │
│ │
│ Exemplo: Subnet 10.0.1.0/24 (256 endereços) │
│ │
│ 10.0.1.0 → Endereço de rede │
│ 10.0.1.1 → Reservado AWS (roteador VPC) │
│ 10.0.1.2 → Reservado AWS (DNS) │
│ 10.0.1.3 → Reservado AWS (uso futuro) │
│ 10.0.1.255 → Broadcast (não suportado mas reservado) │
│ │
│ Endereços utilizáveis: 256 - 5 = 251 endereços │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Subnet /24: 251 endereços utilizáveis │ │
│ │ Subnet /25: 123 endereços utilizáveis │ │
│ │ Subnet /26: 59 endereços utilizáveis │ │
│ │ Subnet /27: 27 endereços utilizáveis │ │
│ │ Subnet /28: 11 endereços utilizáveis │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Arquitetura Típica de VPC
┌─────────────────────────────────────────────────────────────────────────┐
│ ARQUITETURA VPC 3-CAMADAS │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ INTERNET │
│ │ │
│ ▼ │
│ ┌───────────────┐ │
│ │Internet Gateway│ │
│ └───────┬───────┘ │
│ │ │
│ ┌─────────────────────────────┼─────────────────────────────┐ │
│ │ VPC │(10.0.0.0/16) │ │
│ │ │ │ │
│ │ ┌─────────────────────────┴─────────────────────────┐ │ │
│ │ │ SUBNETS PÚBLICOS │ │ │
│ │ │ │ │ │
│ │ │ ┌─────────────────┐ ┌─────────────────┐ │ │ │
│ │ │ │ Public 1a │ │ Public 1b │ │ │ │
│ │ │ │ 10.0.1.0/24 │ │ 10.0.2.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [ALB/NAT] │ │ [ALB/NAT] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └────────┬────────┘ └────────┬────────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └───────────┼──────────────────────┼─────────────────┘ │ │
│ │ │ │ │ │
│ │ ┌───────────┼──────────────────────┼─────────────────┐ │ │
│ │ │ │ SUBNETS PRIVADAS (App)│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ │ │
│ │ │ │ Private 1a │ │ Private 1b │ │ │ │
│ │ │ │ 10.0.11.0/24 │ │ 10.0.12.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [EC2 App] │ │ [EC2 App] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └────────┬────────┘ └────────┬────────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └───────────┼──────────────────────┼─────────────────┘ │ │
│ │ │ │ │ │
│ │ ┌───────────┼──────────────────────┼─────────────────┐ │ │
│ │ │ │ SUBNETS PRIVADAS (DB)│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ │ │
│ │ │ │ Database 1a │ │ Database 1b │ │ │ │
│ │ │ │ 10.0.21.0/24 │ │ 10.0.22.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [RDS] │ │ [RDS Standby] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └─────────────────┘ └─────────────────┘ │ │ │
│ │ │ │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Criar uma VPC
Via Console
1. VPC → Your VPCs → Create VPC
2. Name tag : mon-vpc-prod
3. IPv4 CIDR block : 10.0.0.0/16
4. Tenancy : Default
5. Create VPC
Via AWS CLI
# Criar o VPC
aws ec2 create-vpc \
--cidr-block 10.0.0.0/16 \
--tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=mon-vpc-prod}]'
# Ativar nomes DNS (recomendado)
aws ec2 modify-vpc-attribute \
--vpc-id vpc-xxx \
--enable-dns-hostnames '{"Value":true}'
Resumo
| Conceito | Descrição |
|---|---|
| VPC | Rede privada virtual isolada |
| CIDR | Notação para definir o range de IP |
| Subnet | Subdivisão do VPC em uma AZ |
| /16 | Tamanho recomendado (65.536 IPs) |
| RFC 1918 | Faixas de IP privadas a serem usadas |
| 5 IPs reservados | AWS reserva 5 IPs por subnet |
Quiz de Validação
- O que é uma VPC?
- Quantos endereços IP em um /24?
- Por que a AWS reserva 5 endereços por subnet?
- Qual faixa de IP usar para uma VPC?
- Qual a diferença entre VPC padrão e personalizado?
Próxima seção: Subnets e Roteamento