如何通过私有DNS名称从虚拟网络中的App Service访问Azure VM?

时间:2019-06-19 09:36:08

标签: azure azure-web-sites azure-virtual-machine azure-virtual-network

  • VM和App Service位于同一虚拟网络中。
  • App Service通过VNet Integration(预览版)添加到VM
  • VM在专用DNS区域中自动注册,名称为myvm1。还有全名myvm1.priv.zone
  • 私有DNS区域已链接到虚拟网络。
  • 虚拟网络-DNS服务器设置为默认。
  • VM和App Service在配置后重新启动。

问题是我无法通过myvm1从App Service控制台解析myvm1.priv.zonenameresolver.exe

更新: 实际上,问题甚至更大。即使虚拟机子网上允许所有操作,App Service也无法通过其专用IP(10.1.x.x)向虚拟网络中的虚拟机发送请求。如果将相同的请求发送到VM的公共IP,则不会有问题。 VNET Integration settings

2 个答案:

答案 0 :(得分:1)

作为现有答案,对于本DOC中的场景Name resolution from App Service Web Apps to VMs in the same virtual network.,您需要部署自己的DNS服务器以帮助名称解析。

以下是步骤

  1. 在VNet的Azure VM上,添加服务器角色DNS server,在安装之后,配置DNS服务器,在本例中添加区域名称,例如qaz.lab。您还可以在此区域中为您的Azure VM手动添加A记录。 enter image description here
  2. 在Azure VNet的自定义DNS服务器中添加DNS服务器专用IP地址。然后重新启动Azure VM以使其生效。 enter image description here
  3. Configure VNet Integration with your app,在这种情况下,选择新的VNet集成。之后,刷新您的VNet集成。您将在应用程序服务计划-网络中看到DNS服务器更新。 enter image description here
  4. 导航您的应用程序服务,运行nameresolver FQDN以验证DNS解析。当前,它仅支持FQDN 解析。 enter image description here

如果您有任何问题,请告诉我。

答案 1 :(得分:0)

从今天开始,您需要使用DNS代理或转发器来实现您的要求。在场景表中记录了here

对于方案“从App Service Web Apps到同一虚拟网络中的VM的名称解析”,解决方案是“由客户管理的DNS服务器在虚拟网络之间转发查询以通过Azure(DNS代理)进行解析”。

关于如何执行“使用您自己的DNS进行名称解析”检查here,其中描述了您的方案。