Recipe: Integrate Node.js with Amazon RDS¶
Prerequisites¶
- Running Elastic Beanstalk Node.js environment.
- Amazon RDS database created separately from the environment for decoupling.
- Network connectivity between application instances and database endpoint.
- Node.js database client package such as
mysql2orpg.
What You'll Build¶
You will connect a decoupled Amazon RDS database to your Node.js app by injecting connection details through Elastic Beanstalk environment properties and initializing a reusable connection pool in application code.
flowchart LR
A[Elastic Beanstalk Node.js App] --> B[Environment Properties]
B --> C[DB_HOST DB_PORT DB_USER DB_NAME]
A --> D[mysql2 or pg client]
D --> E[Amazon RDS Instance] Steps¶
-
Create or identify an existing decoupled RDS instance.
-
Add database connection values as Elastic Beanstalk environment properties.
-
Install the client dependency for your engine.
-
Initialize connection logic using environment variables.
-
Add an application health endpoint that validates DB reachability.
-
Deploy and test queries against the environment endpoint.
Verification¶
- Environment properties are set and available through
process.env. - Application can establish a database connection from instances.
- Security groups allow least-privilege access from app tier to RDS port.
- DB connectivity check endpoint passes after deployment.