Need guidance on load-balancing of conferences on AWS

I referred to this 4-year old video and set up a 2nd videobridge on a separate EC2 instance.

But that is not working, wonder if there is any architecture change. Can you please share latest documentation on how to scale up Jitsi conferences ? Appreciate your help.

I tried this link but that page is no longer available -
GitHub - jitsi/jitsi-meet: Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application.

This great article helped me to add a Videobridge on a separate EC2 instance in a very easy, simple manner.

I have a follow-up question - what attribute of Videobridge can we monitor in order to check how heavily used it is right now and if we need to add a new instance ? Need this to know how to define auto-scaling up.

here are some things you can consider

Thanks, let me go over the article

I am able to get statistics from local curl command - curl http://localhost:8080/colibri/stats/

But when I try the same call from browser (http://SERVER_IP:8080/colibri/stats/), it says site not reachable. I have opened port 8080 on security group. Does the external call use a different port ? What am I doing wrong ?

By default it listens to localhost, why do you need it exposed? If you want to access it from other servers in the platform, you can use the private IP

I was thinking of creating an auto-scaling group of videobridges and check stress-level value to decide if I need to add more instances. Is there another approach that can help me achieve this ?

For example you can have a periodic check at localhost that pushes the metric to CloudWatch, like a simple script that does only two things - get the value as a number (curl …:8080/colibri/stats | jq .stress_level ) and then push it to a custom CloudWatch metric.

Then in the ASG settings set it to scale depending on that metric - things will vary depending on your setup, but for example if you have “stress_level” metrics that are per-JVB, you can use a combined metric (maybe a mean value, an average) of all the "stress_level"s and scale if that number exceeds some threshold.

P.S.: of course, you can do this without cloudwatch - then you’ll need to gather all the values somewhere (for example on the Meet server, as it won’t get scaled in) - get them with curl calls there and in a script decide whether to call the aws api to scale in or out. If you are on a cloud without custom metrics, this may be the only way to go (Although in the case of AWS this is a an overhead and more complex than cloudwatch way)

Thank you for the detailed approach, I will try that.