Como buena práctica se recomienda crear subredes privadas en AWS para escenarios donde queramos mantener los servidores back-end a los que no se pueda obtener acceso de forma pública, ya sean servidores de Bases de datos, sistemas de ficheros EFS etc.
Como método de estudio para la certificación una de las mejores formas es ir probando cosas y documentarlas para poder consultarlas en un futuro, además sobre VPC seguro que caen unas cuantas preguntas.
Este blogpost se divide en dos partes:
1- Crear una subnet privada y crear instancia en esta subred.
2- Dar acceso a internet a subred privada usando el servicio NAT Gateway.
No se si es la mejor manera o la mas correcta, así que acepto criticas constructivas dado que estoy en un proceso de aprendizaje.
Partimos de que ya tenemos una VPC creada con su tabla de rutas correspondiente y dos subredes publicas.
Para crear una subred privada, necesitaremos antes crear una tabla de rutas nueva para asociar a esta subred, por lo que haremos clic en Create route table.
En la ventana de creación de la nueva tabla de rutas, le pondremos un nombre y seleccionaremos la VPC correspondiente. De manera opcional añadiremos etiquetas.
Una vez creada, si nos fijamos en la tabla de rutas, solo la habrá creado con la regla de la ruta local, con esta regla solo tendremos comunicación entre direcciones locales dentro de la VPC.
Si nos fijamos en la tabla de rutas principal, esta la regla de direcciones locales y la de salida a internet.
Una vez creada la nueva tabla de rutas, vamos a Subnets —> Create Subnet.
En el asistente de creación de la Subred le ponemos un nombre –> seleccionamos VPC –> Zona de disponibilidad –> bloque CIDR y hacemos clic en Create.
Una vez creada la Subred, editaremos la asociación de la tabla de rutas, ya que por defecto, le asigna la tabla de rutas principal.
Editamos la tabla de rutas cambiando la principal por la segunda que hemos creado y guardamos la configuración.
Con este cambio de tabla de rutas, esta subred solo tendrá comunicación local dentro de la VPC.
Ahora toca que probemos el funcionamiento y que mejor manera que probarlo con una instancia. Lanzamos el despliegue de una instancia y en el paso 3 seleccionamos la subred privada.
La opción de auto-assing Public IP, la podemos deshabilitar para que no asigne una ip publica, aunque no pasa nada si no la deshabilitamos y nos da una ip publica ya que la subred tiene restringido el acceso a internet a través de la tabla de rutas.
Mas abajo le ponemos una ip privada. Hasta donde he podido probar, no podemos cambiar privada que nos asigna al crear la instancia, podemos añadirle una segunda ip, pero no cambiarla, por eso la importancia de ponerle una personalizada en el despliegue de la instancia.
Una vez terminado el despliegue, haremos las respectivas comprobaciones.
Como no podemos conectar desde el exterior, nos conectamos a otra instancia y realizamos un ping la nueva instancia para comprobar la conectividad.
NOTA: para poder realizar ping entre instancias, tendremos que tener habilitado el protocolo ICMP dentro del Grupo de Seguridad.
Probamos tambien ha conectarnos por SSH
Pero si intentamos hacer un ping al exterior o actualizar la instancia nos dará error al no tener la instancia conexión al exterior.
Aquí es donde entra la configuración de NAT Gateway, donde podremos tener conexión al exterior, pero no se podrán conectar a esta instancia, pero esto lo veremos en el siguiente capitulo.
Saludos y espero que os sirva.