如何将 Azure 提供的 DNS 用于资源管理器 VM?

How can I use Azure-provided DNS for Resource Manager VMs?

我一直在将我的 Azure 资源从 V1 服务管理 API 迁移到 V2 资源管理器 API,但不确定 Azure 提供的 DNS。以前我可以 ping 同一云服务中的主机,但是 V2 中不再有云服务。同一资源组内的主机也无法相互 ping 通。

我所做的唯一更改是将主机名添加到 /etc/hosts,这样虚拟机就可以 ping 自己(解析为 127.0.0.1):

127.0.0.1 localhost
127.0.0.1 myazurevmhostname

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

resolv.conf 文件保留为默认值:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.2.2
nameserver 10.0.2.3
search reddog.microsoft.com

因此,如果我有虚拟机 myvm1myvm2,我希望能够从 myvm1 nslookup myvm2,但这不起作用。那么,如何使用资源管理器创建 'cloud only' 网络,而无需提供我自己的 DNS 服务器?

更新自从我最初提出这个问题后,Microsoft 已对后端进行更改以允许在没有 DNS 服务器的情况下进行内部名称解析。

您可以从 Microsoft.Network 资源提供者添加新资源。如果您使用的是 ARM 模板,the schema can be found in this MSDN Article

如果您使用的是 PowerShell,Azure 资源管理器的网络 cmdlet 参考是 in this another MSDN Article

对于资源管理器 API 大多数事情都以资源组为中心。

例如

  • myazurevmresourcegroupname
    • myazurevirutalnetworkname
      • myazurevm 主机名
      • myazurevmhostname2

部署模型:资源组

关联:具有虚拟网络和资源组的 VM

对于内部名称解析(私有 IP): - 创建资源组 - 创建虚拟网络(与资源组关联) - 配置 ip 范围和子网 - 创建虚拟机(与资源组和虚拟网络关联)

对于外部名称解析(Public IP): 在新的 Azure 管理门户中:

  • 转到有问题的虚拟机
  • 点击public ip地址
  • 在设置窗格中单击配置
  • 更改 DNS 名称标签

它的地址不如云服务好(vmname.cloudapp.net)

你最终得到:yourdnslabel.locationname.cloudapp.azure.com

例如yourwebsrv.eastus.cloudapp.azure.com