Saltar al contenido principal

Conceptos Fundamentales de VPC

¿Qué es una VPC?​

Una VPC (Virtual Private Cloud) es su red privada virtual en AWS. Es un espacio de red aislado donde usted despliega sus recursos de AWS.

┌─────────────────────────────────────────────────────────────┐
│ AMAZON VPC │
├─────────────────────────────────────────────────────────────┤
│ │
│ "Su centro de datos virtual en la nube" │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ VPC (10.0.0.0/16) │ │
│ │ │ │
│ │ Su espacio de red privado y aislado │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ Subnet 1 │ │ Subnet 2 │ │ │
│ │ │ 10.0.1.0/24 │ │ 10.0.2.0/24 │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌─────┐ │ │ ┌─────┐ │ │ │
│ │ │ │ EC2 │ │ │ │ RDS │ │ │ │
│ │ │ └─────┘ │ │ └─────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └─────────────┘ └─────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ Características: │
│ • Aislado de otros VPC y de Internet (por defecto) │
│ • Usted controla el rango de direcciones IP │
│ • Usted define las reglas de seguridad │
│ • Regional (se extiende por todas las AZ de la región) │
│ │
└─────────────────────────────────────────────────────────────┘

Analogía: VPC = Edificio de Oficinas​

┌─────────────────────────────────────────────────────────────┐
│ ANALOGÍA: EDIFICIO DE OFICINAS │
├─────────────────────────────────────────────────────────────┤
│ │
│ MUNDO REAL AWS │
│ ────────── ─── │
│ │
│ 🏢 Edificio = VPC │
│ (su espacio privado) (su red privada) │
│ │
│ 🚪 Pisos = Subnets │
│ (divisiones internas) (subredes) │
│ │
│ 🔐 Recepción/Seguridad = Internet Gateway │
│ (entrada controlada) (acceso a Internet) │
│ │
│ 📋 Tarjeta de acceso = Security Group │
│ (quién puede entrar dónde) (reglas de firewall) │
│ │
│ 🗺️ Plan de evacuación = Route Table │
│ (rutas de circulación) (enrutamiento de tráfico) │
│ │
│ 🏠 Oficinas = Instancias EC2 │
│ (espacios de trabajo) (sus servidores) │
│ │
└─────────────────────────────────────────────────────────────┘

Componentes de una VPC​

Vista General​

┌─────────────────────────────────────────────────────────────┐
│ COMPONENTES VPC │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ VPC │ │
│ │ (contenedor) │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ │ │
│ │ │ SUBNET │ │ SUBNET │ ← Subredes │ │
│ │ │ (pública) │ │ (privada) │ │ │
│ │ └──────┬──────┘ └──────┬──────┘ │ │
│ │ │ │ │ │
│ │ └────────┬───────┘ │ │
│ │ │ │ │
│ │ ┌────────┴────────┐ │ │
│ │ │ ROUTE TABLE │ ← A dónde va el tráfico│ │
│ │ └────────┬────────┘ │ │
│ │ │ │ │
│ │ ┌───────────────┼───────────────┐ │ │
│ │ │ │ │ │ │
│ │ ▼ ▼ ▼ │ │
│ │ ┌─────┐ ┌─────────┐ ┌──────────┐ │ │
│ │ │ IGW │ │ NAT │ │ VPC │ │ │
│ │ │ │ │ Gateway │ │ Peering │ │ │
│ │ └─────┘ └─────────┘ └──────────┘ │ │
│ │ Internet Salida para Otro VPC │ │
│ │ subnet privado │ │
│ │ │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Tabla de Componentes​

ComponenteDescripciónObligatorio
VPCRed virtual aisladaSí
SubnetSubred en una AZSí (al menos 1)
Route TableReglas de enrutamientoSí (creada auto)
Internet GatewayAcceso a InternetNo (si es privado)
NAT GatewaySalida a Internet para privadoNo
Security GroupFirewall a nivel de instanciaSí
NACLFirewall a nivel de subnetSí (por defecto)

VPC por Defecto vs VPC Personalizado​

┌─────────────────────────────────────────────────────────────┐
│ VPC POR DEFECTO vs VPC PERSONALIZADO │
├─────────────────────────────────────────────────────────────┤
│ │
│ VPC POR DEFECTO VPC PERSONALIZADO │
│ ────────────── ──────────────── │
│ │
│ • Creado automáticamente • Usted lo crea │
│ • 1 por región • Tantos como desee │
│ • CIDR: 172.31.0.0/16 • CIDR: usted elige │
│ • Subnets públicas auto • Usted configura todo │
│ • IGW adjunto • Usted adjunta el IGW │
│ │
│ Cuándo usar: Cuándo usar: │
│ ✅ Pruebas rápidas ✅ Producción │
│ ✅ Aprendizaje ✅ Seguridad reforzada │
│ ❌ Producción ✅ Multi-tier │
│ │
│ ⚠️ En producción, SIEMPRE use una VPC personalizada │
│ para un mejor control de seguridad │
│ │
└─────────────────────────────────────────────────────────────┘

Rango de Direcciones IP (CIDR)​

¿Qué es CIDR?​

┌─────────────────────────────────────────────────────────────┐
│ NOTACIÓN CIDR │
├─────────────────────────────────────────────────────────────┤
│ │
│ CIDR = Classless Inter-Domain Routing │
│ │
│ Formato: DIRECCIÓN_RED / PREFIJO │
│ │
│ Ejemplo: 10.0.0.0/16 │
│ │ │ │
│ │ └── 16 bits fijos (red) │
│ │ 16 bits variables (hosts) │
│ │ │
│ └── Dirección de inicio de la red │
│ │
│ Cálculo del número de direcciones: │
│ Fórmula: 2^(32 - prefijo) │
│ │
│ /16 = 2^(32-16) = 2^16 = 65,536 direcciones │
│ /24 = 2^(32-24) = 2^8 = 256 direcciones │
│ /28 = 2^(32-28) = 2^4 = 16 direcciones │
│ │
└─────────────────────────────────────────────────────────────┘

Rangos Privados (RFC 1918)​

┌─────────────────────────────────────────────────────────────┐
│ RANGOS IP PRIVADOS (RFC 1918) │
├─────────────────────────────────────────────────────────────┤
│ │
│ Estos rangos NO son enrutados en Internet │
│ → Úselos para sus VPC │
│ │
│ CLASE A: 10.0.0.0/8 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 10.0.0.0 → 10.255.255.255 │ │
│ │ 16,777,216 direcciones │ │
│ │ Uso: Grandes empresas │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ CLASE B: 172.16.0.0/12 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 172.16.0.0 → 172.31.255.255 │ │
│ │ 1,048,576 direcciones │ │
│ │ Uso: Empresas medianas │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ CLASE C: 192.168.0.0/16 │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 192.168.0.0 → 192.168.255.255 │ │
│ │ 65,536 direcciones │ │
│ │ Uso: Redes domésticas, pequeñas empresas │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ RECOMENDACIÓN PARA AWS: │
│ Use 10.0.0.0/16 para comenzar (65,536 direcciones) │
│ │
└─────────────────────────────────────────────────────────────┘

Tamaños de VPC en AWS​

CIDRDireccionesUso Recomendado
/1665,536VPC estándar, recomendado
/204,096VPC mediano
/24256VPC pequeño, pruebas
/2816Mínimo AWS
Limites AWS
  • CIDR mínimo: /28 (16 direcciones)
  • CIDR máximo: /16 (65,536 direcciones)
  • Una VPC puede tener varios CIDR (hasta 5)

Direcciones Reservadas por AWS​

┌─────────────────────────────────────────────────────────────┐
│ DIRECCIONES RESERVADAS POR SUBNET │
├─────────────────────────────────────────────────────────────┤
│ │
│ Para cada subnet, AWS reserva 5 direcciones: │
│ │
│ Ejemplo: Subnet 10.0.1.0/24 (256 direcciones) │
│ │
│ 10.0.1.0 → Dirección de red │
│ 10.0.1.1 → Reservada AWS (router VPC) │
│ 10.0.1.2 → Reservada AWS (DNS) │
│ 10.0.1.3 → Reservada AWS (uso futuro) │
│ 10.0.1.255 → Broadcast (no soportado pero reservado) │
│ │
│ Direcciones utilizables: 256 - 5 = 251 direcciones │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Subnet /24: 251 direcciones utilizables │ │
│ │ Subnet /25: 123 direcciones utilizables │ │
│ │ Subnet /26: 59 direcciones utilizables │ │
│ │ Subnet /27: 27 direcciones utilizables │ │
│ │ Subnet /28: 11 direcciones utilizables │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Arquitectura Típica de VPC​

┌─────────────────────────────────────────────────────────────────────────┐
│ ARQUITECTURA VPC 3-TIERS │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ 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 PRIVADOS (App)│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ │ │
│ │ │ │ Private 1a │ │ Private 1b │ │ │ │
│ │ │ │ 10.0.11.0/24 │ │ 10.0.12.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [EC2 App] │ │ [EC2 App] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └────────┬────────┘ └────────┬────────┘ │ │ │
│ │ │ │ │ │ │ │
│ │ └───────────┼──────────────────────┼─────────────────┘ │ │
│ │ │ │ │ │
│ │ ┌───────────┼──────────────────────┼─────────────────┐ │ │
│ │ │ │ SUBNETS PRIVADOS (DB) │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ ┌────────▼────────┐ ┌────────▼────────┐ │ │ │
│ │ │ │ Database 1a │ │ Database 1b │ │ │ │
│ │ │ │ 10.0.21.0/24 │ │ 10.0.22.0/24 │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ │ [RDS] │ │ [RDS Standby] │ │ │ │
│ │ │ │ │ │ │ │ │ │
│ │ │ └─────────────────┘ └─────────────────┘ │ │ │
│ │ │ │ │ │
│ │ └────────────────────────────────────────────────────┘ │ │
│ │ │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────┘

Crear una VPC​

Vía Consola​

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

Vía AWS CLI​

# Crear el VPC
aws ec2 create-vpc \
--cidr-block 10.0.0.0/16 \
--tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=mon-vpc-prod}]'

# Activar nombres DNS (recomendado)
aws ec2 modify-vpc-attribute \
--vpc-id vpc-xxx \
--enable-dns-hostnames '{"Value":true}'

Resumen​

ConceptoDescripción
VPCRed privada virtual aislada
CIDRNotación para definir el rango IP
SubnetSubdivisión del VPC en una AZ
/16Tamaño recomendado (65,536 IPs)
RFC 1918Rangos IP privados a utilizar
5 IPs reservadasAWS reserva 5 IPs por subnet

Quiz de Validación​

  1. ¿Qué es una VPC?
  2. ¿Cuántas direcciones IP hay en un /24?
  3. ¿Por qué AWS reserva 5 direcciones por subnet?
  4. ¿Qué rango IP usar para una VPC?
  5. ¿Cuál es la diferencia entre VPC por defecto y personalizado?

Próxima sección: Subnets y Enrutamiento