AWS Cloud9 es un entorno de desarrollo integrado (IDE) basado en la nube que permite escribir y ejecutar código directamente desde un navegador web. Proporciona un editor de código y una terminal preconfigurados, lo que facilita la creación y el despliegue de aplicaciones. Además, Cloud9 se integra con otros servicios de AWS, lo que permite a los desarrolladores crear instancias de cómputo en la nube (EC2), acceder a bases de datos relacionales (RDS) y escribir funciones sin servidor (Lambda).
Crear el entorno de Cloud9:
Desde Learner Lab ir a la consola de AWS y seleccionar Cloud9. Presionar el botón de Crear entorno
y completar el formulario con la siguiente información:
Desarrollo web
)
Nueva instancia de EC2
t3.small (2 GiB RAM + 2 vCPU)
Ubuntu Server 22.04 LTS
4 horas
Secure Shell (SSH)
Finalmente, presionar el botón Crear
.
Configurar el firewall virtual de la insancia EC2: Requerimos abrir el puerto 8080 para poder probar nuestras aplicaciones web desde cualquier dispositivo conectado a la internet. Ir a la consola de AWS y seleccionar EC2 y realizar las siguientes acciones:
Red y seguridad
, seleccionar Grupos de seguridad
.
aws-cloud9-
seguido del nombre entorno Cloud9 recién creado y darle clic a la liga correspondiente en la columna de ID de grupo de seguridad
.
Editar reglas de entrada
.
Agregar regla
.
TCP personalizado
8080
Anywhere-IPv4
Pruebas de desarrollo web
)Guardar reglas
.
Actualizar los paquetes del sistema: Desde la consola de AWS, ingresa a la consola de Cloud9 y da clic en la liga Abrir
del entorno recién creado. En la terminal teclear los siguientes dos comandos:
sudo apt update
sudo apt upgrade -y
NOTA: Se sugiere correr estos dos comandos al menos una vez a la semana para mantener el sistema seguro y actualizado.
Instalar http-server
: El siguiente comando de la terminal instala globalmente en el sistema http-server, un servidor de HTTP estático simple de línea de comando que no require configuración. Es lo suficientemente potente para uso en producción, pero lo suficientemente simple y flexible como para utilizarse en pruebas, desarrollo local y aprendizaje.
sudo npm install --global http-server
Echar a andar un sitio web: Para observar cómo funciona el servidor, podemos crear un pequeño sitio web para una página de “Hola, mundo”. Primero debemos crear un directorio para nuestro sitio. Desde la terminal, teclear:
mkdir hola_mundo
Para cambiarse a este nuevo directorio, teclear:
cd hola_mundo
Usando el editor de Cloud9, crear en este mismo directorio un nuevo archivo llamado index.html
con el siguiente contenido:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>¡Hola, Mundo!</title> </head> <body> <h1>El Primer Paso</h1> <p> Hola, Mundo, inicio brillante, <br> en código siempre constante. <br> Te escriben con gran emoción, <br> ¡y te borran sin explicación! </p> <p> — ChatGPT </p> <!-- ChatGPT. Poema: El Primer Paso. 14 de febrero de 2025. Generado por ChatGPT. --> </body> </html>
Ahora requerimos obtener la dirección IPv4 pública de la instancia EC2 en uso. Para ello, correr el siguiente comando curl
desde la terminal:
curl http://169.254.169.254/latest/meta-data/public-ipv4
El resultado debe ser algo así como 54.166.105.51
. Tomar nota de esta dirección ya que se usará más adelante.
NOTA: La dirección IP será distinta cada vez que se inicie una nueva sesión del Learner Lab. Esto quiere decir que este comando se debe ejecutar al inicio de cada sesión.
Para correr el servidor web teclear en la terminal:
http-server
NOTA: Por omisión, el servidor de web ejecutado usa el puerto 8080
y la dirección 0.0.0.0
(esto implica que se puede acceder al sitio desde cualquier dispositivo conectado a la internet).
Ahora solo se requiere colocar en la barra de direcciones del navegador lo siguiente:
<dir-ip>:8080
Donde <dir-ip> es la dirección IP que se obtuvo arriba al correr el comando curl
. En el navegador se debe visualizar correctamente la página index.html
creada anteriormente.
Para detener el servidor, presionar Ctrl-C en la terminal en la que está ejecutándose.