Azure DNS 的工作原理
Azure DNS 托管 DNS 区域,并使用 Microsoft 的 Azure 基础结构提供名称解析服务。 通常,当 DNS 服务托管在运行 Windows server 或 Linux 的服务器上时,会向该服务器委派一个 DNS 区域。 在该区域中为主机发出 DNS 查询的客户端将从该 DNS 服务器的服务获得查询应答。 当 Internet 上的主机在已委派给 Azure DNS 的 DNS 区域中查询某个 DNS 记录时,Azure DNS 会使用该查询的结果来响应该主机。
Azure DNS 中的 DNS 区域托管在 Azure 遍布全球的 DNS 名称服务器网络中。 这些服务器使用 Anycast 网络,以便对 DNS 区域数据的查询由离查询客户端最近的 DNS 服务器来应答。 例如,如果澳大利亚的某个人员对 Azure DNS 中托管的 DNS 区域中的 DNS 记录执行 DNS 查询,则澳大利亚 Azure 数据中心内的某个 DNS 服务器将响应该查询。 如果某个欧洲人员执行相同查询,将由欧洲 Azure 区域中的某个 DNS 服务器来响应该查询。
Azure DNS 公用区域
Azure DNS 公用区域托管将由 Internet 上的任何主机来解析的记录的域名区域数据。 Azure DNS 公用区域支持所有常见 DNS 记录类型,包括 A、AAAA、CNAME、MX、PTR、SOA、SRV 和 TXT 记录。 Azure DNS 支持别名记录集。 可以使用别名记录集来引用 Azure 资源,例如 Azure 公共 IP 地址、Azure 流量管理器配置文件或 Azure 内容分发网络 (CDN) 终结点。 如果基础资源的 IP 地址发生更改,别名记录集将在 DNS 解析过程中无缝更新。 别名记录集指向服务实例,而服务实例与 IP 地址相关联。 可以使用 Azure 门户、Azure CLI、Azure PowerShell 或通过 Rest API 来创建 DNS 区域并管理该区域内的资源。
Azure DNS 专用区域
许多组织使用与其内部本地网络中主机的公共 DNS 名称不同的内部 DNS 名称。 利用 Azure 专用 DNS 区域,可以通过配置专用 DNS 区域命名空间来复制此功能,该命名空间可用于映射具有专用 Azure 资源的 FQDN。 例如,你可能有多个虚拟网络,这些虚拟网络托管你组织的 Azure 订阅中的虚拟机,Internet 无法访问这些虚拟机,但可通过虚拟专用网络访问这些虚拟机。 Tailwind Traders 在未来将部署多层应用程序,这些应用程序将在不同的 IaaS 虚拟机上运行。 在此配置中,每个虚拟机执行不同的应用程序任务,包括操作和处理销售数据。 应用程序架构师希望每个虚拟机能够使用 FQDN 访问这些专用虚拟网络上的其他资源。 还需要确保这些 FQDN 无法解析到外部的 Internet 上的主机。 可以使用 Azure DNS 专用区域来完成此任务。 如果要将 tailwindtraders.com DNS 区域中的某些记录配置为公共,而保持其他记录为专用,也可以使用 Azure DNS 专用区域来实现此目的。 与在某个区域中区分公共和专用 DNS 记录相关的另一术语是水平拆分 DNS。
与 Azure DNS 公用区域一样,Azure DNS 专用区域支持所有常见 DNS 记录类型,包括 A、AAAA、CNAME、MX、PTR、SOA、SRV 和 TXT 记录。
Azure DNS 专用区域支持以下功能:
自动主机名记录管理。 除了承载自定义 DNS 记录之外,Azure 还会自动维护指定虚拟网络中的 VM 的主机名记录。 在此场景中,可以优化所使用的域名,不需要创建自定义 DNS 解决方案或修改应用程序。
虚拟网络之间的主机名解析。 不同于 Azure 提供的主机名,专用 DNS 区域可以在虚拟网络之间共享。 此功能简化了跨网络和服务发现方案,例如,虚拟网络对等互连。
水平拆分 DNS 支持。 借助 Azure DNS,可以使用相同的名称创建在虚拟网络内与在公共 Internet 内分别解析为不同结果的区域。 水平分割 DNS 的典型方案是提供一个专用服务版本以在虚拟网络内部使用。
支持 Azure 专用终结点 DNS。 Azure DNS 专用区域支持将专用 DNS 区域中的 FQDN 记录映射到 Azure 专用终结点。 Azure 专用终结点是一个网络接口,具有某个虚拟网络上的专用 IP 地址,并映射到一个 Azure 服务,例如 Azure 存储、Azure Cosmos DB、Azure SQL 数据库或你自己的 Azure 专用链接服务。
下面的关系图显示了水平拆分的配置中 Azure DNS 公用区域 tailwindtraders.com 与 Azure DNS 专用区域 tailwindtraders.com 之间的集成。