[英]Azure - no access to VMs behind a internet facing standard Load Balancer
设置:我有 2 个 Ubuntu VM 位于面向互联网的标准负载平衡器后面。 LB 是区域冗余,2 个 VM 在区域 1 和 2 中设置为 HA。VM 使用虚拟机规模集启动,整个基础架构使用 Terraform 部署。
在 VM 中的容器上运行的应用程序在端口 5050 上公开。入站规则设置为允许端口 80、5050 上的流量。VM 位于 LB 后端池中。
问题:当虚拟机启动并运行时,我访问控制台,虚拟机无法连接到 Ubuntu 存储库或任何外部包进行下载。 删除和扩展 VM - 同样的问题。
但是,当我删除 LB 规则和 Lb-probe 并重新创建它们时,我立即能够从 ubuntu 存储库或任何其他外部链接下载软件包。 我还删除了一个 VM 并扩展了新的 VM(在重新创建 lb 规则和探针之后)和 ubuntu 包,并且 docker 包安装成功。
这让我发疯,有人遇到过吗?
当我通过 Azure 门户部署整个基础结构时,我无法在同一场景中重现此问题。
根据标准负载均衡器的控制出站连接:
如果要建立到虚拟网络外部目标的出站连接,有两种选择:
- 将标准 SKU 公共 IP 地址作为实例级公共 IP 地址分配给虚拟机资源或
- 将虚拟机资源放在公共标准负载均衡器的后端池中。
两者都将允许从虚拟网络到虚拟 > 网络外部的出站连接。
因此,出现此问题的原因可能是负载均衡器规则未在初始时间生效或未正确配置或未配置面向公众的负载均衡前端 IP。 或者,您可以检查 vmss 实例的出站流量是否有任何防火墙或限制。
当我配置了这些资源时。 我必须将一个 NSG 关联到允许的流量白名单到 VMSS 实例的子网。 这将触发标准 LB 开始接收传入流量。 此外,我已将升级策略更改为automatic
。
希望这些信息能帮到你。
我遇到过同样的问题。 一旦我添加了负载平衡规则,我的虚拟机就可以访问互联网了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.