系统极客一直在努力
专注于操作系统及软件使用教程

Microsoft Azure DNS简介与管理实操

Microsoft Azure

说到 DNS 服务大家想必都不会陌生,用户在访问 internet 中的任意域名时都由 DNS 负责将网站或服务名称解析为 IP 地址。

而 Azure DNS 是微软托管于 Microsoft Azure 平台上的名称解析服务,就是大家所熟知的 NS 服务商。目前国内知名的 NS 服务商有阿里(万网)的云解析、腾讯的 DNSPOD 和世纪互联旗下快网的 CloudXNS 等。

要做互联网名称解析服务商,微软的实力自然不在话下。Azure DNS 完全采用并依托了部署在全球的 Microsoft Azure 基础架构来提供名称解析,用户只需将 NS 切换到 Auzre 就可以将域名切换到 Azure DNS 进行托管,与其它 NS 服务商的操作管理方式并无二异。

Azure DNS介绍

  • 服务基于 Microsoft Azure 在全球的 DNS 名称解析网络,采用了任播网络,因此世界上任意用户的 DNS 查询请求都可自动路由到就近服务器,以获得最佳响应性能。
  • 依托于微软全球部署的超大规模网络架构和冗余实现(不了解微软网络架构可以自己 Google 下),保证了 Azure DNS 服务的可靠性。
  • 基于 Etag 实现了增量复制和记录更改的秒级更新。
  • Azure DNS 与国内 NS 服务商走的免费策略不同,属于收费服务。
  • 该服务以 ARM 为基础,可实现基于角色的访问控制及资源锁定等。
  • 可在 Azure Protal 中进行图形化管理或使用管理员熟知的 PowerShell Cmdlet 和 Azure CLI 进行管理,当然也可使用 REST API 和 SDK 进行调用。

Azure DNS管理实操

由于在 Azure Portal 中进行管理太过简单,出于对简化操作方式及批量工作的便利性考虑,管理员还是需要了解 PowerShell 如何对 Azure DNS 进行管理与操作。

准备

首先我们需要在 PowerShell 登录 Azure 账户注册 Network Azure provider,创建或使用现有的「资源组」作为存放 Azure DNS 资源的容器:

Login-AzureRmAccount
New-AzureRmResourceGroup -Name "AzureDNS" -location "East Asia"

创建Azure DNS区域

在资源组中创建 DNS 区域。DNS 区域用你自己的域名进行替换,并支持所有常见的 DNS 记录类型:A、AAAA、CNAME、MX、NS、SOA、SRV 和 TXT。

New-AzureRmDnsZone -Name "bestazure.cn" -ResourceGroupName "AzureDNS"

DNS 区域的根记录集使用 @ 作为标记名称,并会自动生成起始授权机构(SOA)和权威名称服务器(NS)的相关记录。要查看自动生成的相关值可以使用 Get-AzureRmDnsRecordSet,并将查到的 NS 在域名注册商那里进行替换:

Get-AzureRmDnsRecordSet -ZoneName bestazure.cn -ResourceGroupName AzureDNS

microsoft-azure-dns-introduction-mgt-2

创建Azure DNS记录

上面我们已经对 Azure DNS 所支持的各种记录类型进行了介绍,而 Azure DNS 通过「记录集」来对同一 DNS 区域中的相同类型记录进行集合管理。通常情况下,大部分的记录集中都只有一条记录,但有时也有例外(如同一域名的 A 记录同时指向多个 IP 地址时)。

管理员可使用如下命令来创建记录:

$recordSet = New-AzureRmDnsRecordSet -Name 'www' -RecordType CNAME -ZoneName 'bestazure.cn' -ResourceGroupName 'AzureDNS' -Ttl 3600
Add-AzureRmDnsRecordConfig -RecordSet $recordSet -cname "bestazure.cn"
Set-AzureRmDnsRecordSet -RecordSet $recordSet

microsoft-azure-dns-introduction-mgt-3

以上创建 CNAME 记录的示例只提供给大家作为参考,具体各记录及所接受的参数类型大家可以在参考 MSDN 之后根据自己的需求进行创建和配置。

对了,还请大家注意:一个「记录集」目前最多只支持 100 项条目。

验证Azure DNS记录

在实际创建完所有需要的记录之后,我们可以使用 Resolve-DnsName 来对各记录进行验证,例如:

Resolve-DnsName -Name 'bestazure.cn' -Type ALL –DnsOnly

microsoft-azure-dns-introduction-mgt-4

小结

Azure DNS 简单来说就是微软基于 Microsoft Azure 平台推出的一项 NS 服务,可方便用户在全球范围内实施稳定、高效、便捷的名称解析服务。

说到这里,我想起由世纪互联运营的国内 Windows Azure 平台,它与国际版的 Microsoft Azure 服务一直都有一些区别:

  • 新功能上线时间相较国际版会有一定时间的滞后,也不一定会上线所有国际版功能。
  • 为与国内云服务商竞争,也会开发一些有区域特色的功能,比如 MySQL(国际版 MySQL 由 ClearDB提供服务,非微软直接运维)。
  • 世纪互联旗下的快网公司有非常霸气的 CloudXNS 免费服务(我们系统极客正在使用),因此我估计不会引入收费 Azure DNS 功能。

最后提示,对于非批量 DNS 记录操作或极少更新解析记录的用户来说,Azure Protal 也是一个好的管理入口,操作非常直观,我们这里就不介绍了,你去一看便知。

分享到:更多 ()