DEV Community

Francisco Escobar
Francisco Escobar

Posted on

AWS VPC Explicado como una Ciudad: La Guía Definitiva que Todo Developer Necesita 🏙️

¿Te has sentido abrumado tratando de entender AWS VPC? ¿Términos como subredes, gateways y tablas de enrutamiento te suenan como otro idioma?

Te tengo buenas noticias: VPC es exactamente como planificar y construir tu propia ciudad. Y una vez que entiendas esta analogía, nunca más volverás a confundirte con la arquitectura de redes en la nube.

🏗️ ¿Qué es una VPC?

Imagina que AWS te da un terreno en blanco y te dice: "Aquí puedes construir tu ciudad digital".

Tu VPC (Virtual Private Cloud) es ese territorio que defines, donde tienes control total sobre:

  • Cómo divides el espacio
  • Quién puede entrar y salir
  • Cómo se conectan las diferentes áreas
  • Qué nivel de seguridad tiene cada zona

En términos técnicos, defines un "bloque CIDR" - pero piénsalo simplemente como las coordenadas geográficas de tu ciudad.

Ejemplo: Tu ciudad tendrá la dirección base 10.0.0.0/16, permitiéndote crear hasta 65,536 "lotes" diferentes.

🏘️ Los Barrios: Subredes Públicas vs Privadas

Barrios Públicos (Subredes Públicas)

Como: El centro comercial de tu ciudad

  • Cualquier visitante puede llegar directamente desde la carretera principal (Internet)
  • Aquí ubicas: tiendas, restaurantes, oficinas de atención al cliente
  • En AWS: Servidores web, balanceadores de carga, APIs públicos

Barrios Privados (Subredes Privadas)

Como: Zonas residenciales exclusivas

  • Solo residentes y personas autorizadas pueden entrar
  • Contienen: casas familiares, almacenes privados, fábricas
  • En AWS: Bases de datos, servidores de aplicaciones, sistemas internos
🏙️ Tu Ciudad Digital:

┌─────────────────────────────────────┐
│  CIUDAD (VPC: 10.0.0.0/16)         │
│                                     │
│  🏪 BARRIO PÚBLICO                  │
│  └─ Tienda Web (10.0.1.0/24)       │
│  └─ API Gateway (10.0.2.0/24)      │
│                                     │
│  🏠 BARRIO PRIVADO                  │
│  └─ Base de Datos (10.0.10.0/24)   │
│  └─ App Servers (10.0.11.0/24)     │
└─────────────────────────────────────┘
Enter fullscreen mode Exit fullscreen mode

🛣️ El Sistema de Calles: Tablas de Enrutamiento

Las Route Tables son como el sistema de calles y señalizaciones:

  • Indican cómo ir de un barrio a otro
  • Definen qué rutas están abiertas o cerradas
  • Controlan si puedes salir de la ciudad hacia Internet

Ejemplo de señalización:

🚏 "Para ir del Barrio Web al Barrio DB: Calle Interna"
🚏 "Para salir a Internet: Autopista Principal (IGW)"
🚏 "Barrio Privado: Solo salida por Puerta de Servicio (NAT)"
Enter fullscreen mode Exit fullscreen mode

🚪 Las Puertas de la Ciudad: Gateways

Internet Gateway (Puerta Principal)

Como: La entrada principal de tu ciudad

  • Permite que visitantes entren directamente desde Internet
  • Solo los barrios públicos tienen acceso directo

NAT Gateway (Puerta de Servicio)

Como: Una puerta trasera especial para residentes

  • Los del barrio privado pueden salir a "comprar" (accesar Internet)
  • Pero nadie de afuera puede entrar por aquí
  • Ejemplo: Empleados salen al supermercado, pero extraños no pueden usar esa entrada

🛡️ La Seguridad: Dos Niveles de Protección

Security Groups (Guardias Personales)

Como: Tener un guardia de seguridad para cada edificio específico

  • Controlan quién puede tocar la puerta de TU casa
  • Reglas específicas por recurso
  • "Solo mis amigos de confianza pueden visitarme"

Network ACLs (Checkpoint del Barrio)

Como: Puestos de control en la entrada de cada barrio

  • Revisan a TODOS los que entran/salen del barrio completo
  • Reglas generales por subred
  • "Este barrio no permite camiones después de las 10 PM"
🔒 Seguridad por Capas:

Internet → [Internet Gateway] → [NACL] → [Security Group] → Tu App
    ↑           ↑                  ↑            ↑
Carretera   Puerta Ciudad    Checkpoint    Guardia Personal
Enter fullscreen mode Exit fullscreen mode

🌉 Conectando Múltiples Ciudades

VPC Peering (Carreteras Directas)

Escenario: Tu empresa crece y tienes múltiples ciudades:

  • Ciudad Desarrollo (VPC Dev)
  • Ciudad Producción (VPC Prod)
  • Ciudad Testing (VPC Test)

VPC Peering construye carreteras privadas directas entre ciudades:

  • Conexión uno-a-uno, como un puente exclusivo
  • Tráfico privado, no pasa por Internet
  • Limitación: Con 5 ciudades necesitas 10 carreteras

Transit Gateway (Estación Central)

Como: Un aeropuerto hub central

  • Todas las ciudades se conectan a la estación central
  • Desde ahí llegas a cualquier destino
  • Eficiencia: 5 ciudades = solo 5 conexiones al hub
🚉 Transit Gateway:

    Ciudad A ──┐
               │
    Ciudad B ──┼── [Transit Gateway] 
               │
    Ciudad C ──┘

¡Una conexión para gobernarlas a todas!
Enter fullscreen mode Exit fullscreen mode

🏢 Casos de Uso Reales

Startup en Evolución

Fase 1: Pueblo Pequeño

VPC: "Mi Primera App"
├── Subred Pública: Web + DB juntos
└── Todo simple, todo público
Enter fullscreen mode Exit fullscreen mode

Fase 2: Ciudad Organizada

VPC: "Mi App Creciendo"
├── Subred Pública: Solo frontend
└── Subred Privada: Base de datos segura
Enter fullscreen mode Exit fullscreen mode

Fase 3: Imperio Digital

VPC Desarrollo:
├── Subred Pública: Demos y pruebas
└── Subred Privada: DB de pruebas

VPC Producción:  
├── Subred Pública: App real
└── Subred Privada: DB productiva

Conectadas via Transit Gateway
Enter fullscreen mode Exit fullscreen mode

E-commerce Enterprise

🏙️ Ciudad Principal (us-east-1):
├── 🏪 Zona Web: Tienda online
├── ⚙️ Zona Apps: Procesamiento de órdenes  
└── 🗄️ Zona Data: Base de datos principal

🌍 Ciudad Europa (eu-west-1):
├── 🏪 Zona Web: Tienda localizada
├── ⚙️ Zona Apps: Procesamiento regional
└── 🗄️ Zona Data: Réplica para GDPR
Enter fullscreen mode Exit fullscreen mode

🚀 Ejemplo Práctico: Netflix Simplificado

Ciudad Streaming

  • Barrio Web: Lo que ves en tu navegador
  • Barrio Algoritmos: Recomendaciones personalizadas
  • Barrio Contenido: Servidores con películas

Ciudad Analytics

  • Barrio Datos: Qué ve cada usuario
  • Barrio Perfiles: Información personal
  • Barrio Billing: Sistema de pagos

Conexión: Transit Gateway permite compartir datos necesarios manteniendo seguridad separada.

💡 Beneficios de Pensar como Urbanista

1. Seguridad por Capas

Como tener múltiples anillos de seguridad en tu ciudad:

  1. Control fronterizo (Internet Gateway)
  2. Checkpoints de barrio (NACLs)
  3. Seguridad personal (Security Groups)

2. Escalabilidad Planificada

  • Agregar barrios sin afectar existentes
  • Construir ciudades especializadas
  • Conectar según necesidades

3. Disaster Recovery

  • Ciudad principal + ciudad espejo
  • Si hay "terremoto" en una región, la otra continúa

🎯 Principios de Diseño

Empieza Simple

Pueblo → Ciudad → Metrópolis → Imperio Global
Enter fullscreen mode Exit fullscreen mode

Separa Responsabilidades

Frontend ≠ Backend ≠ Database ≠ Analytics
Enter fullscreen mode Exit fullscreen mode

Seguridad Primero

Público solo lo necesario
Privado todo lo sensible  
Conexiones mínimas requeridas
Enter fullscreen mode Exit fullscreen mode

🔧 Comandos Esenciales

# Crear tu primera ciudad
aws ec2 create-vpc --cidr-block 10.0.0.0/16

# Crear barrio público  
aws ec2 create-subnet --vpc-id vpc-xxx --cidr-block 10.0.1.0/24

# Crear barrio privado
aws ec2 create-subnet --vpc-id vpc-xxx --cidr-block 10.0.10.0/24

# Instalar puerta principal
aws ec2 create-internet-gateway
Enter fullscreen mode Exit fullscreen mode

🎉 Conclusión

AWS VPC deja de ser intimidante cuando lo piensas como planificación urbana digital. Cada componente tiene un propósito claro, y la analogía de la ciudad te ayuda a tomar decisiones arquitectónicas intuitivas.

Recuerda:

  • VPC = Tu territorio/ciudad
  • Subredes = Barrios con diferentes propósitos
  • Gateways = Puertas de entrada/salida
  • Security Groups = Guardias personales
  • NACLs = Checkpoints de barrio
  • Route Tables = Sistema de calles

La próxima vez que diseñes una arquitectura en AWS, pregúntate: "¿Cómo organizaría esto si fuera una ciudad?"


¿Te resultó útil esta analogía? 💬 Comparte en los comentarios cómo planificarías tu "ciudad digital" ideal.

¿Quieres más contenido así? 🔔 Sígueme para más tutoriales que hacen la nube comprensible para todos.


Top comments (0)