QuickStart: Implemente una aplicación Node.js en Elastic Beanstalk - AWS Elastic Beanstalk

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

QuickStart: Implemente una aplicación Node.js en Elastic Beanstalk

Este QuickStart tutorial explica el proceso de creación de una aplicación Node.js e implementarla en un AWS Elastic Beanstalk entorno.

nota

Este QuickStart tutorial está destinado a fines de demostración. No utilice la aplicación creada en este tutorial para el tráfico de producción.

Tu AWS cuenta

Si aún no eres AWS cliente, debes crear una AWS cuenta. El registro le permite acceder a Elastic Beanstalk AWS y a otros servicios que necesite.

Si ya tiene una AWS cuenta, puede pasar a. Requisitos previos

Inscríbase en una Cuenta de AWS

Si no tiene uno Cuenta de AWS, complete los siguientes pasos para crearlo.

Para suscribirte a una Cuenta de AWS
  1. Abra https://portal.aws.amazon.com/billing/signup.

  2. Siga las instrucciones que se le indiquen.

    Parte del procedimiento de registro consiste en recibir una llamada telefónica e indicar un código de verificación en el teclado del teléfono.

    Cuando te registras en un Cuenta de AWS, Usuario raíz de la cuenta de AWSse crea un. El usuario raíz tendrá acceso a todos los AWS services y recursos de esa cuenta. Como práctica recomendada de seguridad, asigne acceso administrativo a un usuario y utilice únicamente el usuario raíz para realizar tareas que requieren acceso de usuario raíz.

AWS te envía un correo electrónico de confirmación una vez finalizado el proceso de registro. Puede ver la actividad de la cuenta y administrar la cuenta en cualquier momento entrando en https://aws.amazon.com/ y seleccionando Mi cuenta.

Creación de un usuario con acceso administrativo

Después de crear un usuario administrativo Cuenta de AWS, asegúrelo Usuario raíz de la cuenta de AWS AWS IAM Identity Center, habilite y cree un usuario administrativo para no usar el usuario root en las tareas diarias.

Proteja su Usuario raíz de la cuenta de AWS
  1. Inicie sesión AWS Management Consolecomo propietario de la cuenta seleccionando el usuario root e introduciendo su dirección de Cuenta de AWS correo electrónico. En la siguiente página, escriba su contraseña.

    Para obtener ayuda para iniciar sesión con el usuario raíz, consulte Iniciar sesión como usuario raíz en la Guía del usuario de AWS Sign-In .

  2. Active la autenticación multifactor (MFA) para el usuario raíz.

    Para obtener instrucciones, consulte Habilitar un dispositivo MFA virtual para el usuario Cuenta de AWS raíz (consola) en la Guía del usuario de IAM.

Creación de un usuario con acceso administrativo
  1. Activar IAM Identity Center.

    Consulte las instrucciones en Activar AWS IAM Identity Center en la Guía del usuario de AWS IAM Identity Center .

  2. En IAM Identity Center, conceda acceso administrativo a un usuario.

    Para ver un tutorial sobre su uso Directorio de IAM Identity Center como fuente de identidad, consulte Configurar el acceso de los usuarios con la configuración predeterminada Directorio de IAM Identity Center en la Guía del AWS IAM Identity Center usuario.

Iniciar sesión como usuario con acceso de administrador
  • Para iniciar sesión con el usuario de IAM Identity Center, utilice la URL de inicio de sesión que se envió a la dirección de correo electrónico cuando creó el usuario de IAM Identity Center.

    Para obtener ayuda para iniciar sesión con un usuario del Centro de identidades de IAM, consulte Iniciar sesión en el portal de AWS acceso en la Guía del AWS Sign-In usuario.

Concesión de acceso a usuarios adicionales
  1. En IAM Identity Center, cree un conjunto de permisos que siga la práctica recomendada de aplicar permisos de privilegios mínimos.

    Para conocer las instrucciones, consulte Create a permission set en la Guía del usuario de AWS IAM Identity Center .

  2. Asigne usuarios a un grupo y, a continuación, asigne el acceso de inicio de sesión único al grupo.

    Para conocer las instrucciones, consulte Add groups en la Guía del usuario de AWS IAM Identity Center .

Requisitos previos

Para seguir los procedimientos de esta guía, necesitará un shell o un terminal de línea de comando donde pueda ejecutar los comandos. Los comandos aparecen en listas y van precedidos del símbolo del sistema ($) y del nombre del directorio actual, si es aplicable.

~/eb-project$ this is a command this is output

En Linux y macOS, puede utilizar el administrador de shell y paquetes preferido. En Windows, puede instalar el subsistema de Windows para Linux y obtener una versión de Ubuntu y Bash integrada en Windows.

CLI DE EB

En este tutorial también se utiliza la interfaz de línea de comandos de Elastic Beanstalk (CLI de EB). Para obtener detalles sobre la instalación y configuración de la CLI de EB, consulte Instalación de la CLI de EB y Configuración de la CLI de EB.

Node.js

Instale Node.js en su máquina local siguiendo Cómo instalar Node.js en el sitio web Node.js.

Compruebe la instalación de Node.js ejecutando el siguiente comando.

~$ node -v

Paso 1: Cree una aplicación Node.js

Cree el directorio del proyecto.

~$ mkdir eb-nodejs ~$ cd eb-nodejs

A continuación, vamos a crear una aplicación que implementará con Elastic Beanstalk. Crearemos el servicio web RESTful "Hello World".

ejemplo ~/eb-nodejs/server.js
const http = require('node:http'); const hostname = '127.0.0.1'; const port = 8080; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello Elastic Beanstalk!\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });

Esta aplicación abre un oyente en el puerto 8080. Elastic Beanstalk reenvía las solicitudes a la aplicación en el puerto 8080 de forma predeterminada para Node.js.

Paso 2: Ejecute la aplicación localmente

Ejecute el siguiente comando para ejecutar la aplicación localmente.

~/eb-nodejs$ node server.js

Debería ver el siguiente texto.

Server running at http://127.0.0.1:8080/

Introduce la dirección URL http://127.0.0.1:8080/ en tu navegador web. El navegador debería mostrar «¡Hola, Elastic Beanstalk!».

Paso 3: Implemente la aplicación Node.js con la CLI de EB

Ejecute los siguientes comandos para crear un entorno de Elastic Beanstalk para esta aplicación.

Para crear un entorno e implementar la aplicación Node.js
  1. Inicialice el repositorio de la CLI de EB con el comando eb init.

    ~/eb-nodejs$ eb init -p node.js nodejs-tutorial --region us-east-2

    Este comando crea una aplicación con el nombre nodejs-tutorial y configura el repositorio local para crear entornos con la versión más reciente de la plataforma Node.js.

  2. (Opcional) Ejecute de nuevo eb init para configurar un par de claves predeterminadas de forma que pueda usar SSH para conectarse a la instancia EC2 donde se ejecuta la aplicación.

    ~/eb-nodejs$ eb init Do you want to set up SSH for your instances? (y/n): y Select a keypair. 1) my-keypair 2) [ Create new KeyPair ]

    Seleccione un par de claves si ya tiene uno o siga las instrucciones para crear uno. Si no ve el símbolo del sistema o más adelante necesita cambiar la configuración, ejecute eb init -i.

  3. Cree un entorno e implemente la aplicación en él con eb create. Elastic Beanstalk crea automáticamente un archivo zip para la aplicación y lo despliega en una instancia EC2 del entorno. Tras implementar la aplicación, Elastic Beanstalk la inicia en el puerto 8080.

    ~/eb-nodejs$ eb create nodejs-env

    Elastic Beanstalk tarda unos cinco minutos en crear el entorno.

Paso 4: Ejecute la aplicación en Elastic Beanstalk

Cuando finalice el proceso de creación del entorno, abra su sitio web con. eb open

~/eb-nodejs$ eb open

¡Enhorabuena! ¡Ha implementado una aplicación de Node.js con Elastic Beanstalk! Se abre una ventana del navegador con el nombre de dominio creado para su aplicación.

Paso 5: Eliminar

Puede cerrar el entorno cuando termine de trabajar con la aplicación. Elastic Beanstalk AWS cancela todos los recursos asociados a su entorno.

Para finalizar el entorno de Elastic Beanstalk con la CLI de EB, ejecute el siguiente comando.

~/eb-nodejs$ eb terminate

AWS recursos para su aplicación

Acabas de crear una aplicación de instancia única. Sirve como una aplicación de muestra sencilla con una sola instancia EC2, por lo que no requiere balanceo de carga ni escalado automático. Para las aplicaciones de instancia única, Elastic Beanstalk crea los siguientes recursos: AWS

  • EC2 instance (Instancia EC2): máquina virtual de Amazon EC2 configurada para ejecutar aplicaciones web en la plataforma que elija.

    Cada plataforma ejecuta un conjunto distinto de software, archivos de configuración y scripts compatibles con una determinada versión de lenguaje, marco y contenedor web (o una combinación de ellos). La mayoría de las plataformas utilizan Apache o nginx como un proxy inverso que procesa el tráfico web delante de la aplicación web, reenvía las solicitudes a esta, administra los recursos estáticos y genera registros de acceso y errores.

  • Instance security group (Grupo de seguridad de la instancia): grupo de seguridad de Amazon EC2 configurado para permitir el tráfico entrante en el puerto 80. Este recurso permite que el tráfico HTTP procedente del balanceador de carga llegue a la instancia EC2 en la que se ejecuta la aplicación web. De forma predeterminada, el tráfico no está permitido en otros puertos.

  • Bucket de Amazon S3: ubicación de almacenamiento para el código fuente, los registros y otros artefactos que se crean al utilizar Elastic Beanstalk.

  • CloudWatch Alarmas de Amazon: dos CloudWatch alarmas que monitorean la carga de las instancias de su entorno y se activan si la carga es demasiado alta o demasiado baja. Cuando se activa una alarma, en respuesta, el grupo de Auto Scaling aumenta o reduce los recursos.

  • AWS CloudFormation pila: Elastic AWS CloudFormation Beanstalk se utiliza para lanzar los recursos de su entorno y propagar los cambios de configuración. Los recursos se definen en una plantilla que puede verse en la consola de AWS CloudFormation.

  • Nombre de dominio: nombre de dominio que direcciona el tráfico a la aplicación web con el formato subdominio.región.elasticbeanstalk.com.

Elastic Beanstalk administra todos estos recursos. Cuando termina su entorno, Elastic Beanstalk termina todos los recursos que este contiene.

Siguientes pasos

Una vez que disponga de un entorno que ejecute una aplicación, podrá implementar una nueva versión de la aplicación o una aplicación distinta en cualquier momento. La implementación de una nueva versión de la aplicación es una tarea muy rápida, ya que no se requiere aprovisionar ni reiniciar instancias EC2. También puede explorar su nuevo entorno con la consola de Elastic Beanstalk. Para ver los pasos detallados, consulte Explore su entorno en el capítulo Introducción de esta guía.

Pruebe más tutoriales

Si desea probar otros tutoriales con diferentes aplicaciones de ejemplo, consulteMás ejemplos de aplicaciones y tutoriales para Node.js.

Una vez que haya implementado una o dos aplicaciones de ejemplo y esté listo para empezar a desarrollar y ejecutar aplicaciones de Node.js de forma local, consulteConfiguración del entorno de desarrollo de Node.js.

Implemente con la consola de Elastic Beanstalk

También puede usar la consola de Elastic Beanstalk para iniciar la aplicación de muestra. Para ver los pasos detallados, consulte Crear una aplicación de ejemplo en el capítulo Introducción de esta guía.