
to check status, insert data, and list data from the database.Īs I said, we will “deploy Nodejs app to server using Docker containers, RDS Amazon Aurora, Nginx with HTTPS, and access it using the Domain Name”, let’s first understand the architecture before we get our hands dirty. We will use Postman to test our APIs, i.e. your sample Nodejs will be secured over the internet. This will enable us to automatically use Let’s Encrypt for Domain Validation and issuing SSL certificates.Īt the end of the doc, you will be able to access the sample Nodejs Application using your Domain name over HTTPS, i.e. It will act as a reverse proxy to redirect user requests to the application and help secure the connection by providing the configuration to enable SSL/HTTPS. This will be used to enable HTTPS for the sample Nodejs app and redirect all user requests to the Nodejs App. Docker Compose helps to reduce container deployment and management time. To spin up the Nodejs, Nginx, Certbot containers, we will use Docker-Compose. We will deploy Nodejs app to server, Nginx, and Certbot as Docker Containers. We will store simple fields like username, email-id and age will be stored in the AWS RDS Amazon Aurora Instance.Īmazon Aurora is a MySQL and PostgreSQL-compatible relational database available on AWS.ĭocker is a containerization platform to build Docker Images and deploy them using containers.

Our data will be stored in AWS RDS Amazon Aurora. MySql client is required to connect to the Aurora Instance to create a required table. We will also install MySql Client on the instance.


We will install Docker in this instance on top of which containers will be created. These APIs will be used to check the status of the app, insert data in the database and fetch & display the data from the database.Īn Ubuntu 20.04 LTS Amazon Elastic Compute Cloud (Amazon EC2) instance will be used to deploy the containerized Nodejs App. What is the tool stack needed to deploy a Nodejs app to AWS?Ī sample Nodejs app with 3 APIs viz, status, insert and list.
