Azure-无法访问面向internet的标准负载平衡器后面的虚拟机

Azure-无法访问面向internet的标准负载平衡器后面的虚拟机,azure,high-availability,azure-load-balancer,Azure,High Availability,Azure Load Balancer,设置: 我有两个Ubuntu虚拟机,它们位于面向互联网的标准负载平衡器后面。LB为区域冗余,在区域1和2中将2个VM设置为HA。 虚拟机通过虚拟机规模集进行旋转,整个基础设施通过Terraform进行部署 在VM中容器上运行的应用程序在端口5050上公开。 入站规则设置为允许端口805050上的流量。 虚拟机位于LB后端池中 问题: 当虚拟机启动并运行时,我访问控制台,虚拟机无法连接到Ubuntu repo或任何外部软件包进行下载。 删除和扩展虚拟机-同一问题 负载平衡器规则 负载平衡器健康

设置: 我有两个Ubuntu虚拟机,它们位于面向互联网的标准负载平衡器后面。LB为区域冗余,在区域1和2中将2个VM设置为HA。 虚拟机通过虚拟机规模集进行旋转,整个基础设施通过Terraform进行部署

在VM中容器上运行的应用程序在端口5050上公开。 入站规则设置为允许端口805050上的流量。 虚拟机位于LB后端池中

问题: 当虚拟机启动并运行时,我访问控制台,虚拟机无法连接到Ubuntu repo或任何外部软件包进行下载。 删除和扩展虚拟机-同一问题

负载平衡器规则

负载平衡器健康探测器

然而,当我删除LB规则和LB探测并重新创建它们时,我可以立即从ubuntu repo或任何其他外部链接下载包。 我还删除了一个虚拟机并扩展了一个新的虚拟机(在重新创建lb rules和probe之后)和ubuntu软件包,docker软件包安装成功


这让我快发疯了,有人遇到过吗

当我通过Azure门户部署整个基础架构时,我无法在相同的场景中重现此问题

根据标准负载平衡器的要求:

如果要建立到目标的出站连接 在虚拟网络之外,您有两种选择:

  • 将标准SKU公用IP地址作为实例级公用IP地址分配给虚拟机资源或
  • 将虚拟机资源放在公共标准负载平衡器的后端池中
两者都将允许从虚拟网络到虚拟>网络外部的出站连接

因此,此问题可能是由于负载平衡器规则在初始时间未生效或未正确配置,或未配置面向公众的负载平衡前端IP造成的。或者,您可以检查是否存在防火墙或对来自VMS实例的出站流量的限制

当我准备好这些资源时。我必须将一个NSG与VMS实例的子网相关联,该NSG将允许的流量列为白名单。这将触发标准LB开始接收传入流量。此外,我已将升级策略更改为
自动


希望这些信息能对您有所帮助。

我也有同样的问题。一旦我添加了负载平衡规则,我的虚拟机就可以访问internet。

我配置了两个选项。而且没有防火墙规则限制。NSG已经将到VMS实例子网的流量列为白名单。我会再看一次NSG。你如何重现这个问题?当您重新创建LB规则和探测时,它们是否与初始配置相同?我手动删除LB规则和探测,然后使用相同的初始配置重新创建它们。您是否确保100%复制此问题,当LB初始配置时,VMS实例无法进入internet?另一个建议是通过Azure门户创建虚拟机,与通过terraform创建虚拟机时的配置进行比较。我手动创建了虚拟机,它创建了一个LB和NAT池。这似乎奏效了。显然,LB需要在VMS创建之后创建。仍然有点困惑…我将把这些更改添加到我的地形配置中。