Soy realmente nuevo en AWS EC2. Alojé mi Express.js en AWS EC2 usando PM2.
Aquí está el registro actual de EC2 de mi aplicación.
No sé si esto está funcionando o no.
Mi dirección IPv4 pública es (52.90.33.231).
Si se requiere Nginx, guíeme a través de sus pasos porque no tengo experiencia previa.
También estoy agregando las reglas de entrada aquí.
http://localhost:5002/questapi
La URL anterior solía darme los siguientes datos:
Entonces 52.90.33.231/questapi es la URL de trabajo.
debe consultar este video (de Brad Traversy) donde implementa la aplicación Nodejs en el droplet de DigitalOcean usando pm2, pero para implementar en AWS EC2 puede seguir exactamente los mismos pasos ya que ambos usan Ubuntu OS, NGINX y pm2 para configurar la aplicación . TUTORIAL DE IMPLEMENTACIÓN DE NODEJS
Preferiría usar Docker para ejecutar su aplicación en EC2 en lugar de usar PM2. Le resultará fácil migrar su aplicación a cualquier entorno, independientemente de las dependencias de la aplicación. PM2 es una buena herramienta de implementación, pero la mejor respuesta será DOCKER.
Con respecto a NGINX, puede usar los servidores web NGINX o APACHE para habilitar el proxy inverso en sus servicios de Nodo para enrutar su puerto 5002 a 443/80. Allí también sugeriría usar el balanceador de carga de aplicaciones de AWS porque proporcionará lo mismo y le resultará fácil instalar el certificado SSL usando AWS CERTIFICATE MANAGER.
Pasos para la implementación de Docker Node en Ec2
docker build --no-cache -t <your_application_name>:latest .sudo docker run --name <nombre_de_su_aplicación> -itd --net="host"
-e 5002:5002
--reiniciar a menos que se detenga
<nombre_de_su_aplicación>:último;
Ahora puede comenzar a usar la aplicación en <your_instance_public_ip>:5002 . Asegúrese de habilitar el puerto 5002 en el acceso entrante del grupo de seguridad.
En el medio, aquí estoy agregando un enlace de referencia para usar Aws ALB para ocultar su dirección IP de EC2 y el número de puerto de la aplicación mediante el uso de reglas de proxy inverso.
https://www.clickittech.com/devops/deploy-nodejs-app-to-aws/
Ejemplo de DOCKERFILE para la aplicación NODEJS
FROM node:14.0 RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # Install app dependencies # A wildcard is used to ensure both package.json AND package-lock.json are copied # where available (npm@5+) COPY package.json /usr/src/app/ RUN npm install # Bundle app source COPY . . EXPOSE 5002 CMD [ "node", "server.js" ] # you can add your start command