AWS Cloudformation Stack

Hi. I’m working on creating a highly available implementation of Chirp Stack in AWS, and deploy it using Cloudformation… database would be rds, and redis will be aws redis… teh Chirpstack components deployed as containers under fargate.

The applicaiton server appears to be happy enough to operate behind a load balancer…

Does anyone know if the network server can also be run behind a load balancer?

Yes. We scale all ChirpStack components in Kubernetes this way.

Cool I like your approach for the HA AWS deployment, am looking at a production setup at the moment myself.

Do you mind sharing your cloud formation template?

@bconway so you have multiple nodes of each components working on the same database?

Correct. Redis and Postgres are shared.

Cool, what is your approach for deploying network servers regionally?

I was thinking to span an EC2 instance in each region my clients deploy, and having the app server in one region.

heres a starting point which is close translation of the docker-compose.yaml to a cloudformation tempalte.

2 Likes

Hi Guys

So I want to setup a multi-region network server with instances in each region my customers deploy. Currently EU/US/AU. I am working in AWS cloud

So I have a two-folded question here:

  1. Do I need to install chirpstack network server in each region, or is it enough to setup a gateway-bridge in each region and the network server in the same region of my app server?

  2. What do you think about this deployment architecture:

As in our discussion, I am thinking of using aws services to keep thing as managed as possible

So I am thinking AWS IOT for MQTT Backend, AWS ElasticCache for Redis as recommended here, and AWS RDS for Database. The App Server/Network server/Bridge on EC2 instances (either EC2 Micros or large not sure yet), later I can setup auto-scaling or load balancer group when I grow.

Since AWS RDS is expansive, I was wondering if I can utilize a one RDS instance in my regional central (for example EU) for all my network servers or gateway bridges in all regions (US, AU, SA). Or will I suffer latency because of that?

what do you think in general about this setup?

I am very keen on using aws iot core with QoS1, and clean session false (or retain messages on). This way, if any single point fails, the messages are retained

I am also planning on using GWs with Buffer, so if connection to cloud is lost there is a buffer there.

some thoughts, looking for your feedback and ideas here.

Hi, I’m wondering whether you managed to implement the HA AWS deployment of Chirpstack and if would be so kind to share it please? Thanks!