Hola a todos, gracias por leer este post. En esta guía, aprenderemos todo sobre las VPC (Virtual Private Cloud) y sus componentes. La guía estará dividida en dos publicaciones: en esta primera, crearemos la VPC y las subredes pública y privada, explicando los conceptos fundamentales. En el segundo post, añadiremos componentes clave para gestionar la comunicación entre recursos dentro de la VPC y el acceso hacia y desde internet.
Al terminar esta primera fase tendremos esta arquitectura
Que es una VPC?
Una VPC (Virtual Private Cloud) es una red privada virtual en AWS que nos permite desplegar y gestionar nuestros recursos en un entorno seguro y aislado dentro de la nube de AWS. En una VPC, tenemos control total sobre la configuración de red.
Vamos a construir la primera parte de este workshop paso a paso, profundizando en los conceptos más relevantes. Para comenzar, accedamos a la consola de AWS.
Al ingresar al servicio de VPC, notaremos que ya existe una VPC creada por defecto, proporcionada por AWS para facilitarnos el inicio en el despliegue de nuestros recursos.
Selecciona crear VPC
Verás dos opciones: "Solo la VPC" y "VPC y más". La primera crea únicamente la VPC, mientras que la segunda incluye componentes adicionales, como subredes. Para profundizar en los fundamentos, seleccionaremos "Solo la VPC".Asigna un nombre a tu VPC, yo la llamare "vpc-lab"
El siguiente paso es crear un CIDR, explicaremos brevemente que es esto y para que sirve.
¿Qué es un CIDR y para qué sirve?
El CIDR (Classless Inter-Domain Routing) es un método para asignar rangos de direcciones IP que se utilizan en la configuración de una VPC. Al establecer un CIDR, definimos un rango de direcciones IP disponibles para asignar a nuestros recursos, como instancias EC2 y bases de datos.
También es importante considerar el tamaño del rango, que se especifica con notación CIDR. Por ejemplo, un /16 permite hasta 65.536 direcciones IP, mientras que un /28 permite solo 16. Para la mayoría de los entornos, un /24 (256 direcciones) es un buen punto de partida.
Si deseas comprobar cuántas direcciones puedes asignar con un CIDR según el prefijo que utilices, puedes visitar esta herramienta que calcula la cantidad de IP disponibles en un CIDR: CIDR
¿Qué es una dirección IP?
Las direcciones IP son identificadores únicos para dispositivos en una red y se dividen en dos categorías: públicas y privadas. Existen dos versiones de direcciones IP: IPv4 e IPv6. Para este taller, nos centraremos en IPv4, que es la versión más comúnmente utilizada en redes y en la configuración de nuestra VPC.
Direcciones IP Públicas:
Son únicas a nivel global y se utilizan en Internet para identificar dispositivos y servicios en todo el mundo. Cada dirección IP pública es exclusiva y no se repite en ninguna otra red en Internet.
Direcciones IP Privadas:
No se pueden comunicar con Internet por sí solas: Las direcciones IPv4 privadas se utilizan en redes locales, como redes domésticas o empresariales, pero no son accesibles directamente desde Internet. Sin embargo, se pueden utilizar en combinación con la traducción de direcciones de red (NAT) para permitir que los dispositivos en una red privada accedan a Internet a través de una dirección IP pública compartida.
Entendido esto, podemos seguir.
- Asignemos nuestro CIDR Para este laboratorio, utilizaremos el rango 10.0.0.0/24, que nos proporciona 256 direcciones IP. Es importante mencionar que AWS reserva las primeras cuatro direcciones y la última de este rango para uso interno, según la ultima información que he leído. Si te interesa, puedes investigar más sobre este tema.
- Asignas una etiqueta (Opcional) y seleccionas "Crear VPC"
Mientras la VPC se crea, quiza te estas preguntando como se calcula la cantidad de IPs en un CIDR.
Como se calcula la cantidad de direcciones IP en un CIDR?
Una dirección IPv4 está compuesta por 32 bits, distribuidos en 4 secciones de 8 bits cada una, llamadas octetos. El bloque CIDR se representa como una dirección IP seguida de una barra diagonal y un número (por ejemplo, 10.0.0.0/24). El número después de la barra, conocido como prefijo, indica cuántos bits de esos 32 se utilizan para la parte de red.
Para calcular la cantidad total de direcciones IP en un bloque CIDR, utilizamos la siguiente fórmula:
Números de direcciones IP = 2^(32-prefijo)
32 es el número total de bits en una dirección IPv4.
Prefijo es el número que sigue a la barra (en 10.0.0.0/24, el prefijo es 24).
Ejemplo: Para un bloque CIDR de 10.0.0.0/24:
Numero de direcciones IP = 2^(32-24) = 2^8 = 256
Explicado esto, ya podemos continuar, la idea es que entiendas conceptos que son fundamentales.
Seguimos:
Si vamos nuevamente a la opción "Sus VPC" podremos ver que tenemos la VPC por default y la que acabamos de crear, si no aparece con nombre asignado se lo puedes asignar, podrás identificarla por el CIDR que usamos.
Redes y Subredes
¿Qué son las subredes y para qué sirven?
Una red puede estar compuesta por varias subredes, cada una con un número asignado de direcciones IP del rango definido en la red principal. Estas direcciones se utilizan para ser asignadas recursos en cada subred. Existen subredes públicas y privadas:
Subred pública: Tiene acceso a Internet a través de una puerta de enlace de Internet (Internet Gateway) por lo cual en ella se suelen desplegar recursos que pueden o deben estar expuestos a internet.
Subred privada: No es accesible desde Internet, pero puede conectarse a él mediante una NAT Gateway, lo que significa que no puede ser accedida directamente desde Internet.
Los componentes mencionados se explicarán cuando los estemos creando.
¿Cuándo necesitamos subredes públicas o privadas?
Usamos subredes públicas para recursos que necesitan ser accesibles desde y hacia Internet, como una aplicación web. Por otro lado, las subredes privadas albergan recursos que no deben estar expuestos, como bases de datos.
Creación de subredes
En la sección izquierda del servicio VPC, selecciona "Subredes" podras ver las subredes asociadas a la VPC por defecto de AWS. A continuación, crearemos nuestras propias subredes.
Haz clic en "Crear Subred".
Selecciona la VPC que has creado, en mi caso la llame "vpc-lab".
Asigna un nombre a la subred; yo la nombraré "subred-publica".
Zona de disponibilidad elige la 1A de la región en la que te encuentres, yo estoy trabajando en la región de norte de virginia así que seleccionare us-east-1a
Observaras el bloque CIDR de tu VPC, que es 10.0.0.0/24, lo que proporciona 256 IPs.
Como vamos crear dos subredes, dividimos el rango de IPs de nuestra VPC en nuestras dos subredes. Asignaremos un CIDR a cada subred lo que facilitara la comprensión de su funcionamiento y podras notar como a cada una se le asigna la mitad de Ids disponibles.
A esta subred pública le asignaremos el CIDR 10.0.0.0/25, lo que le proporciona 128 IPs en el rango de 10.0.0.0 a 10.0.0.127.
- Teniendo ya esta configuración puedes seleccionar "Crear subred"
Crearemos la subred privada siguiendo los mismos pasos anteriores, cambiando solo el nombre, eligiendo la zona 1b y asignando el CIDR.
- Asigna el CIDR 10.0.0.128/25 a la "subred-privada", lo que le proporciona las 128 IPs restantes en el rango 10.0.0.128 a 10.0.0.255.
- Teniendo ya esta configuración puedes seleccionar "Crear subred"
Si revisamos la información de nuestras subredes veremos lo siguiente:
Verás que en la sección de IPs disponibles para cada subred se muestran 123, en lugar de las 128 asignadas. Esto se debe a que AWS reserva 5 direcciones IP en cada subred (las cuatro primeras y la última). Es importante tener esto en cuenta al diseñar tus redes.
Resumen
Creamos una VPC.
Configuramos subredes públicas y privadas.
Repasamos conceptos clave: VPC, CIDR, direcciones IP y subredes.
En el siguiente post, abordaremos:
Creación de una Internet Gateway.
Configuración de una NAT Gateway.
Despliegue de recursos en nuestras subredes.
Gestión de la comunicación entre los recursos de la subred pública e Internet, y cómo los recursos de la subred privada se conectan al exterior sin ser accesibles desde Internet.
Obteniendo la siguiente arquitectura:
Hasta la próxima entrega.
No olvides interactuar con el contenido y compartirlo