Como crear una VPC y una instancia EC2 en AWS

Hello World 🙂
Conversando con un amigo que recién comienza a dar sus primeros pasos en AWS, me di cuenta de que no tenía ninguna guía en mi blog que pudiera ayudarlo a crear una VPC e instancias EC2 desde cero. Los artículos anteriores que he publicado están orientados a personas con conocimientos previos en la plataforma, así que decidí hacer algo diferente. En esta entrada, voy a mostrar un paso a paso que será útil para cualquier persona que esté empezando en el mundo de AWS.
Hoy, utilizaremos la interfaz gráfica de la consola de AWS para crear una infraestructura simple pero efectiva. Configuraremos una VPC con 4 subredes en dos zonas de disponibilidad (AZs); 2 subredes públicas y 2 privadas. También configuraremos un Internet Gateway (IGW) para proporcionar acceso a internet a las subredes públicas y un NAT Gateway para que las subredes privadas puedan acceder a internet de forma segura. Además, crearemos dos tablas de enrutamiento, una para las subredes públicas y otra para las privadas, y actualizaremos las rutas de acuerdo con nuestro plan.
Después de configurar la VPC, lanzaremos instancias EC2 en las subredes públicas y privadas para asegurarnos de que todo funcione correctamente. Para acceder a las instancias en las subredes privadas, utilizaremos las instancias en las subredes públicas como servidores de salto (Jumpbox).
¡No perdamos más tiempo y pongámonos manos a la obra!
Vamos a construir una infraestructura sencilla, segura y robusta.
Primero, definiremos qué es una VPC;
Con Amazon Virtual Private Cloud (Amazon VPC), puede lanzar recursos de AWS en una red virtual aislada de manera lógica que haya definido. Esta red virtual es muy similar a la red tradicional que usaría en su propio centro de datos, pero con los beneficios que supone utilizar la infraestructura escalable de AWS.
Fuente: AWS
y qué es una instancia EC2.
Amazon Elastic Compute Cloud (Amazon EC2) proporciona capacidad de computación escalable bajo demanda en la nube de Amazon Web Services (AWS). El uso de Amazon EC2 reduce los costos de hardware para que pueda desarrollar e implementar aplicaciones con mayor rapidez. Puede usar Amazon EC2 para lanzar tantos servidores virtuales como necesite, configurar la seguridad y las redes, y administrar el almacenamiento.
Fuente: AWS
Es importante saber que cada cuenta de AWS incluye una VPC predeterminada en cada región. Sin embargo, siguiendo las mejores prácticas recomendadas, crearemos nuestra propia VPC personalizada para garantizar un entorno más seguro y adaptado a nuestras necesidades.
Requisitos:
- Tener una cuenta de AWS
1- Una vez logueado en la consola de AWS, iremos a la sección de VPC;

- Vamos a definir los segmentos de IP o CIDR que van a usar nuestra VPC y sus respectivas subredes
- VPC:
10.0.0.0/16 - Subredes Privadas:
10.0.0.0/19y10.0.32.0/19 - Subredes Públicas:
10.0.64.0/19y10.0.96.0/19
- VPC:

- Aquí tenemos que poner el nombre y el CIDR definido anteriormente

- Ahora que ya tenemos la VPC, vamos a la sección de subredes que está situada en la parte izquierda para crear 4 según nuestro plan inicial.
- Ahora crearemos un Internet Gateway (IGW), vamos al panel izquierdo y hacemos clic sobre el nombre del recurso.
- Ahora crearemos el NAT Gateway, hacemos clic en el panel izquierdo sobre el nombre del recurso.
- Ahora que ya tenemos el IGW y el NAT listo, vamos a crear un par Route Tables y definir las rutas de salida hacia internet para las diferentes subredes, una vez más vamos al panel izquierdo y hacemos clic sobre el recurso que queremos crear.
- Actualizar las Route Table, lo que vamos a hacer aquí es decirle a las subredes públicas y las privadas que recurso van a usar para salir a internet, este paso es indispensable para la salida a internet de las futuras instancias EC2 que vamos a crear.
2- Una vez terminada todas las configuraciones necesarias en la VPC, iremos a lanzar las instancias EC2.



- Primero vamos a lanzar nuestra instancia en la subred privada.
- Aquí definimos el nombre y seleccionamos el tipo de SO que queremos, en este caso voy a usar Amazon Linux para estos ejemplos
- Ahora seleccionamos la subred que vamos a utilizar y crearemos también un
Security Groupque va a permitir conexiones SSH a la instancia desde mi IP. - Seleccionamos el tipo de instancia y creamos una Key Pair para este ejemplo,
- Este key pair es una llave SSH que vamos a descargar para nuestra máquina local y usaremos posteriormente para conectarnos a la instancia.
- La parte de almacenamiento dejamos los valores por defecto, para este ejemplo con 8 GB es suficiente.
- Después de hacer todas las configuraciones necesarias ya podemos ejecutar el botón
"Launch instance"
- Ahora vamos a lanzar otra instancia, pero en la subred pública, es el mismo procedimiento, aquí utilizaremos el mismo
Security Groupy la mismaKey Paircreada anteriormente.
3- Ahora que ya tenemos creadas las instancias EC2 tenemos que conectarnos a ellas usando la llave SSH(key pair) generada anteriormente y que tenemos en nuestra máquina.

- A esa llave SSH tenemos que asignarle los siguientes permisos:
chmod 400 "poc-vpc-ec2.pem"
- Vamos a conectarnos a la instancia en la subred pública desde nuestra máquina usando SSH y vamos a ejecutar
pingal8.8.8.8que es una IP de Google para comprobar que tenemos salida a internet:ssh -i "poc-vpc-ec2.pem" ec2-user@18.212.186.178- Ahora que pudimos acceder, vamos a copiar la llave SSH hacia esa instancia para acceder a la instancia en la red privada usando el comando SCP;
- y vamos también a editar el Security Group para permitir conexiones SSH desde la VPC.
- Después de hacer estos 2 pasos vamos a conectarnos a la instancia en la subred pública para de ahí conectarnos a la instancia en la subred privada y comprobar también que tiene salida a internet usando el mismo procedimiento.
- Logramos conectarnos a ambas instancias en las diferentes subredes y verificar que ambas tienen salida a internet. En un entorno empresarial, es muy común utilizar un servidor de salto (Jumpbox) para acceder a instancias ubicadas en subredes privadas. Esta práctica es una medida de seguridad esencial que ayuda a proteger las instancias que alojan aplicaciones críticas, evitando posibles ataques maliciosos. Aunque usar una llave SSH para que los usuarios finales se conecten no sea la opción más recomendable desde el punto de vista de la seguridad, es un buen punto de partida para aquellos que están comenzando. Más adelante, podemos explorar otras opciones para mejorar la seguridad en estos accesos. Por ahora, creo que este paso a paso ofrece una base sólida sin abrumar a los que están dando sus primeros pasos en AWS.
Nota:
El secreto para evitar sorpresas desagradables en tu tarjeta de crédito al usar AWS es muy sencillo: una vez que hayas terminado tu laboratorio o práctica, asegúrate de eliminar todos los recursos que has creado. Esta precaución te ahorrará cualquier sobresalto cuando llegue la factura a fin de mes. 🙂
Conclusiones;
La combinación de estos dos servicios VPC y EC2, es realmente poderosa. Por un lado, VPC nos proporciona una infraestructura de red altamente configurable con una amplia gama de características, y por otro, podemos desplegar diferentes tipos de instancias EC2 sobre esa red, adaptándolas a las necesidades específicas de nuestras aplicaciones.
Una de las ventajas de usar VPC es que, una vez creada con el tamaño adecuado para garantizar suficientes direcciones IP disponibles, no tenemos que preocuparnos por escalar algunos de sus componentes clave, como el NAT Gateway o el Internet Gateway (IGW). Estos son servicios administrados por AWS, lo que significa que AWS se encargará de su escalado de manera automática, liberándonos de esa carga operativa.
En cuanto a las instancias EC2, podemos gestionar su escalado de forma eficiente utilizando Auto Scaling Groups (ASG) en combinación con las métricas de CloudWatch. Esto nos permite ajustar automáticamente la capacidad según la demanda, garantizando que nuestras aplicaciones se mantengan disponibles y con el rendimiento óptimo en todo momento.
Aunque el uso de VPC y EC2 puede considerarse básico, dominar estos conceptos es esencial para diseñar y operar infraestructuras sólidas y escalables en AWS.













































¡Tu trabajo en redes es impresionante! Has logrado crear una infraestructura sólida y eficiente que no solo garantiza la conectividad, sino que también optimiza el rendimiento y la seguridad. Cada detalle ha sido cuidadosamente considerado, y se nota el nivel de experiencia y dedicación que has puesto. ¡Es un logro digno de admiración! Continue con sus tutoriales que son increiblemente Buenos.