AWS Elastic Beanstalk
Developer Guide

The AWS Documentation website is getting a new look!
Try it now and let us know what you think. Switch to the new look >>

You can return to the original look by selecting English in the language selector above.

Getting Started with Node.js on Elastic Beanstalk

To get started with Node.js applications on AWS Elastic Beanstalk, all you need is an application source bundle to upload as your first application version and to deploy to an environment. When you create an environment, Elastic Beanstalk allocates all of the AWS resources needed to run a highly scalable web application.

Launching an Environment with a Sample Node.js Application

Elastic Beanstalk provides single page sample applications for each platform as well as more complex examples that show the use of additional AWS resources such as Amazon RDS and language or platform-specific features and APIs.


Environment Type

Source Bundle


Web Server

Single page application.

Web Server with Amazon RDS

Hiking log application that uses the Express framework and an RDS database.


Web Server with Amazon ElastiCache

Express web application that uses Amazon ElastiCache for clustering. Clustering enhances your web application's high availability, performance, and security.


Web Server with DynamoDB, Amazon SNS and Amazon SQS

Clone the repo at

Express web site that collects user contact information for a new company's marketing campaign. Uses the AWS SDK for JavaScript in Node.js to write entries to a DynamoDB table, and Elastic Beanstalk configuration files to create resources in DynamoDB, Amazon SNS and Amazon SQS.


Download any of the sample applications and deploy it to Elastic Beanstalk by following these steps:

To launch an environment with a sample application (console)

  1. Open the Elastic Beanstalk console.

  2. Choose an existing application or create one.

  3. From the Actions menu in the upper-right corner, choose Create environment.

  4. Choose the Web server environment or Worker environment environment tier. You can't change an environment's tier after creation.


    The .NET on Windows Server platform doesn't support the worker environment tier.

  5. Choose a Platform that matches the language used by your application.


    Elastic Beanstalk supports multiple versions for most of the platforms that are listed. By default, the console selects the latest version of the language, web container, or framework supported by Elastic Beanstalk. If your application requires an earlier version, choose Configure more options, as described in step 7.

  6. For App code, choose Sample application.

  7. To further customize your environment, choose Configure more options. You can set the following options only during environment creation:

    • Environment name

    • Domain name

    • Platform version (configuration)

    • VPC

    • Tier

    You can change the following settings after environment creation, but they require new instances or other resources to be provisioned and can take a long time to apply:

    • Instance type, root volume, key pair, and AWS Identity and Access Management (IAM) role

    • Internal Amazon RDS database

    • Load balancer

    For details on all available settings, see The Create New Environment Wizard.

  8. Choose Create environment.

Next Steps

After you have an environment running an application, you can deploy a new version of the application or a completely different application at any time. Deploying a new application version is very quick because it doesn't require provisioning or restarting EC2 instances.

After you've deployed a sample application or two and are ready to start developing and running Node.js applications locally, see the next section to set up a Node.js development environment with all of the tools that you will need.