我应该为Azure虚拟机提供什么DNS名称标签?

时间:2016-02-05 17:01:26

标签: azure dns windows-server-2008 azure-resource-manager

在我不断努力围绕Azure的新资源组模型(参见前面的问题herehere)中,我现在正在尝试创建一个新的虚拟机用作网络服务器。

我有问题:

问题一:

假设我最终希望这个VM托管网站woodswild.com,我应该为这个VM提供什么DNS名称标签?有关系吗?我所知道的只是它需要全球独一无二。是否需要反映我想托管的域名(woodswild.com)?

问题二:

我是否甚至需要设置DNS名称?

问题三:

而且,既然我已经创建了它,我仍然可以从"无"更改DNS名称标签。什么?如果是这样,怎么样?

enter image description here

3 个答案:

答案 0 :(得分:3)

根本没有要求拥有DNS名称,或者拥有与您正在设置的内容有关的DNS名称。我有一个脚本,我使用它从GUID创建一个!

这遵循为Azure分配设置的常规过程。

  1. Get-something,将其分配给变量。
  2. 通过指定其他值来更改该变量的属性。
  3. 使用Set-something cmdlet将更改写入Azure。
  4. 在这种情况下它有点复杂,因为我们想要的最终结构看起来像这样

    DnsSettings  : {
            "DomainNameLabel": "mytestdnsname",
            "Fqdn": "mytestdnsname.westeurope.cloudapp.azure.com"
                   }
    

    假设我们创建了像这样的PIP

    New-AzureRmPublicIpAddress -Name test01PIP -ResourceGroupName test01 `
                               -AllocationMethod Dynamic -Location westeurope  
    

    完全限定的域名是自动设置的,所以我们只需要设置我们这样做的DomainNameLabel,

    $ip =get-AzureRmPublicIpAddress -Name test01PIP -ResourceGroupName test01 [1] 
    $ip.DnsSettings += @{DomainNameLabel = "mytestdnsname"}                   [2]
    Set-AzureRmPublicIpAddress -PublicIpAddress $ip                           [3]
    

答案 1 :(得分:1)

这个名称对于您未来计划在其上运行网站无关紧要。此时,您可以使用它自己访问机器。最后,机器将在负载均衡器后面结束。因此,该名称仅供内部使用,以便在IP地址旁边找到它。

答案 2 :(得分:0)

回答问题的第二部分:

您根本不需要设置 DNS 名称,如果您的应用程序允许,您可以使用 IP 地址。但是,如果您使用的是动态地址,则在此处设置 DomainNameLabel 会很方便——您可以使用您自己区域中的 CNAME 指向它以捕捉任何更改。 (您也可以在 Azure 托管的 DNS 区域中创建自动指向公共 IP 的 A 记录,但如果不在 Azure 中托管,则可以使用 CNAME。

第 22 条规则是您需要自己提出 DNS 标签(第一个组件),但它必须在区域(如 northeurope.cloudapp.azure.com 之类的区域)中的所有公共 IP 中是唯一的——即使是其他用户。我有一个用例,我只需要 IP 的 PTR 记录——我可以使用 reverseFqdn 属性设置它,但我仍然必须想出一个唯一的 domainNameLabel 。 (实际上我设法遇到了唯一性冲突,因为拥有相同食谱的其他人同时分配了 k8stest.northeurope.cloudapp.azure.com)。