HTTPSstream媒体和使用Wowza和AWS的dynamic负载均衡器

我们正在使用Wowza实例在AWS基础架构上执行实时stream式传输。 我们有一个脚本,负责监视负载平衡器,并根据每个边缘服务器的连接数/查看器的需要启动/closures实例。 它很适合HTTP/RTMP/RTMPTstream媒体。 我们现在正在尝试为HTTPSstream式传输实现dynamic负载平衡,并使缩放过程自动化。 我们面临的主要问题是如何以最好的方式实现自动化? 我们不知道将要启动的边缘服务器的IP地址,因此无法预先创buildDNSlogging。

一种可能的解决scheme是预留一些弹性IP(即20)和相同数量的DNS名称,并在缩放期间使用它们。 但是这将会限制我们可以dynamic启动的服务器的数量。

有没有更优雅的解决scheme,我们可以尝试实施?

我们的LB基础设施位于AWS VPC内部,我们有一个我们可以使用的明星证书。 此外, Wowza Load Balancer仅用于告诉查看器可用边缘服务器的IP。 之后,查看器直接连接到边缘服务器。

您可以configuration实例以在启动时发现其身份,例如通过在实例标记或实例元数据中传递实例所需的Internet主机名,并让每个节点向Route 53发送API请求以configuration其自己的Alogging,本质上声称它的互联网身份,当它启动。 它可以发送第二个请求,在正常关机时删除该logging。

这是我使用spot实例的机制。

既然你提到你的域名不在53号线路上,那么你需要一个解决办法,除非你能将整个DNS托pipe移动到53号线路,没有任何理由不做政治/企业异议。 您可以保留现有注册商的域名注册 ,当然,只需使用Route 53来托pipe DNS。

以下是一些可能的解决方法:

你可以得到一个新的域名,并把它放在路线53.这里的缺点是,你需要一个新的证书。

您可以创build一个域名的子域名,并将子域名委托给您的基础钻石的DNS服务器中的Route 53中的NSlogging,但您仍然需要一个新的证书,因为*.example.com证书仅适用于主机名: foo.example.com按预期工作,但foo.bar.example.com不能。 这将需要*.bar.example.com的证书。

所以,这两个select都需要一个新的证书。

另一个select是使用Let's Encrypt,并让每个服务器在开机时以编程的方式获得免费的SSL证书。 这将允许您使用任何域或子域名,而无需额外的证书费用。

最后,你可以使用一些DNS hackery。 这对于某些人来说似乎是违反直觉的,但是由于路由53是一个仅授权(不是recursion)的DNS服务,它可以按预期工作。

在Route 53中为您的现有域创build一个托pipe区域。即使您的DNS没有使用Route 53托pipe,也是有效的。

托pipe区域将分配4个名称服务器,通常采用以下格式:

 ns-aaaa.awsdns-bb.com. ns-cccc.awsdns-dd.net. ns-eeee.awsdns-ff.org. nd-gggg.awsdns-hh.co.uk. 

a,b,c等是由系统分配的号码。

记下这些logging,并使用它们将特定的主机名从现有的DNS服务器委派给Route 53。

 media-100 IN NS ns-aaaa.awsdns-bb.com. media-100 IN NS ns-cccc.awsdns-dd.net. 

针对分配的四个AWS DNS服务器中的每一个,对每个“池”主机名重复该过程。 从限制您的池到有限大小的意义上来说,这仍然是有限制的,但是与保留的弹性IP解决scheme不同,这种方法没有硬维护成本(地址是每个小时的每个地址的弹性IP地址的费用为0.005美元不被用作正​​在运行的实例的主要弹性IP)。

当然,您的主DNS服务可能支持通配符,在这种情况下,您只需要一组logging:

 media-* IN NS ns-aaaa.awsdns-bb.com ; etc., one for each of the 4 hostnames. 

这些NSlogging的工作方式是将每个主机名的parsing委派给Route 53.因为互联网上没有任何东西被configuration为将请求发送到那些特定的4路由53域名服务器上的任何其他主机名,不知道你的整个区域不会破坏任何东西。

一个潜在的常见误解是一个域只能在Route 53中进行一次configuration……但事实上,您可以在同一个或甚至不同的AWS账户中拥有完全相同域名的多个托pipe域,因为每个域将会有53个特定的域名服务器回答这个区域…所以即使你以后把你的整个DNS移动到了Route 53,如果你从另一个DNS提供者那里复制另一个区域到一个在53号公路上build立一个新的托pipe区域,并使之成为一个权威的解决scheme,不会产生冲突。