Azure DNS 别名记录概述

Azure DNS 别名记录是对 DNS 记录集的限定。 它们可以引用 DNS 区域中的其他 Azure 资源。 例如,可以创建引用 Azure 公共 IP 地址而不是 A 记录的别名记录集。 别名记录集动态指向 Azure 公共 IP 地址服务实例。 因此,别名记录集在 DNS 解析过程中可自行无缝更新。

注意

若要创建别名记录,必须注册 Microsoft.Network 资源提供程序。 如果 DNS 区域和别名目标资源位于不同的订阅中,则必须注册这两个订阅。 有关详细信息,请参阅解决资源提供程序注册错误

Azure DNS 区域中的以下记录类型支持别名记录集:

  • A
  • AAAA
  • CNAME

若要使用 Azure 门户在 DNS 区域中创建别名记录集,请添加一个记录集,并在“别名记录集”下选择“是”。 还必须将“别名类型”指定为“Azure 资源”或“区域记录集”。 如果记录集对应的是 Azure 资源,则还需选择一个订阅,然后选择“Azure 资源”

在以下示例中,添加了名为“vm1”的别名,该别名指向虚拟机的公共 IP 地址:


显示如何添加别名记录集的屏幕截图。

注意

如果你打算使用 A 或 AAAA 记录类型的别名记录来指向 Azure 流量管理器配置文件,则必须确保流量管理器配置文件仅具有外部终结点。 必须为流量管理器中的外部终结点提供 IPv4 或 IPv6 地址。 终结点中不能使用完全限定的域名 (FQDN)。 最好是使用静态 IP 地址。

功能

  • 从 DNS A/AAAA 记录集指向公共 IP 资源。 可以创建一个 A/AAAA 记录集,并使其成为指向公共 IP 资源(标准或基本)的别名记录集。 如果公共 IP 地址发生更改或者被删除,则会自动更改 DNS 记录集。 这可以避免出现指向不正确 IP 地址的无关联 DNS 记录。

    注意

    每个资源当前限制为 20 个别名记录集。

  • 从 DNS A/AAAA/CNAME 记录集指向流量管理器配置文件 - 你可以创建 A/AAAA 或 CNAME 记录集,并使用别名记录将其指向流量管理器配置文件。 当需要路由处于区域顶点的流量时,它特别有用,因为区域顶点不支持传统的 CNAME 记录。 例如,假设流量管理器配置文件为 myprofile.trafficmanager.cn 并且业务 DNS 区域为 contoso.com, 则可以为 contoso.com(区域顶点)创建一个 A/AAAA 类型的别名记录集,并使其指向 myprofile.trafficmanager.cn。

  • 指向 Azure 内容分发网络 (CDN) 终结点 - 当你使用 Azure 存储和 Azure CDN 创建静态网站时,此别名类型非常有用。

  • 指向同一区域中的另一个 DNS 记录集 - 别名记录可以引用相同类型的其他记录集。 例如,DNS CNAME 记录集可以是另一个 CNAME 记录集的别名。 如果希望部分(而不是全部)记录集是别名,则这种安排会很有用。

方案

以下是使用别名记录的几种常见方案。

防止无关联的 DNS 记录

传统 DNS 记录的常见问题之一是“无关联记录”。 例如,未更新来反映 IP 地址更改的 DNS 记录。 A/AAAA 或 CNAME 记录类型特别容易出现此问题。

对于传统的 DNS 区域记录,如果目标 IP 或 CNAME 不再存在,则必须手动更新与之关联的 DNS 记录。 在某些组织中,由于流程问题,或者由于角色和关联的权限级别分离,可能无法及时进行手动更新。 例如,某个角色可能有权删除属于应用程序的 CNAME 或 IP 地址, 但它没有足够的权限来更新指向这些目标的 DNS 记录。 更新 DNS 记录时的延迟可能会导致对用户造成服务长时间中断。

别名记录通过将 DNS 记录的生命周期与 Azure 资源紧密耦合来防止出现无关联引用。 例如,假设某个 DNS 记录限定为别名记录,以指向公共 IP 地址或流量管理器配置文件。 如果删除这些基础资源,DNS 别名记录会变成空的记录集。 它不再引用已删除的资源。

当应用程序 IP 地址更改时自动更新 DNS 记录集

此方案类似于前面所述的方案。 也许应用程序已移动,或基础虚拟机已重启。 当基础公共 IP 资源的 IP 地址发生更改时,别名记录将自动更新。 此更新可以潜在地避免将用户定向到分配有旧的公共 IP 地址的另一个应用程序,从而避免了安全风险。

在区域顶点托管负载均衡应用程序

DNS 协议会阻止在区域顶点分配 CNAME 记录。 例如,如果域为 contoso.com。 你可以为 somelabel.contoso.com 创建 CNAME 记录,但不能为 contoso.com 本身创建 CNAME。

对于在 Azure 流量管理器后面具有负载均衡应用程序的应用程序所有者,此限制会带来问题。 由于使用流量管理器配置文件需要创建 CNAME 记录,因此无法从区域顶点指向流量管理器配置文件。

为了解决此问题,可以使用别名记录。 与 CNAME 记录不同,别名记录是在区域顶点创建的。 应用程序所有者可以使用它将其区域顶点记录指向具有外部终结点的流量管理器配置文件。 应用程序所有者可以指向用于其 DNS 区域中任何其他域的同一流量管理器配置文件。

例如,contoso.com 和 www.contoso.com 可以指向同一流量管理器配置文件。 若要详细了解如何将别名记录与 Azure 流量管理器配置文件配合使用,请参阅“后续步骤”部分。

指向 Azure CDN 终结点的区域顶点

与流量管理器配置文件一样,你还可以使用别名记录将 DNS 区域顶点指向 Azure CDN 终结点。 使用 Azure 存储和 Azure CDN 创建静态网站时,此别名非常有用。 然后,你可以访问该网站,而无需在 DNS 名称前面加“www”。

例如,如果你的静态网站名为 www.contoso.com,则你的用户可以使用 contoso.com 访问你的网站,无需在 DNS 名称前面加 www。

如前文所述,区域顶点不支持 CNAME 记录。 不能使用 CNAME 记录将 contoso.com 指向 CDN 终结点, 相反,你可以使用别名记录将区域顶点直接指向 CDN 终结点。

注意

当前不支持从 Akamai 将区域顶点指向 Azure CDN 的 CDN 终结点。

后续步骤

若要详细了解别名记录,请参阅以下文章: