单个 Azure 负载均衡器后面的多个 vmss

Multiple vmss behind single Azure Load Balancer

我们有多个不需要 public IP 即可工作的后台工作虚拟机。

我希望能够连接到任意虚拟机(例如,通过 rdp 进行故障排除,或使用远程分析器等收集一些快照)。

当每个负载均衡器只有一个 VMSS 时,一切都很好用。我已经为 VM 上使用的每个端口设置了 nat 池,并且一切正常。

现在,如果我尝试向同一个负载均衡器(使用其自己的 nat/后端池)再添加一个 vmss,部署将失败并显示

Virtual Machine /subscriptions/.../resourceGroups/.../providers/Microsoft.Compute/virtualMachines/|providers|Micr
osoft.Compute|virtualMachineScaleSets|...|virtualMachines|0 is using different Availability Set than other Virtual Machines connected to the Load Balancer(s) ...

留言。

据我所知,无法为 vmss 设置可用性集。除了为每个 VMSS 保留自己的负载 balancer/public ip 外,还有其他选择吗?

UPD 我为 VM+Availability Set setup 找到了类似的方案(参见 ILB 端点部分)。

VMSS 是这样的吗?

你说得对,我们不能更改 vmss 的可用性集。

if I'm trying to add one more vmss to the same load balancer

众所周知,我们无法将不同的可用性集添加到单个负载均衡器,因此我们不能将一个或多个 VMSS 添加到同一负载均衡器。

Are there any options but keeping own load balancer/public ip for each VMSS?

We have multiple background worker vmss that do not need a public IP to work.

这些 VM 是否在同一个 VNet 中?如果是,我们可以在同一个 Vnet 中部署一个新的 VM,我们可以连接到这个 VM,然后使用这个 VM 连接到具有内部 IP 地址的 VMSS 实例,这样,这个新的 VM 就可以作为 跳箱。我们可以使用这个 jumpbox 来解决问题。


更新:

Is it possible then to have multiple vmss in same VNet and assign own public api/load balancer for each of it?

是的,我们可以用public IP创建一个新的Azure VM,然后在上面安装HAproxy,让这个VM 作为负载工作balancer,将所有在同一个Vnet中的VMSS实例添加到HAproxy后端池,这样我们就可以访问这个VM的public IP地址+你的NAT端口来连接VMss实例。