Desarrollo web

Creando un entorno de AWS Cloud9

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).

Pasos a seguir

  1. 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:

    • Nombre: el nombre del entorno a crear (por ejemplo: Desarrollo web)
    • Tipo de entorno: Nueva instancia de EC2
    • Tipo de instancia: t3.small (2 GiB RAM + 2 vCPU)
    • Plataforma: Ubuntu Server 22.04 LTS
    • Tiempo de espera: 4 horas
    • Conexión: Secure Shell (SSH)

    Finalmente, presionar el botón Crear.

  2. 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:

    1. En el menú del lado izquierdo, en la sección de Red y seguridad, seleccionar Grupos de seguridad.
    2. En la lista desplegada, buscar un grupo cuyo nombre inicie con 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.
    3. Presionar el botón Editar reglas de entrada.
    4. Presionar el botón Agregar regla.
    5. En el renglón recién agregado, editar las columnas siguientes:
      • Tipo: TCP personalizado
      • Intervalo de puertos: 8080
      • Origen: Anywhere-IPv4
      • Descripción: el propósito de este puerto (por ejemplo: Pruebas de desarrollo web)
    6. Presionar el botón Guardar reglas.
  3. 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.

  4. 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
  5. 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>
          &mdash; 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.