请原谅我的无知。
题:
如何控制到publicIP资源的网络流量并根据目标端口将其发送到多个不同的资源?
背景:
我已经设置了一些配置了不同子网中的私有IP的虚拟机。所有都属于同一个虚拟网络。所有这些虚拟机都有不同的服务,我不需要HA,因为我不需要它而且需要花钱。
我只是希望这些虚拟机上的所有服务使用相同的单个publicIP进行通信,并且我希望在基于目标端口的资源之间将传入流量分割到同一个publicIP。
好像是一个直截了当的要求吧?
起初我虽然“这必须是Load Balancer服务的任务”,因为它在L4上运行并尝试设置它但我无法将不同端口上的入站流量拆分为多个VM或单个可用性集。我不明白为什么您只能将Load Balancers NAT规则与单个VM或可用性集一起使用。
我可以删除/重新创建所有虚拟机(谢谢微软..)到一个只有1个错误和1个错误域的可用性集,但这有什么意义吗?
在我看来,就像一个肮脏的解决方法,使用可用性集合,他们不是为了解决一个非常基本的事情。
谢谢!
基本上,您可以创建面向公众的Azure负载均衡器,然后将VM或可用性集定位到此负载均衡器的后端池。您需要做的是使用ports forwarding为后端服务配置负载平衡规则和一些健康探测或入站NAT规则。
请参阅the SO answer。
如果您有1个后端服务器,或者您想知道要在多个后端服务器上进行负载均衡,那么您将知道要使用哪个后端服务器并加载平衡规则。
必须将NAT规则明确附加到VM(或网络接口)才能完成到目标的路径;而负载平衡规则不一定是。在后一种情况下,选择VM(来自后端地址池或VM)以完成到目标的路径。
此外,Azure负载均衡器支持两种SKU:基本和标准。不同的SKU支持不同的后端池端点。了解有关Load Balancer SKU comparison的更多详情。