为什么部署在与 VNet 关联的应用服务环境中的 Web 应用看不到我的 VM?

为什么部署在与 VNet 关联的应用服务环境中的 Web 应用看不到我的 VM?

设想:

  1. VNET 地址范围为 10.2.0.0/23,默认子网为 10.2.0.0/27
  2. 全新的 ASE 实例,配置为使用步骤 1 中的 VNET 并位于同一默认子网中
  3. MySQL VM 从 10.2.0.8 的第一步加入 VNET,一切准备就绪!
  4. 从步骤 2 开始将新的 Azure Web 应用添加到 ASE 的服务计划中
  5. 将网站代码部署到配置为指向 MySQL VM 10.2.0.8 的 Azure Web App
  6. 从步骤 5 访问网站,当尝试与 MySQL VM 通信时,尝试连接到 10.2.0.8 时被拒绝网络访问

现在,如果我设置一个点到站点并明确将 Web 应用连接到该点到站点,我可以通过,但显然现在我的所有流量都通过网关,这不是所需的设置。此外,如果我使用 .cloudapp.net 公共地址(并将 MySQL 端口公开),我可以通过,但显然这更糟,因为我要访问互联网。显然,将 VM 和 ASE 放在同一个 VNet/子网上的全部目的是让它们可以直接相互通信。

那么,我遗漏了什么?我的理解是否完全错误,即将 ASE 放在 VNet 上应该会导致其相关应用程序自动在同一 VNet 中运行?

答案1

我现在无法确认这一点,但我认为目的是将 ASE 放置在分离VNET 中的子网与 VM/计算资源...与计算共存。您是否尝试过将 ASE 和 VM 放在单独的子网中,并查看如果允许 ASE“拥有”特定子网用于其工作,则“本地”流量的默认或 UDR 路由是否允许进行通信?

相关内容