¿Qué es network address translation (NAT)?
Por default, cualquier instancia que se monte sobre una red privada de VPC no puede comunicarse con el Internet a través del IGW. Esto es un problema si las instancias dentro de la red privada necesita acceso a Internet desde la VPC cuando requiere por ejemplo aplicar parches de seguridad, descargar software o actualizar una aplicación.
AWS ofrece la posibilidad de utilizar una nat instance o un nat gateway que permitan a las instancias dentro de una red privada, tener acceso a Internet. El NAT Gateway provee mejor disponibilidad y mas alto ancho de banda, y requiere menos esfuerzo en la administración que una NAT Instance.
¿Qué es un NAT Instance?
Es una imagen (AMI) de una distribución de Linux, que esta diseñada para aceptar tráfico desde instancias dentro de una subred privada, traducir y traducir la fuente de la IP en la red privada a la dirección IP de la instancia NAT en una red publica, redirigiendo el trafico proveniente del IGW. Además mantiene el estado del trafico redirigido con el objetivo de responder al tráfico desde el Internet a la instancia adecuada en la subred privada. Para localizar una AMI con estas características basta buscarlas con el string amazon-ami-vpc-nat como parte de su nombre dentro de la consola.
Para permitir a las instancias dentro de una red privada el poder acceder a los recursos de Internet mediante el IGW vía una NAT Instance es necesario:
- Crear un grupo de seguridad para la NAT Instance con reglas de salida que especifiquen los puertos de los recurso necesarios de Internet y las direcciones IP.
- Iniciar una Amazon Linux NAT AMI como instancia en una subred pública y asociarla con el grupo de seguridad NAT.
- Deshabilitar el atributo Source/Destination del NAT.
- Configurar la table route asociada con la subred privada para dirigir el trafico de Internet a una NAT Instance.
- Asociar una dirección IP elástica con la NAT Instance.
Esta configuración permite a las instancias privadas enviar trafico de Internet saliente, y evitar trafico entrante solicitado por alguien en el Internet.
¿Qué es un NAT Gateway?
Una NAT Gateway es un recurso administrado que permite diseñar y operar de igual manera que una nat instance, pero es mas sencillo de manejar y de muy alta disponibilidad dentro de un AZ.
Para permitir a las instancias de una subred acceder los recursos de un IGW vía NAT Gateway, es necesario:
- Configurar el route table asociado con la subred privada para dirigir el trafico de entrada de Internet a la NAT Gateway (pe nat1a3b3c4d).
- Asignar una EIP y asociarla al NAT Gateway.
Así como las NAT Instances, este servicio manejado permite comunicación de Internet saliente y previene a las instancias de recibir el entrante.