Skip to content

Commit e1a91bb

Browse files
guysqrdceejay
authored andcommitted
Improvements to Elastic Beanstalk deployment docs and options (node-red#126)
* EBS is Elastic Block Store, not Elastic Beanstalk... * Added new deployment option for HA on AWS using EB and EFS
1 parent c94a5dc commit e1a91bb

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

docs/getting-started/aws.md

+16-5
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ This guide takes you through the steps to get Node-RED running in an AWS environ
1111

1212
There are two approaches:
1313

14-
1. [Running on the AWS Elastic Beanstalk Service (EBS)](#running-on-aws-ebs)
15-
2. [Running under an Ubuntu image on AWS EC2](#running-on-aws-ec2-with-ubuntu)
14+
1. [Running on the AWS Elastic Beanstalk Service (EB)](#running-on-aws-ebs)
15+
2. [Running on Elastic Beanstalk with High Availability](#running-on-elastic-beanstalk-with-high-availabilty)
16+
3. [Running under an Ubuntu image on AWS EC2](#running-on-aws-ec2-with-ubuntu)
1617

1718
### Running on AWS EBS
1819

@@ -24,7 +25,7 @@ There are two approaches:
2425

2526
3. Create AWS credentials and save in a local file (~/.aws/config or Usersusername.awsconfig) as below
2627

27-
```
28+
```
2829
[profile eb-cli]
2930
aws_access_key_id = key id
3031
aws_secret_access_key = access key
@@ -45,7 +46,7 @@ You will be asked if you wish to use ssh. If you do, please ensure you have ssh
4546

4647
1. Create a `package.json` file with the following content (replacing "demoapp" with your app name)
4748

48-
```javascript
49+
```javascript
4950
{
5051
"name": "demoapp",
5152
"version": "1.0.0",
@@ -72,7 +73,7 @@ You will be asked if you wish to use ssh. If you do, please ensure you have ssh
7273

7374
3. Edit the settings.js file to add the following entries to module.exports (setting awsRegion to that used in eb init and replacing demoapp with your app name) :
7475

75-
```
76+
```
7677
awsRegion: 'eu-west-1',
7778
awsS3Appname: 'demoapp',
7879
storageModule: require('node-red-contrib-storage-s3'),
@@ -94,6 +95,16 @@ Note: the public IP address also provides access to the node-red application and
9495

9596
Your Node-RED instance is now running on EBS. Any flows you create will be saved to AWS S3 so you can tear down the environment and the flows will be accessible whenever you redeploy.
9697

98+
### Running on Elastic Beanstalk with High Availabilty
99+
100+
This deployment option gives you a multiple node Node-RED setup, with a shared filesystem using Amazon Elastic File System (EFS). Because it runs multiple nodes behind a load balancer, you will have high availabiliity - if a node dies, Elastic Beanstalk will replace it automgically.
101+
102+
![solution diagram](/images/node-red-ha-on-aws.png "Node-RED on Elastic Beanstalk with High Availabilty")
103+
104+
To get started, clone the repository here [https://github.com/guysqr/node-red-ha-on-aws](https://github.com/guysqr/node-red-ha-on-aws) and follow the simple instructions. The infrastructure is created for you by a CloudFormation template, so you don't need to know much about AWS to set it up.
105+
106+
In addition, this deployment option enables you to run Node-RED under https and to login via Auth0 (or you can easily swap to in-built auth or any Passport-compatible ID provider).
107+
97108

98109
### Running on AWS EC2 with Ubuntu
99110

docs/getting-started/index.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ such as a Raspberry Pi or in the cloud and follow the guides below.
101101
<h2>AWS</h2>
102102
</div>
103103
<div class="post-content">
104-
Get started running on EBS or EC2
104+
Get started running on Elastic Beanstalk or EC2
105105
</div>
106106
</a>
107107
</div>

images/node-red-ha-on-aws.png

91.4 KB
Loading

0 commit comments

Comments
 (0)