En este tutorial vamos a aprender paso a paso como crear una VPC dentro de Amazon AWS en el cual vamos a tener una red privada y una red pública trabajando en conjunto.
¿Cómo crear un VPC en AWS?
- Crear un nuevo VPC con las siguientes características.
- Name
- my_vpc
- CIRD Block
- 10.0.0.0/16
- Tendency
- Default
Cuando se crea un nuevo VPC se crean también por default:
- Un route table.
- Un security group.
- Un network ACL.
Los elementos que no se crean por default son:
- Subnets.
- Internet Gateways.
El vpc por default tiene la direccion 172.31.0.0/16.
Crear las subnets (subredes)
- Creamos una subnet con las siguientes características.
- Name Tag
- 10.0.1.0 - us-east-1a
- VPC
- my_vpc
- Availability Zone
- us-east-1a
- CIDR Block
- 10.0.1.0/24 (1 representa la subred y 24 el número de ips que pueden asignarse)
AWS reserva 3 direcciones por default para cada subnet.
- 10.0.0.1 Para el VPC router.
- 10.0.0.2 Para AWS.
- 10.0.0.3 Para AWS (uso futuro).
Hay otras 2 direcciones que por su naturaleza no se pueden asignar.
- 10.0.0.0 Network address.
- 10.0.0.25 Network broadcast address.
- Creamos otra subnet con las siguientes características.
- Name Tag
- 10.0.2.0 - us-east-1b
- VPC
- my_vpc
- Availability Zone
- us-east-1b
- CIDR Block
- 10.0.2.0/24
Crear un gateway para dar salida a Internet
Lo primero que tenemos que hacer es permitir que el vpc tenga acceso al internet.
- Creamos un nuevo Internet gateway.
- Name
- my_igw
- Asociamos el gateway al vpc my_igw > Attach VPC > my_vpc.
No es posible asociar múltiples igw a un vpc.
Crear un table route para nuestro gateway
- Cada que se crea una nueva subnet se asocia por default al main route table, para evitar que todas las subnets por default sean públicas, creamos un nuevo route table Route Tables > Create Route Table.
- Name
- my_public_route
- VPC
- my_vpc
La intención es que cualquier subnet asociada a este route table tengan salida a Internet.
- Creamos la ruta de salida de salida a Internet mediante el gateway my_public_route > Routes > Edit > Add another route.
- Destination
- 0.0.0.0/0
- Target
- my_igw
Asociar una subnet al public route table
- Para asociar nuestra subnet con el public route vamos a my_public_route > Subnet Associations > Edit > 10.0.1.0 - us-east-1a > Save.
- Habilitamos la autoasignación de IPS para las instancias en esta subnet Subnets > eu-east-1a > Subnet Actiosn > Modify Auto Assign Pub IP > Enable Auto Assign Public IP > Save.
Crear una instancia de ec2 sobre la subnet pública
- Creamos una instancia de EC2 con las siguientes características.
- Network
- my_vpc
- Subnet
- us-east-1a (Esta es la que tiene asociada la parte publica de nuestra vpc)
- Auto Assign IP
- Use Subnet Settings (Ya que hemos configurado que las ips se autoasignen)
- Provision Script
- Script de provisionamiento
#!/bin/bash yum update -y yum install httpd -y service httpd start chkconf on echo "Hola Mundo" >> /var/www/html/index.html
- Security Group
- Crear uno nuevo con salida al puerto 80
- Una ip pública deberá asignarse automáticamente, al abrir esta en el navegador deberá mostrar el mensaje “Hola Mundo”.