Comparación NAT Instance vs NAT Gateways en AWS

Comparación NAT Instance vs NAT Gateways en AWS

¿Cómo crear una Nat Instance en AWS?

  1. Creamos una nueva instancia.
Configure Instance
Network: my_vpc
Subnet: us-east-1b (red privada)
Auto-assign Public IP: Disabled (no necesitamos ip publica)
Tags
Name: MySQL Server
Ports
SSH desde 10.0.1.0/24
MySQL desde 10.0.1.0/24
ICMP desde 10.0.1.0/24

Lo que estamos haciendo es permitir que los elementos en la red publica tengan acceso a SSH, MySQL y a realizar Pings mediante ICMP.

  1. Acceder al servidor publico a través de su ip pública y crea un archivo con el nombre de tu llave de acceso, pega dentro de esta el mismo contenido para su posterior uso. Accede al servidor privado mediante esta llave.
$ cat path/to/key-name.pem | pbcopy
$ ssh ec2-user@public-ip -i path/to/key-name.pem
$ vim ~/.ssh/key-name.pem
--- then paste the code
$ chmod 600 ~/.ssh/key-name.pem
$ ssh ec2-user@private-ip -i ~/.ssh/key-name
  1. El objetivo es instalar mysql de manera que solo el servidor publico tenga acceso, pero no toda la red de Internet. Intenta ahora actualizar los paquetes usando yum update -y.

Tenemos un problema ya que nuestra instancia no tiene acceso de salida a la red de internet, para ello echaremos mano de una de las 2 posibles soluciones, nat instance y una nat gatweay.

¿Qué es una Nat Instance?

Una nat instance es una instancia de ec2 en una con salida a Internet que sirve de internet proxy a una instancia de ec2 que no tiene salida a Internet.

¿Cuáles son los pasos para crear una NAT Instance?

  1. Vamos a crear una nueva instancia.
AMI
Community AMIs > Operating System > Amazon Linux > amazon-ami-vpc-nat-hvm
Network
my_vpc
Subnet
us-east-1a (Publica)
Auto-assign Public IP
Use subnet setting (Que en este punto deberá asignar una ip publica)
Name
my_nat
Traffic
22, 80 y 443 desde cualquier punto.
  1. Desactiva el Source destination check dirigiéndote a my_nat > Actions > Networking > Change Source/Destination Check > Yes, Disable.

Cualquier instancia de ec2 por default puede ser el origen o el destino de cualquier tipo de tráfico que envía o recibe.

  1. Crea una table route desde nuestra subnet privada us-east-1b a nuestra nat instance que a su vez brinda salida a Internet VPC > Route Tables > my_vpc (el principal, no el que creamos) > Routes > Add another route.
Destination
0.0.0.0/0 (Todo el tráfico de Internet)
Target
my_nat
  1. Regresa a la terminal dentro del servidor privado e intenta actualizar nuevamente los paquetes, ahora debería poder realizar la conexión a Internet.