在我不断努力围绕Azure的新资源组模型(参见前面的问题here和here)中,我现在正在尝试创建一个新的虚拟机用作网络服务器。
我有问题:
问题一:
假设我最终希望这个VM托管网站woodswild.com,我应该为这个VM提供什么DNS名称标签?有关系吗?我所知道的只是它需要全球独一无二。是否需要反映我想托管的域名(woodswild.com)?
问题二:
我是否甚至需要设置DNS名称?
问题三:
而且,既然我已经创建了它,我仍然可以从"无"更改DNS名称标签。什么?如果是这样,怎么样?
答案 0 :(得分:3)
根本没有要求拥有DNS名称,或者拥有与您正在设置的内容有关的DNS名称。我有一个脚本,我使用它从GUID创建一个!
这遵循为Azure分配设置的常规过程。
在这种情况下它有点复杂,因为我们想要的最终结构看起来像这样
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
)。