Azure DNS 常见问题解答

关于 Azure DNS

什么是 Azure DNS?

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

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

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

Azure DNS 的费用是多少?

Azure DNS 计费模型基于 Azure DNS 中托管的 DNS 区域数。 此外,它基于这些区域接收的 DNS 查询数。 根据使用情况提供折扣。

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

什么是 SLA for Azure DNS?

Azure 保证在任何情况下,有效的 DNS 请求将从至少一个 Azure DNS 名称服务器中收到响应。

有关详细详细,请参阅 Azure DNS SLA 页

什么是 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 流量管理器中使用静态公共 IP 地址。 使用静态 IP 地址配置外部终结点目标。

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

流量管理器提供基于 DNS 的流量路由和终结点故障转移。 流量管理器是一项独立服务,可与 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 月 1 日版的版本或 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 区域中,别名记录集支持以下记录类型:

  • A
  • AAAA
  • CNAME

支持哪些资源作为别名记录集的目标?

  • 从 DNS A/AAAA 记录集指向公共 IP 资源。 可以创建一个 A/AAAA 记录集,并使其成为指向公共 IP 资源的别名记录集。
  • 从 DNS A/AAAA/CNAME 记录集指向流量管理器配置文件。 可以从 DNS CNAME 记录集指向流量管理器配置文件的 CNAME。 例如,contoso.trafficmanager.cn。 现在,还可以从 DNS 区域中的 A 或 AAAA 记录集指向包含外部终结点的流量管理器配置文件。
  • 指向 Azure 内容分发网络 (CDN) 终结点。 使用 Azure 存储和 Azure CDN 创建静态网站时,这非常有用。
  • 指向同一区域中的另一 DNS 记录集。 别名记录可引用相同类型的其他记录集。 例如,可以使 DNS CNAME 记录集成为相同类型的另一 CNAME 记录集的别名。 如果希望有些记录集是别名,有些记录集不是别名,则这种安排会很有用。

是否可以从 Azure 门户创建和更新别名记录?

是的。 除了 Azure REST API、PowerShell、CLI 和 SDK 以外,还可以在 Azure 门户中创建或管理别名记录。

别名记录是否有助于确保在删除基础公共 IP 时,删除我的 DNS 记录集?

是的。 此功能是别名记录的一项核心功能。 它有助于避免应用程序用户遇到中断。

当基础公共 IP 地址发生变化时,别名记录是否有助于确保我的 DNS 记录集更新为正确的 IP 地址?

是的。 此功能是别名记录的一项核心功能。 它有助于避免应用程序出现中断或安全风险。

使用 A 或 AAAA 记录的别名记录集指向流量管理器时,是否存在任何限制?

是的。 若要以别名形式从 A 或 AAAA 记录集指向流量管理器配置文件,流量管理器配置文件只能使用外部终结点。 在流量管理器中创建外部终结点时,请提供终结点的实际 IP 地址。

使用别名记录是否会产生额外的费用?

别名记录是对有效 DNS 记录集的限定。 别名记录不会产生额外的费用。

使用 Azure DNS

是否可以使用 Azure DNS 和其他 DNS 提供程序共同托管域?

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

若要设置共同托管,请将域的 NS 记录修改为指向这两个提供程序的名称服务器。 名称服务器 (NS) 记录控制哪些提供程序接收域的 DNS 查询。 可在 Azure DNS、另一提供程序以及父区域中修改这些 NS 记录。 父区域通常是通过域名注册机构配置的。 有关 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 时适用以下默认限制。

公共 DNS 区域

资源 限制
每个订阅的公共 DNS 区域数 250 1
每个公共 DNS 区域的记录集数 10,000 1
公共 DNS 区域中每个记录集的记录数 20
单个 Azure 资源的别名记录数 20

1如果需要增加这些限制,请与 Azure 支持部门联系。

专用 DNS 区域

资源 限制
每个订阅的专用 DNS 区域数 1000
每个专用 DNS 区域的记录集数 25000
专用 DNS 区域的每个记录集的记录数 20
每个专用 DNS 区域的虚拟网络链接数 1000
在启用了自动注册的情况下,每个专用 DNS 区域的虚拟网络链接数 100
在启用了自动注册的情况下,虚拟网络可以链接到的专用 DNS 区域数 1
虚拟网络可以链接的专用 DNS 区域数 1000
虚拟机每秒可发送到 Azure DNS 解析程序的 DNS 查询数 1000 1
每个虚拟机排队(等待响应)的最大 DNS 查询数 200 1

1这些限制适用于每个单独的虚拟机,而不适用于虚拟网络级别。 将删除超出这些限制的 DNS 查询。

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

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

移动 DNS 区域不会影响 DNS 查询。 分配给区域的名称服务器将保持不变。 DNS 查询将以正常的吞吐量进行处理。

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

DNS 更改多久生效?

新的或更新的 DNS 区域和 DNS 记录通常会在 60 秒内显示在 Azure DNS 名称服务器中。

对于现有记录的更改,Azure DNS 外部的 DNS 客户端和 DNS 递归解析程序执行的 DNS 缓存可能会影响显示时间。 此缓存持续时间取决于每个记录集的生存时间 (TTL) 属性。

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

可以使用 Azure 资源管理器管理 Azure 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 名称进行编码。 DNS 查询就是使用这些 punycode 编码名称构建的。

若要在 Azure DNS 中配置 IDN,请将区域名称或记录集名称转换为 punycode。 目前,Azure DNS 原生并不支持与 punycode 之间的相互转换。