Hace unos días os comentaba como buenas practicas el tener subredes privadas en AWS para escenarios donde queremos tener los servidores o recursos backend fuera del acceso publico.
Ver la primera parte de este post antes de seguir leyendo https://aprendiendoavirtualizar.com/crear-una-subred-privada-en-aws/
Uno de los inconvenientes que tienen las subredes privadas, es que las instancias que se encuentren en estas subredes no tienen acceso a internet, por lo que no puedes descargar software, actualizar etc
Para que estas instancias dentro de una subred privada tengan acceso a Intenet es necesario configurar el servicio de NAT Gateway para utilizarlo como puerta de enlace.
Para crear y configurar NAT Gateway, vamos al servicio VPC —> NAT Gateway —> Create NAT gateway
Se abrirá la ventana de configuración y le pondremos un nombre, seleccionaremos una subred publica y haremos clic en Allocate IP Elastic para que nos cree y nos asigne una IP Elástica.
La etiqueta te la creará cuando hayas puesto el nombre de la NAT Gateway.
También acordaros de etiquetar correctamente y poner el nombre a la IP Elástica, importante tener todo bien etiquetado.
Una vez creado el NAT Gateway lo asociaremos con la tabla de rutas de la subred privada, para eso iremos a Route Tables —> tabla de rutas subred privada —> Edit routes.
En la ventana de configuración añadimos ruta con Add route 0.0.0.0/0 —> Target id NAT Gateway —> save routes
Salvados los cambios, podremos observar como se ha agregado la nueva ruta en la tabla de rutas de la subred privada.
Como a la instancia que tenemos en la subred privada no nos podemos conectar desde el exterior, nos conectamos desde otra instancia por ssh.
Una vez conectados, podemos comprobar la conectividad con un ping a una pagina web.
También podemos comprobar a actualizar, o por ejemplo a instalar Apache
Saludos y espero que os sirva.