Crear y configurar NAT Gateway en AWS

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

Crear y configurar NAT Gateway creacion

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.

Crear y configurar NAT Gateway allocate ip elastica

La etiqueta te la creará cuando hayas puesto el nombre de la NAT Gateway.

Crear y configurar NAT Gateway tag

También acordaros de etiquetar correctamente y poner el nombre a la IP Elástica, importante tener todo bien etiquetado.

Crear y configurar NAT Gateway ip Elastica

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.

Crear y configurar NAT Gateway edit route table

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.