Azure DNS 常见问题解答

关于 Azure DNS

什么是 Azure DNS?

域名系统或 DNS 负责将网站或服务名称转换(或解析)为它的 IP 地址。 Azure DNS 是 DNS 域的托管服务,它使用 Azure 基础结构提供名称解析。 通过在 Azure 中托管域,可以使用与其他 Azure 服务相同的凭据、API、工具和计费来管理 DNS 记录。

Azure DNS 中的 DNS 域托管在 DNS 名称服务器的 Azure 全球网络上。 Azure DNS 使用任意广播网络,以便每个 DNS 查询由最近的可用 DNS 服务器来应答。 Azure DNS 为域提供更快的性能和高可用性。

Azure DNS 服务基于 Azure 资源管理器。 因此,它可以利用 Resource Manager 功能,例如基于角色的访问控制、审核日志和资源锁定。 可以通过 Azure 门户、Azure PowerShell cmdlet 和跨平台 Azure CLI 对域和记录进行管理。 需要自动 DNS 管理的应用程序可通过 REST API 和 SDK 与服务集成。

Azure DNS 的费用是多少?

Azure DNS 计费模型基于 Azure DNS 中托管的 DNS 区域数并按其接收的 DNS 查询数进行计费。 根据使用情况提供折扣。

有关详细详细,请参阅 Azure DNS 定价页

什么是“DNS 区域”? 它是否等同于 DNS 域?

域在域名系统中具有唯一名称,例如“contoso.com”。

DNS 区域用来托管某个特定域的 DNS 记录。 例如,域“contoso.com”可能包含几条 DNS 记录,如“mail.contoso.com”(用于邮件服务器)和“www.contoso.com”(用于网站)。 这些记录托管在 DNS 区域“contoso.com” 中。

域名仅是一个名称,但 DNS 区域是包含域名的 DNS 记录的数据资源。 使用 Azure DNS 可以托管 DNS 区域,以及管理 Azure 中域的 DNS 记录。 它还提供 DNS 名称服务器,用于回答来自 Internet 的 DNS 查询。

我是否需要购买 DNS 域名才能使用 Azure DNS?

不一定。

无需购买域即可托管 Azure DNS 中的 DNS 区域。 没有域名也可随时创建 DNS 区域。 仅当此区域的 DNS 查询定向到分配给该区域的 Azure DNS 名称服务器时,才会解析这些查询。

需购买域名才可将 DNS 区域链接到全局 DNS 层级结构,利用此链接可从全球各地查询 DNS 以查找 DNS 区域和找到相应的 DNS 记录。

Azure DNS 功能

Azure DNS 是否支持基于 DNS 的流量路由或终结点故障转移?

Azure 流量管理器提供基于 DNS 的流量路由和终结点故障转移。 Azure 流量管理器是一项独立服务,可与 Azure DNS 配合使用。 有关详细信息,请参阅流量管理器概述

Azure DNS 仅支持托管“静态”DNS 域,其中对某给定的 DNS 记录来说,每个 DNS 查询始终接收相同的 DNS 响应。

Azure DNS 是否支持域名注册?

否。 Azure DNS 当前不支持购买域名。 如果想要购买域,则需要使用第三方域名注册机构。 注册机构通常收取小额年费。 然后,域可以托管在 Azure DNS 中以管理 DNS 记录。 有关详细信息,请参阅向 Azure DNS 委托域

我们正在 Azure 积压工作中跟踪域购买功能。

Azure DNS 是否支持 DNSSEC?

否。 Azure DNS 当前不支持 DNSSEC。

我们正在 Azure DNS 积压工作中跟踪 DNSSEC 功能。

Azure DNS 是否支持区域传送 (AXFR/IXFR)?

否。 Azure DNS 当前不支持区域传送。 可使用 Azure CLI 将 DNS 区域导入 Azure DNS。 然后,可通过 Azure DNS 管理门户REST APISDKPowerShell cmdletCLI 工具来托管 DNS 记录。

我们正在 Azure DNS 积压工作中跟踪区域传输功能。

Azure DNS 是否支持 URL 重定向?

否。 URL 重定向服务实际并非 DNS 服务 - 它们在 HTTP 级别运行,而非 DNS 级别。 某些 DNS 提供商会在整体产品/服务中捆绑销售 URL 重定向服务。 Azure DNS 目前不支持此服务。

我们正在 Azure DNS 积压工作中跟踪 URL 重定向功能。

Azure DNS 是否支持适用于 TXT 记录集的扩展型 ASCII 编码(8 位)集?

是的。 Azure DNS 支持适用于 TXT 记录集的扩展型 ASCII 编码集,前提是使用最新版的 Azure REST API、SDK、PowerShell 和 CLI(比 2017-10-01 或 SDK 2.1 更早的版本不支持扩展型 ASCII 集)。 例如,如果用户提供一个字符串作为 TXT 记录的值,其中包含扩展型 ASCII 字符 \128(例如:“abcd\128efgh”),Azure DNS 会在内部表示形式中使用该字符的字节值(即 128)。 在进行 DNS 解析时,此字节值也会在响应中返回。 另请注意,在考虑到解析的情况下,“abc”和“\097\098\099”是可以互换的。

我们遵循适用于 TXT 记录的 RFC 1035 区域文件母版格式转义规则。 例如,按照 RFC 规则,“\”现在实际上可以对所有内容进行转义操作。 如果指定“A\B”作为 TXT 记录值,则会在呈现时,仅将其解析为“AB”。 如果确实需要让 TXT 记录在解析时呈现为“A\B”,则需对 "" 再次执行转义操作,即 将其指定为“A\B”。

请注意,此支持目前不适用于通过 Azure 门户创建的 TXT 记录。

使用 Azure DNS

我能否使用 Azure DNS 和其他 DNS 提供程序共同托管域?

是的。 Azure DNS 支持与其他 DNS 服务共同托管域。

为此,需修改域的 NS 记录(其控制哪些提供程序接收域的 DNS 查询),以便指向全部两个提供程序的名称服务器。 可在三个位置修改这些 NS 记录:Azure DNS 中、另一提供程序中,以及父区域中(通常经由域名注册机构配置)。 有关 DNS 委派的详细信息,请参阅DNS 域委派

此外,还需确保域的 DNS 记录在 DNS 提供程序之间进行同步。 Azure DNS 目前不支持 DNS 区域传送。 需通过 Azure DNS 管理门户REST APISDKPowerShell cmdletsCLI 工具同步 DNS 记录。

是否需向全部四个 Azure DNS 名称服务器委托我的域?

是的。 Azure DNS 为每个 DNS 区域分配四个名称服务器,用于故障隔离和增强恢复能力。 要符合 Azure DNS SLA 的使用资格,需将域委托给全部四个名称服务器。

Azure DNS 有哪些使用限制?

使用 Azure DNS 时,以下默认限制适用:

资源 默认限制
每个订阅的区域数 100 1
每个区域的记录集数 5000 1
每个记录集的记录数 20
        <sup>1</sup> 如果需要增加这些限制,请与 Azure 支持部门联系。

能否在资源组或订阅之间移动 Azure DNS 区域?

是的。 可在资源组或订阅之间移动 DNS 区域。

移动 DNS 区域时不会影响 DNS 查询。 分配给区域的名称服务器将保持不变,DNS 查询将始终正常处理。

有关如何移动 DNS 区域的详细信息和说明,请参阅将资源移动至新资源组或订阅

DNS 更改多久生效?

新的 DNS 区域和 DNS 记录通常很快(几秒钟内)即会反映到 Azure DNS 名称服务器上。

现有 DNS 记录的更改可能耗时长一点,但仍会在 60 秒内反映到 Azure DNS 名称服务器上。 此情况下,Azure DNS 外部的 DNS 缓存(通过 DNS 客户端和 DNS 递归解析程序)也可能影响 DNS 更改的生效时间。 可使用每个记录集的生存时间 (TTL) 属性控制此缓存的持续时间。

如何保护我的 DNS 区域不被意外删除?

Azure DNS 由 Azure 资源管理器管理,且受益于 Azure 资源管理器的访问控制功能。 通过基于角色的访问控制,可控制哪些用户具有对 DNS 区域和记录集的读取权限或写权限。 可使用资源锁防止意外修改,或防止删除 DNS 区域和记录集。

有关详细信息,请参阅保护 DNS 区域和记录

如何在 Azure DNS 中设置 SPF 记录?

发送方策略框架 (SPF) 记录用于指定允许代表给定域名发送电子邮件的电子邮件服务器。 正确配置 SPF 记录非常重要,可防止收件人将邮件标记为“垃圾邮件”。

DNS RFC 最初引入了新的“SPF”记录类型来支持这种方案。 为了支持旧名称服务器,还允许使用 TXT 记录类型指定 SPF 记录。 这种不明确性导致混乱,已通过 RFC 7208 得到解决。 其中规定:应仅使用 TXT 记录类型创建 SPF 记录,并弃用 SPF 记录类型。

SPF 记录受 Azure DNS 支持且应使用 TXT 记录类型创建。 不支持已过时的 SPF 记录类型。 导入 DNS 区域文件时,使用 SPF 记录类型的任何 SPF 记录将转换为 TXT 记录类型。

Azure DNS 名称服务器是否通过 IPv6 解析?

是的。 Azure DNS 名称服务器是双堆栈(同时具有 IPv4 和 IPv6 地址)。 若要查找分配给 DNS 区域的 Azure DNS 名称服务器的 IPv6 地址,可以使用 nslookup 等工具(例如,nslookup -q=aaaa <Azure DNS Nameserver>)。

如何在 Azure DNS 中设置国际域名 (IDN)?

国际域名 (IDN) 的工作原理是使用 punycode 进行每个 DNS 名称的编码。 punycode 编码的这些名称用于查询 DNS。

可在 Azure DNS 中配置国际域名 (IDN),方式是先将区域名称或记录集名称转换为 punycode。 Azure DNS 目前不支持内置转换至 punycode 或从中进行转换。

后续步骤

详细了解 Azure DNS
详细了解 DNS 区域和记录
开始使用 Azure DNS