Hi folks
I've put together a repo that will let you set up Node-RED on AWS running on multiple instances behind a load balancer - high availability for Node-RED on AWS in other words.
It works by sharing the filesystem between instances using EFS and doing some tricky flow reloading on each instance to catch changes. It uses Auth0 for login, and can be used with Projects. It's easy to set up via a couple of CloudFormation templates and some basic config.
If you need HA on AWS, please try it and see how you go.
1 Like
I am currently testing to migrate my node-red APP to AWS (on IBM cloud right now).
Just saw your work which is great.
Before I actually test it, I was trying to figure out how to connect AWS IOT Core into the redundant instances of node-red.
With IBM cloud, I was using a feature called "shared subscription" (discussed here Multiple Node-red instances in IBM cloud for redundancy not working for me - #2 by knolleary) which allows a mqtt message to be distributed to a single instance of nodered. This feature is not available on AWS.
So once you have your dual node-red instance, do you know a way that an incoming IOT core mqtt message is actually load balanced to only one of the nodered instances? Otherwise obviously all instances will get and process the message which is a waste of resources and more than that creates dual data logs and other issues.
I tried the project, also a recently modified fork, and even running locally didn't work. Reading settings.js file in the project fails. Any suggestions?