Una VPC es tu parcela vallada, pero dentro necesitas organizarla en zonas. Esas zonas se llaman subredes (subnets), y la decisión más importante es cuáles serán públicas (accesibles desde internet) y cuáles privadas (ocultas y protegidas). Este es el corazón del diseño de redes seguras en AWS.

Qué es una subred

Una subred es una división de la VPC con su propio rango de direcciones (un trozo del CIDR de la VPC). Cada subred vive en una zona de disponibilidad (AZ) concreta.

Analogía: Si la VPC es tu parcela vallada, las subredes son las distintas calles o zonas dentro de ella. Una zona da a la entrada principal (pública); otra está en el interior, sin acceso directo desde fuera (privada).

Por ejemplo, si tu VPC es 10.0.0.0/16, podrías dividirla así:

VPC: 10.0.0.0/16
 ├── Subred pública  A:  10.0.1.0/24   (en AZ-a)
 ├── Subred pública  B:  10.0.2.0/24   (en AZ-b)
 ├── Subred privada  A:  10.0.10.0/24  (en AZ-a)
 └── Subred privada  B:  10.0.20.0/24  (en AZ-b)

Cada /24 da unas 250 direcciones. Fíjate en que hay subredes en dos AZ distintas: eso es para la alta disponibilidad que vimos en el Capítulo 3.

Subred pública vs privada: la diferencia clave

Aquí está el concepto central. La diferencia no está en la subred en sí, sino en si tiene o no una ruta hacia internet:

Subred pública Subred privada
¿Accesible desde internet? No
¿Sus recursos tienen IP pública? No
¿Tiene ruta a internet? Sí (vía Internet Gateway) No directamente
Qué pones aquí Lo que debe ser accesible Lo que debe estar protegido

Definición práctica: una subred es pública si tiene una ruta hacia un Internet Gateway (la puerta a internet, subcapítulo 6.3). Si no la tiene, es privada. Esa ruta es lo que la hace pública o no. Lo veremos al detalle en el subcapítulo 6.4 (route tables).

Qué va en cada subred

Esta es la decisión de diseño que define la seguridad de tu arquitectura:

En la subred pública (la «recepción»)

Recursos que necesitan ser accesibles desde internet:

  • Servidores web que los usuarios visitan.
  • Balanceadores de carga (Capítulo 13) que reciben el tráfico.
  • NAT Gateways (subcapítulo 6.3).

En la subred privada (la «trastienda»)

Recursos sensibles que no deben estar expuestos:

  • Bases de datos (¡nunca expongas una base de datos a internet!).
  • Servidores de aplicación con lógica de negocio interna.
  • Sistemas internos, colas, procesos de fondo.

Ejemplo real — arquitectura web típica:

Internet
   │
   ▼
[Subred pública]  ← Balanceador de carga + servidor web
   │ (se comunica internamente)
   ▼
[Subred privada]  ← Servidor de aplicación + Base de datos

Los usuarios solo llegan a la subred pública. La base de datos, en la subred privada, es invisible desde internet: solo el servidor de aplicación (dentro de la VPC) puede hablar con ella. Aunque un atacante comprometiera algo, la base de datos sigue sin tener puerta de entrada desde fuera.

La regla de oro de seguridad

Pon en subredes públicas solo lo que ESTRICTAMENTE necesita acceso desde internet. Todo lo demás, en subredes privadas.

Esto aplica el principio de defensa en profundidad: cuantas menos cosas expongas, menor es la superficie de ataque. Una base de datos en una subred privada es muchísimo más segura que una accesible desde internet, aunque ambas tengan contraseña.

Reparte siempre entre varias AZ

Recuerda el subcapítulo 3.2: para alta disponibilidad, crea subredes en al menos dos AZ. Así, si una AZ falla, tu aplicación sigue funcionando desde la otra.

Por eso el diseño habitual «mínimo decente» tiene cuatro subredes: una pública y una privada en cada una de dos AZ.

        AZ-a                    AZ-b
 ┌─ pública ─┐           ┌─ pública ─┐
 │           │           │           │
 ┌─ privada ─┐           ┌─ privada ─┐
 │  BBDD     │           │  BBDD     │   ← réplica en otra AZ

Pero entonces, ¿cómo accede internet la base de datos para actualizarse?

Buena pregunta que surge siempre: si la base de datos o un servidor están en una subred privada (sin acceso a internet), ¿cómo descargan actualizaciones de software, por ejemplo?

La respuesta es el NAT Gateway, que permite a los recursos privados salir a internet (para descargar cosas) sin permitir que internet entre a ellos. Es una calle de sentido único hacia fuera. Lo veremos en detalle en el siguiente subcapítulo.

Lo que debes recordar

  • Una subred es una división de la VPC, ubicada en una AZ, con su propio rango de IPs.
  • Pública = tiene ruta a internet (para lo que debe ser accesible). Privada = sin ruta directa a internet (para lo sensible).
  • Regla de oro: expón solo lo imprescindible en subredes públicas; pon bases de datos y sistemas internos en subredes privadas.
  • Reparte subredes en varias AZ para alta disponibilidad (diseño típico: pública + privada en 2 AZ).
  • Los recursos privados pueden salir a internet de forma segura mediante un NAT Gateway (siguiente subcapítulo).

En el siguiente subcapítulo veremos las dos «puertas» de tu red: el Internet Gateway (entrada/salida pública) y el NAT Gateway (salida segura para lo privado).

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