Pular para o conteúdo principal

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​

ComponenteDescriçãoObrigatório
VPCRede virtual isoladaSim
SubnetSub-rede em uma AZSim (ao menos 1)
Route TableRegras de roteamentoSim (criada automaticamente)
Internet GatewayAcesso à InternetNão (se privado)
NAT GatewaySaída para Internet do privadoNão
Security GroupFirewall em nível de instânciaSim
NACLFirewall em nível de subnetSim (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​

CIDREndereçosUso Recomendado
/1665.536VPC padrão, recomendado
/204.096VPC médio
/24256VPC pequeno, teste
/2816Mí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​

ConceitoDescrição
VPCRede privada virtual isolada
CIDRNotação para definir o range de IP
SubnetSubdivisão do VPC em uma AZ
/16Tamanho recomendado (65.536 IPs)
RFC 1918Faixas de IP privadas a serem usadas
5 IPs reservadosAWS reserva 5 IPs por subnet

Quiz de Validação​

  1. O que é uma VPC?
  2. Quantos endereços IP em um /24?
  3. Por que a AWS reserva 5 endereços por subnet?
  4. Qual faixa de IP usar para uma VPC?
  5. Qual a diferença entre VPC padrão e personalizado?

Próxima seção: Subnets e Roteamento