Quick notes to use the serverless framework to deploy a Node project on AWS

rounakcodes

rounakcodes

Posted on May 18, 2021

Quick notes to use the serverless framework to deploy a Node project on AWS

Intro

serverless framework consists of an open source CLI and a hosted dashboard to provide you with full serverless application lifecycle management.

The purpose of the article is to provide you a quick configuration to get started with it.

Install serverless cli

npm i -g serverless

Configure serverless to use AWS

serverless config credentials --provider aws --key <access-key-id> --secret <secret-access-key> --profile <profileName>

If you do not wish to provide secrets in the shell, use ~/.aws/credentials file to save credentials in the following format:

[<Enter profile name here>]
aws_access_key_id=*********
aws_secret_access_key=***************
[<Enter another profile name here>]
aws_access_key_id=*******************
aws_secret_access_key=**********************
Enter fullscreen mode Exit fullscreen mode

Create a new project (nodejs)

serverless create --template aws-nodejs --path myServerlessProject

The following files are created:
handler.js
.npmignore
serverless.yml

In serverless.yml, add profile and region
image

Deploy to AWS

In a shell, run
sls deploy

After every change in serverless.yml, you must run this command to deploy the changes.

Add a S3 bucket

In serverless.yml add:

image

Add a plugin

In a shell, run

npm i --save serverless-s3-sync

In serverless.yml add:

image

Configure the plugin

Example configuration for s3sync plugin

image

Add lambda functions

In serverless.yml add:

image

Enable debug when deploying

In a shell, run
SLS_DEBUG=* sls deploy

Example config of serverless.yml

image

💖 💪 🙅 🚩
rounakcodes
rounakcodes

Posted on May 18, 2021

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related