¿Cómo crear una Nat Instance en AWS?
- 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.
- 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
- 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?
- 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.
- 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.
- 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
- Regresa a la terminal dentro del servidor privado e intenta actualizar nuevamente los paquetes, ahora debería poder realizar la conexión a Internet.