HTTPS streaming and dynamic load balancer using Wowza and AWS VPC

We are using Wowza instances to perform live streaming on AWS infrastructure. We have a script that monitors load balancer and launches/kills instances when required based on the number of connections/viewers per edge server. It woks well for HTTP/RTMP/RTMPT streaming. We are now trying to implement dynamic load balancing for HTTPS streaming and automate the scaling process. The main question for us is how to automate it in a best possible way? We don’t know the IPs of the edge servers that will be launched, therefore, can’t create the DNS records in advance.

One possible solution would be to reserve some number of elastic IPs (i.e. 20) and the same number of DNS names and use them during scaling. But this will set a limit on the number of servers we can launch dynamically.

Is there a more elegant solution that we can try to implement?

Our LB infrastructure is inside AWS VPC and we have a star certificate that we can use. Also, Wowza Load Balancer only used to tell the viewer the IP of the available edge server. After that, the viewer connects to the edge server directly.

Is it possible to utilize SteamLock service for that and automate cert creation?

I’ve got an amazing reply to the same question on SO and was also wondering if Wowza has a built-in solution too.

Hello,

If your using AWS, you may want to look into using Elastic Load Balancer with an auto-scaling group.

Best regards,

Andrew

Hi Andrew,

Thank you for the reply. We actually decided to use this feature and based our scaling policy on bandwidth rather than connection count.

Thanks,

Tim

Hi!

I am trying to implement the similar thing.
I don’t have edge server, i have only origins, for edge purpose we are using CDN

I don’t see how can we use elastic load balancer to distribute rtmp traffic? it does not support long running connections?

plus auto scale group can scale down and terminate instance when your clients are still connected to it.

Well i am planning to use HAProxy instead of ELB, with automated script to update it.

But can i scale and downscale based on no of connections on amazon? (so client experience and disconnection).???

Thanks