Desplegando una página web en Amazon EC2 con Nginx
Source: Dev.to
Creando y desplegando una instancia en Amazon EC2
¿Alguna vez te has preguntado cómo funcionan los servidores en la nube o cómo puedes publicar tu propia página web en internet sin necesidad de tener un servidor físico?
En este laboratorio te guiaré paso a paso en el proceso de creación de una instancia en Amazon EC2, explicando de manera clara cada una de las configuraciones necesarias para que puedas comprender y realizar este proceso sin complicaciones. Además, no solo nos quedaremos en la teoría: utilizaremos Nginx para desplegar un sitio web real y aprenderemos cómo personalizarlo con nuestro propio contenido, logrando que esté disponible desde cualquier lugar.
Paso 1 – Acceder a Amazon EC2
- En la consola de AWS escribe “EC2” en el buscador.
- Haz clic en el servicio EC2 para ingresar al panel principal.
- Pulsa el botón naranja “Launch instance” (Lanzar instancia) para iniciar el proceso de creación.
Paso 2 – Configuración inicial de la instancia
| Elemento | Descripción |
|---|---|
| Nombre | laboratorio-ec2 (identificador fácil). |
| AMI | Amazon Linux (optimizada para AWS, ligera y ampliamente usada). |
| Tipo de instancia | t3.micro – opción básica y barata, incluida en el Free Tier, suficiente para proyectos pequeños y pruebas. |
Paso 3 – Creación del par de claves
- Asigna un nombre al par de claves para identificarlo fácilmente.
- Selecciona RSA como tipo de clave (algoritmo estándar y seguro para SSH).
- Elige el formato .pem (ideal para Linux, macOS o Git Bash en Windows).
Tip importante: descarga y guarda el archivo .pem en un lugar seguro; si lo pierdes no podrás conectarte a la instancia.
Nota: en este laboratorio la conexión se realizó mediante EC2 Instance Connect (acceso desde el navegador), pero en entornos reales el uso de la clave .pem es fundamental.
Paso 4 – Configuración de red (Security Group)
| Puerto | Protocolo | Descripción |
|---|---|---|
| 22 | TCP | SSH – permite conectarse de forma remota a la instancia. |
| 80 | TCP | HTTP – necesario para visualizar la página web desplegada. |
Estas reglas actúan como un firewall que controla el tráfico de entrada.
Paso 5 – Conexión a la instancia
- En el panel de Instancias, selecciona la que acabas de crear.
- Haz clic en “Connect” (Conectar).
- En la sección EC2 Instance Connect, pulsa “Connect” para abrir una terminal en el navegador.
Paso 6 – Actualización del sistema e instalación de Nginx
# Actualizar paquetes del sistema
sudo dnf update -y
# Instalar Nginx
sudo dnf install nginx -y
Paso 7 – Iniciar y habilitar Nginx
# Iniciar el servicio
sudo systemctl start nginx
# Hacer que arranque automáticamente al reiniciar la instancia
sudo systemctl enable nginx
Paso 8 – Obtener la dirección IP pública
- En el panel de Instancias, selecciona la instancia creada.
- Busca el campo “Dirección IPv4 pública” en la sección de detalles.
- Copia esa dirección; será la URL que usarás en el navegador para ver tu sitio web.
Paso 9 – Modificar la página web
# Cambiar al directorio donde Nginx sirve los archivos
cd /usr/share/nginx/html
# Editar el archivo index.html con nano (puedes usar otro editor)
sudo nano index.html
El archivo index.html contiene el contenido que se muestra en el navegador. Elimínalo o reemplázalo con el código HTML de tu propia página.
Paso 10 – Editar y guardar la página web
- Borra el contenido existente de
index.html. - Pega el código HTML de tu sitio web.
- Guarda los cambios (
Ctrl+Oen nano) y cierra el editor (Ctrl+X).
Ahora, al recargar la dirección IP pública en tu navegador, deberías ver la página que acabas de crear.
¡Listo! Has creado, configurado y puesto en marcha una instancia EC2 con Nginx, y has desplegado tu propio sitio web accesible desde cualquier lugar. 🎉
Guardar los cambios con nano
- Presionamos Ctrl + X para salir y guardar los cambios.
Paso 11: Visualizar la página web
Para ver el resultado de nuestro trabajo, utilizamos nuevamente la dirección IP pública de la instancia en Amazon EC2.
- Abre el navegador web.
- Ingresa la siguiente URL (reemplazando
TU_IP_PUBLICApor la IP real de la instancia):
http://TU_IP_PUBLICA
- El navegador mostrará la página web modificada.
Aprendizaje del laboratorio
- Instancia EC2: paso a paso para lanzar y configurar una instancia en Amazon EC2.
- Conexión remota: uso de EC2 Instance Connect para conectarse de forma remota.
- Servidor web: despliegue de un servidor web funcional usando Nginx.
- Security Groups: comprensión de la importancia de los grupos de seguridad para controlar el acceso mediante SSH y HTTP.
- IP pública: entendimiento de cómo la IP pública permite que una página web sea accesible desde Internet.
En general, fue una práctica útil para conectar la teoría con la práctica y entender cómo publicar una aplicación en la nube.