Trabajo con instancias de Amazon Lightsail en el entorno de desarrollo integrado (IDE) de AWS Cloud9 - AWS Cloud9

Trabajo con instancias de Amazon Lightsail en el entorno de desarrollo integrado (IDE) de AWS Cloud9

Puede utilizar el IDE de AWS Cloud9 para trabajar con instancias de Amazon Lightsail preconfiguradas con aplicaciones y marcos populares, como WordPress, LAMP (Linux, Apache, MySQL y PHP), Node.js, Nginx, Drupal y Joomla, así como con distribuciones Linux como Amazon Linux, Ubuntu, Debian, FreeBSD y openSUSE.

Lightsail es la manera más sencilla de dar los primeros pasos en AWS para desarrolladores, pequeños negocios, estudiantes y otros usuarios que necesitan una solución de servidor privado virtual (VPS) sencilla. Lightsail proporciona a los desarrolladores capacidad informática, almacenamiento y red, así como funciones para implementar y administrar sitios y aplicaciones web en la nube. Lightsail incluye todo lo que necesita para lanzar rápidamente su proyecto —una máquina virtual, almacenamiento basado en SSD, transferencia de datos, administración de DNS y una dirección IP estática—, a un precio mensual bajo y predecible. Para obtener más información, consulte Características de Amazon Lightsail.

En este tema va a crear y configurar una instancia de Lightsail basada en Linux que sea compatible con AWS Cloud9. A continuación creará un entorno de desarrollo de SSH de AWS Cloud9 y lo conectará a la instancia de Lightsail.

nota

El uso de estos procedimientos puede producir cargos en su cuenta de AWS. Entre estos se incluyen posibles cargos por servicios como Lightsail. Para obtener más información, consulte Precios de Amazon Lightsail.

Para crear y configurar una solución más avanzada que incluya una cadena de herramientas con el IDE de AWS Cloud9, control de fuentes, compilación, implementación, servidores virtuales o recursos sin servidor, y mucho más, omita el resto de este tema y consulte Trabajo con proyectos de AWS CodeStar en su lugar.

Para utilizar el IDE de AWS Cloud9 y trabajar con una instancia de Amazon EC2 que se ejecute en Amazon Linux o Ubuntu Server y que no contenga código de muestra, omita el resto de este tema y consulte Introducción: tutoriales básicos en su lugar.

Paso 1: Crear una instancia de Lightsail basada en Linux

En este paso va a utilizar la consola de Lightsail para crear una instancia de Amazon EC2 que ejecuta una aplicación en una distribución basada en Linux. Esta instancia automáticamente incluye:

  • Una dirección IP pública y privada. (Puede crear una IP pública estática más adelante).

  • Acceso a la instancia mediante SSH a través del puerto 22, HTTP a través del puerto 80 y HTTPS a través del puerto 443. (Puede cambiar estos valores).

  • Un disco de almacenamiento en bloque. (Puede adjuntar discos adicionales más adelante).

  • Informes de sistema integrados.

La consola de Lightsail le permite realizar copias de seguridad, reiniciar, detener o eliminar la instancia con posterioridad.

  1. Abra la consola de Lightsail e inicie sesión en esta en https://lightsail.aws.amazon.com.

    Se recomienda iniciar sesión con las credenciales de un usuario administrador de IAM en su cuenta de AWS. Si no puede iniciar sesión como usuario administrador de IAM, consulte con el administrador de su cuenta de AWS.

  2. Si se le solicita, elija el idioma que desea utilizar en la consola y, a continuación, seleccione Save (Guardar).

  3. Si se le solicita, elija Let's get started (Comencemos).

  4. En la página de inicio, con la pestaña Instances (Instancias) ya seleccionada, elija Create instance (Crear instancia).

    
                  Selección del botón Create instance (Crear instancia) en la consola de Lightsail
  5. En Instance location (Ubicación de la instancia), asegúrese de que la ubicación coincida con una región de AWS en la que desee crear la instancia donde AWS Cloud9 esté disponible. Para obtener más información, consulte AWS Cloud9 en Referencia general de Amazon Web Services. Para cambiar la región de AWS, la zona de disponibilidad o ambas, elija Change AWS Region and Availability Zone (Cambiar región de AWS y zona de disponibilidad) y, a continuación, siga las instrucciones que aparecen en pantalla.

  6. En Pick your instance image (Elija su imagen de instancia), una vez que haya elegido Linux/Unix para Select a platform (Seleccione una plataforma) y Apps + OS (Aplicaciones + SO) para Select a blueprint (Seleccione un proyecto), seleccione un proyecto.

    
                  Selección de una plataforma de instancias y un proyecto en la consola de Lightsail
    nota

    Si desea crear una instancia sin aplicación, elija OS Only (Solo SO) en lugar de Apps + OS (Aplicaciones + SO) y, a continuación, seleccione una distribución.

    Para obtener más información acerca de las opciones disponibles, consulte la sección relacionada con la selección de una imagen de instancia de Amazon Lightsail en el sitio web de Lightsail.

  7. En Choose your instance plan (Seleccione su plan de instancia), elija un plan o deje el plan seleccionado de manera predeterminada.

  8. En Name your instance (Asignar nombre a la instancia), escriba un nombre para la instancia o deje el nombre propuesto de manera predeterminada.

  9. Para el número de instancias, escriba el número de instancias que desea crear o deje el valor predeterminado de una sola instancia (x 1).

  10. Seleccione Create (Crear OpsItem).

Paso 2: Configurar la instancia para utilizarla con AWS Cloud9

En este paso se conectará a la instancia en ejecución y, a continuación, la configurará para que AWS Cloud9 pueda utilizarla más adelante.

nota

En las siguientes instrucciones se presupone que ha elegido Apps + OS (Aplicaciones + SO) en el paso anterior. Si ha elegido OS Only (Solo SO) y una distribución distinta de Ubuntu, es posible que tenga que adaptar las siguientes instrucciones según corresponda.

  1. Con la consola de Lightsail abierta del paso anterior, en la pestaña Instances (Instancias), en la tarjeta de la instancia, elija el nombre de la instancia.

    
                  Opción en la que se muestran los detalles de la instancia en la consola de Lightsail
  2. En la pestaña Connect (Conectar), en Connect using your own SSH client (Conectarse a través de su propio cliente SSH), apunte los valores de Public IP (IP pública) y User name (Nombre de usuario), puesto que los necesitará más adelante.

    
                  La dirección pública de la instancia y el nombre de usuario se muestran en la consola de Lightsail
  3. Elija Conectarse a través de SSH.

  4. Asegúrese de que la instancia incluya las últimas actualizaciones del sistema. Para ello, en la sesión de terminal que aparece, ejecute el comando sudo apt update.

  5. Compruebe si se ha instalado Python y, si es así, asegúrese de que la versión sea la 2.7. Para comprobar la versión, ejecute el comando python --version y anote el número de versión que aparece. Si no aparece ningún número de versión o si la versión no es 2.7, instale Python 2.7 en la instancia ejecutando el comando sudo apt install -y python-minimal.

  6. Compruebe si se ha instalado Node.js y, si es así, compruebe que la versión sea 0.6.16 o una versión posterior. Para comprobar la versión, ejecute el comando node --version y anote el número de versión que aparece. Si no aparece ningún número de versión o si la versión no es 0.6.16 o posterior, le recomendamos que utilice Node Version Manager (nvm) para instalar Node.js en la instancia.

    Para ello, ejecute los siguientes comandos de uno en uno, en el orden que se indica a continuación, para actualizar la instancia, instale Node Version Manager (nvm) en la instancia, active nvm en la instancia y, a continuación, instale la versión más reciente de Node.js en la instancia.

    sudo apt update curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash . ~/.bashrc nvm install node
  7. Ejecute el comando which node y anote el valor que aparece. La necesitará más adelante.

    nota

    Si el resultado del comando which node se parece a /usr/sbin/node, AWS Cloud9 no podrá encontrar Node.js en esa ruta. En su lugar, utilice nvm para instalar Node.js, tal y como se describe en el paso anterior de este procedimiento. A continuación, ejecute de nuevo el comando which node y anote el nuevo valor que aparece.

  8. Descargue y ejecute el instalador de AWS Cloud9 en la instancia.

Paso 3: Crear un entorno de desarrollo SSH de AWS Cloud9 y conectarse a este

En este paso utilizará la consola de AWS Cloud9 y el terminal de la instancia para crear un entorno de SSH y, a continuación, conectará el entorno a la instancia en ejecución.

  1. Con la sesión de terminal abierta desde el paso anterior, inicie sesión en la consola de AWS Cloud9, como sigue:

    • Si es la única persona que utiliza la cuenta de AWS o es un usuario de IAM en una única cuenta de AWS, vaya a https://console.aws.amazon.com/cloud9.

    • Si su organización utiliza AWS Single Sign-On (SSO), solicite instrucciones de inicio de sesión al administrador de la cuenta de AWS.

    nota

    En este paso trabajará con dos servicios de AWS diferentes al mismo tiempo. Si inició sesión en la consola de Lightsail como usuario administrador de IAM, pero desea que otra entidad sea la propietaria del nuevo entorno de SSH, le sugerimos que abra otro navegador web e inicie sesión en la consola de AWS Cloud9 como dicha entidad.

  2. En la consola de AWS Cloud9, elija la región de AWS que coincida con la región en la que ha creado la instancia.

    
                  Selector de región de AWS en la consola de AWS Cloud9
  3. Si aparece una página de bienvenida, en New AWS Cloud9 environment (Nuevo entorno de AWS Cloud9), elija Create environment (Crear entorno). De lo contrario, elija Create environment (Crear entorno).

    
                  Selección del botón Next step (Paso siguiente) cuando aparece una página de bienvenida

    O bien:

    
                  Selección del botón Create environment (Crear entorno) cuando no aparece una página de bienvenida
  4. En la página Name environment (Asignar nombre al entorno), en Name (Nombre), escriba un nombre para el entorno.

  5. Para agregar una descripción del entorno, escríbala en Description (Descripción).

  6. Elija Next Step (Paso siguiente).

  7. En la página Configure settings (Configurar ajustes), en Environment type (Tipo de entorno), elija Connect and run in remote server (SSH) (Conectar y ejecutar en servidor remoto [SSH]).

  8. En User (Usuario), escriba el valor de User name (Nombre de usuario) que había anotado antes.

  9. En Host, escriba el valor de Public IP (IP pública) que había anotado antes.

  10. En Port (Puerto), deje el valor predeterminado, 22.

  11. Amplíe Advanced settings (Configuración avanzada).

  12. En Environment path (Ruta del entorno), escriba la ruta desde la que AWS Cloud9 empezará después de iniciar sesión, que es ~/ (la raíz del directorio de inicio del usuario).

  13. En Node.js binary path (Ruta binaria de Node.js), escriba el valor del comando which node que había anotado antes.

  14. Deje SSH jump host (Host de salto de SSH) en blanco.

  15. Almacene la clave SSH pública que crea AWS Cloud9 para este entorno en el portapapeles del sistema. Para ello, elija Copy key to clipboard (Copiar clave en portapapeles).

    nota

    Para ver el valor de la clave SSH pública que se ha copiado, amplíe View public SSH key (Ver clave pública SSH).

  16. Guarde el valor de la clave SSH pública que acaba de copiar en la instancia. Para ello, utilice vi, un conocido editor de texto que ya está instalado en la instancia:

    1. En la sesión de terminal de la instancia, ejecute el comando vi ~/.ssh/authorized_keys.

    2. En el editor vi que aparece, vaya al final del archivo y cambie al modo de inserción. Para ello, pulse G y, a continuación, A. (- INSERT: aparece en la parte inferior del editor vi.)

    3. Añada dos retornos de carro al final del archivo pulsando Enter dos veces.

    4. Pegue el contenido del portapapeles del sistema, que contiene el valor de la clave SSH pública que acaba de copiar, en el portapapeles de la sesión de terminal. Para ello, en la esquina inferior de la ventana de la sesión de terminal, elija el botón de portapapeles y, a continuación, pegue el contenido del portapapeles del sistema en el cuadro.

      
                        Apertura del portapapeles de la sesión de terminal de Lightsail
    5. Pegue el contenido del portapapeles de la sesión de terminal en el editor vi. Para ello, en el punto de inserción del editor vi, pulse Ctrl + Shift + V.

    6. Guarde el archivo. Para ello, pulse Esc para entrar en modo de comando. (-- INSERT -- desaparece de la parte inferior del editor vi). Escriba :wq (para write (escribir) el archivo y, a continuación, quit para salir del editor vi); a continuación, pulse Enter.

  17. En la consola de AWS Cloud9, elija Next step (Paso siguiente).

  18. En la página Review choices (Revisar opciones), elija Create environment (Crear entorno). Espere mientras AWS Cloud9 crea su entorno. A continuación, se muestra el IDE de AWS Cloud9 para el entorno. Esto puede tardar varios minutos.

Después de crear el entorno, AWS Cloud9 muestra el IDE de AWS Cloud9 del entorno.

Si AWS Cloud9 no muestra el IDE transcurridos al menos cinco minutos, puede que haya un problema con su navegador web, los permisos de acceso de AWS, la instancia o la nube virtual privada (VPC) asociada. Para ver posibles soluciones, consulte No se puede abrir un entorno en Solución de problemas.

Paso 4: Utilizar el IDE de AWS Cloud9 para cambiar el código en la instancia

Ahora que se muestra el IDE para el nuevo entorno, puede utilizar la sesión de terminal en el IDE en lugar de la sesión de terminal de Lightsail. El IDE ofrece una rica experiencia de edición de código, con compatibilidad para varios lenguajes de programación y depuradores de tiempo de ejecución, así como temas de color, enlaces de teclado, colores de sintaxis específicos para los lenguajes de programación, formato de código, etc.

Para obtener información sobre cómo utilizar el IDE, consulte Recorrido del IDE de AWS Cloud9.

Para obtener información sobre cómo cambiar el código en la instancia, le recomendamos los siguientes recursos.