Ya tienes subredes y puertas a internet. Pero falta lo que dirige el tráfico por tu red y lo que lo filtra a nivel de subred. Esos son las Route Tables (tablas de rutas) y las Network ACLs. Son los componentes que hacen que «público» y «privado» signifiquen algo de verdad.

Route Tables: el GPS de tu red

Una Route Table (tabla de rutas) es un conjunto de reglas que deciden hacia dónde va el tráfico según su destino. Cada subred está asociada a una tabla de rutas, que le dice: «si el tráfico va a tal sitio, envíalo por aquí».

Analogía: Una tabla de rutas es como las señales de tráfico y el GPS de tu parcela. En cada cruce indican: «para ir a la calle X, gira aquí; para salir a la autopista (internet), sigue recto hasta la puerta principal».

Cómo se ve una tabla de rutas

Cada regla (ruta) dice: «el tráfico hacia este destino va por este camino (target)». Ejemplo de una tabla para una subred pública:

Destino Camino (target) Significa
10.0.0.0/16 local «El tráfico dentro de mi VPC se queda en la red local»
0.0.0.0/0 Internet Gateway «Todo lo demás (internet) sale por la puerta principal»

Y una tabla para una subred privada:

Destino Camino (target) Significa
10.0.0.0/16 local «El tráfico dentro de mi VPC se queda local»
0.0.0.0/0 NAT Gateway «Para salir a internet, uso el NAT (solo salida)»

¿Ves la diferencia? Lo que convierte una subred en pública o privada es precisamente esta tabla:

  • Si la ruta a 0.0.0.0/0 (todo internet) apunta al Internet Gateway → subred pública.
  • Si apunta al NAT Gateway (o no existe) → subred privada.

Este es el «secreto» de las subredes: una subred no tiene una etiqueta mágica de «pública» o «privada». Es pública o privada según a dónde la mande su tabla de rutas. La regla 0.0.0.0/0 → Internet Gateway es la que la hace pública.

La ruta local está siempre presente y no se puede borrar: garantiza que todos los recursos dentro de la misma VPC pueden comunicarse entre ellos.

Network ACLs: el firewall de la subred

Ahora el filtrado. Ya conoces los Security Groups del Capítulo 4 (el firewall de cada instancia). Las Network ACLs (NACLs) son otro firewall, pero a nivel de subred entera, no de instancia individual.

Analogía: Si el Security Group es el portero de cada edificio (controla quién entra a cada instancia), la Network ACL es el control de acceso de todo el barrio (controla qué tráfico entra y sale de toda la subred).

El tráfico que llega a una instancia pasa dos controles:

  1. Primero la Network ACL de la subred (el control del barrio).
  2. Luego el Security Group de la instancia (el portero del edificio).

Security Group vs Network ACL: las diferencias

Esta es una comparación clásica que conviene tener clara:

Característica Security Group Network ACL
Nivel Instancia Subred
Reglas Solo «permitir» (allow) «Permitir» y «denegar» (allow/deny)
Estado Stateful (con estado) Stateless (sin estado)
Evaluación Todas las reglas a la vez Por orden numérico, se para en la primera coincidencia
Por defecto Bloquea todo lo no permitido La por defecto permite todo

Vamos a aclarar los dos conceptos que más confunden:

Stateful vs Stateless

  • Security Group (stateful): si permites una conexión de entrada, la respuesta de salida se permite automáticamente. «Recuerda» la conexión. No tienes que crear una regla para la respuesta.
  • Network ACL (stateless): no recuerda nada. Si permites el tráfico de entrada, tienes que permitir explícitamente también el de salida para que la respuesta pueda volver. Cada dirección se configura por separado.

Por esto las NACLs son más quisquillosas: un error típico es permitir la entrada pero olvidar permitir la salida de respuesta, y entonces «nada funciona» aunque la regla de entrada parezca correcta.

Allow y Deny

  • Los Security Groups solo permiten listas blancas (defines lo que se permite; el resto se bloquea). No puedes escribir una regla «denegar».
  • Las Network ACLs permiten también reglas de denegación explícita. Esto es útil, por ejemplo, para bloquear una IP concreta que está atacándote, algo que un Security Group no puede hacer.

¿Cuál uso? En la práctica

Para la mayoría de casos:

Usa los Security Groups como tu herramienta principal de seguridad de red. Son más simples (stateful) y suficientes para casi todo. Deja las Network ACLs con su configuración por defecto (que permite todo) salvo que necesites algo específico, como bloquear una IP maliciosa a nivel de subred.

Las NACLs son una capa adicional de defensa en profundidad, no tu primera línea. Muchos equipos las usan poco y se apoyan en los Security Groups.

Cómo encaja todo

Internet
   │
   ▼
[Network ACL de la subred]   ← 1er filtro (nivel barrio, stateless, allow/deny)
   │
   ▼
[Security Group de la instancia]  ← 2º filtro (nivel edificio, stateful, solo allow)
   │
   ▼
[Tu instancia EC2]

   Y las Route Tables deciden POR DÓNDE va cada tráfico
   (a internet vía IGW, vía NAT, o local dentro de la VPC).

Lo que debes recordar

  • Las Route Tables deciden hacia dónde va el tráfico según su destino. La ruta 0.0.0.0/0 hacia el Internet Gateway es lo que hace pública a una subred; hacia el NAT (o ausente), la hace privada.
  • Las Network ACLs son un firewall a nivel de subred: stateless (configuras entrada y salida por separado) y permiten reglas de denegación (útiles para bloquear IPs).
  • Los Security Groups son el firewall a nivel de instancia: stateful y solo de tipo «permitir». Son tu herramienta principal.
  • Usa Security Groups como base; añade Network ACLs solo para necesidades concretas (defensa en profundidad).

En el último subcapítulo de VPC veremos cómo conectar tu VPC con otras redes: VPC Peering (unir VPCs) y endpoints (llegar a servicios de AWS de forma privada).

Cloud, AWS & Terraform — De cero a experto

Capítulo 1 · Qué es el cloud computing

Capítulo 2 · El mercado cloud y los grandes proveedores

Capítulo 3 · Regiones, zonas de disponibilidad y edge

Capítulo 4 · Cómputo: EC2

Capítulo 5 · Almacenamiento: S3

Capítulo 6 · Redes: VPC

Capítulo 7 · Identidad y acceso: IAM

Capítulo 8 · Bases de datos gestionadas

Capítulo 9 · Por qué Infraestructura como Código

Capítulo 10 · HCL: el lenguaje de Terraform

Capítulo 11 · Providers y estado

Capítulo 12 · Tu primera infraestructura real en Terraform

Capítulo 13 · Balanceo de carga y autoescalado

Capítulo 14 · Serverless con Lambda

Capítulo 15 · Mensajería y eventos

Capítulo 16 · Entrega de contenido y DNS

Capítulo 17 · Contenedores en AWS

Capítulo 18 · Módulos: reutilización y composición

Capítulo 19 · Workspaces y gestión de entornos

Capítulo 20 · Backends remotos y locking

Capítulo 21 · Testing de infraestructura

Capítulo 22 · Terraform en CI/CD

Capítulo 23 · Seguridad en profundidad

Capítulo 24 · Observabilidad: logs, métricas y trazas

Capítulo 25 · Optimización de costes

Capítulo 26 · Alta disponibilidad y disaster recovery

Capítulo 27 · Well-Architected Framework de AWS

Capítulo 28 · Arquitecturas serverless a escala

Capítulo 29 · Plataformas de datos en AWS

Capítulo 30 · Multi-cuenta y landing zones

Capítulo 31 · Platform Engineering e Internal Developer Platform

Capítulo 32 · Certificaciones AWS relevantes

Capítulo 33 · Proyectos para consolidar lo aprendido

Capítulo 34 · Recursos y comunidad

© Copyright 2024. Todos los derechos reservados