Azure 网络控制 In/Out-Traffic 用于具有私有 IP 的资源

Azure Networking Control In/Out-Traffic for resources with private IPs

请原谅我的无知

问题:

如何控制到 publicIP 资源的网络流量,并根据目标端口将其发送到多个不同的资源?

背景:

我设置了一些虚拟机,这些虚拟机在不同的子网中只配置了私有 IP。都属于同一个虚拟网络。所有这些 VM 都有不同的服务,我不想要 HA,因为我不需要它而且它要花钱​​。

我只希望这些 VM 上的所有服务使用同一个 publicIP 进行通信,我想根据目标端口将传入流量拆分到我的资源之间的同一个 publicIP。

似乎是一个直截了当的要求吧?

起初我认为“这一定是 Load Balancer 服务的任务”,因为它在 L4 运行并尝试设置它,但我无法拆分入站不同端口上的流量流向多个 VM 或单个可用性集。我不明白为什么您只能对单个 VM 或可用性集使用负载均衡器 NAT 规则。

我可能 delete/re-create 所有 VM(谢谢 Microsoft..)到一个只有 1 个故障 1 个错误的可用性集中 域但这有意义吗?

在我看来,这似乎是一种肮脏的变通方法,以一种不适合的方式使用可用性集来解决非常基本的问题。

谢谢!

基本上,您可以创建面向 public 的 Azure 负载均衡器,然后将 VM 或可用性集定位到此负载均衡器的后端池。您需要做的是为后端服务配置负载均衡规则和一些健康探测或入站 NAT 规则 ports forwarding.

参考

You would use NAT rule when you have 1 backend server or you know which backend server to get to and load balancing rules when you want to load-balance to multiple backend servers.

NAT rule must be explicitly attached to a VM (or network interface) to complete the path to the target; whereas Load Balancing rule need not be. In the latter case, a VM is selected (from the back-end address pool or VMs) to complete the path to the target.

此外,Azure 负载均衡器支持两种 SKU:基本和标准。不同的 SKU 支持不同的后端池终结点。阅读有关 Load Balancer SKU comparison.

的更多详细信息