<!-- AI_TASK_START: AI标题翻译 -->
[解决方案] 通过 Amazon Route 53 Resolver 端点委托简化混合 DNS 管理
<!-- AI_TASK_END: AI标题翻译 -->
<!-- AI_TASK_START: AI竞争分析 -->
# 解决方案分析
## 解决方案概述
该解决方案的核心是 **Amazon Route 53 Resolver Endpoint** 新增的 **DNS 区域委派 (DNS Zone Delegation)** 功能。此功能旨在解决企业在构建混合云环境时,统一管理跨本地数据中心和 AWS 的私有 DNS 命名空间的难题。过去,客户需要部署和维护自管理的 DNS 服务器(如 BIND 或 Windows DNS)作为中间层来实现子域委派,这增加了大量的运维开销和 **“无差别的繁重工作” (undifferentiated heavy lifting)**。
新功能允许 Route 53 Resolver Endpoints 直接参与到 DNS 委派链中,支持对私有域的 **迭代查询 (iterative queries)**。这使得企业可以将本地 DNS 基础设施中的某个子域的解析权,权威地委派给 AWS Route 53;反之亦然,也可以将 Route 53 私有托管区域(Private Hosted Zone)中的子域委派给本地 DNS 服务器管理。该方案尤其适用于那些拥有分散式 DNS 架构的大型企业,不同团队(如中央 IT 团队和云工程团队)可以独立管理各自的 DNS 区域,同时保持整体命名空间的统一和结构化。
## 实施步骤
该方案主要分为入站和出站两种委派场景。
1. **入站委派 (On-premises to AWS)**
- **目标**: 将本地父域下的某个子域(如 `aws.healthtech.example.com`)委派给 AWS 进行解析。
- **步骤**:
1. 在 AWS VPC 中为该子域创建一个 **私有托管区域 (Private Hosted Zone)**,并配置相关资源的 DNS 记录(如 A 记录)。
2. 在同一 VPC 中创建一个 **入站解析器委派端点 (inbound resolver delegation endpoint)**,并记录其分配到的 IP 地址。
3. 在本地的父域 DNS 服务器上(如管理 `healthtech.example.com` 的服务器),为该子域添加 **NS 记录**,将权威服务器指向第二步中获取的入站端点 IP 地址。
4. 通过此配置,当本地网络查询该子域下的域名时,本地 DNS 服务器会将查询请求转介(referral)到 AWS 的 Route 53 Resolver Endpoint,由其进行权威解答。
2. **出站委派 (AWS to On-premises)**
- **目标**: 将 AWS Private Hosted Zone 中的某个子域(如 `healthtech.example.com`)委派给本地 DNS 服务器进行解析。
- **步骤**:
1. 确保 VPC 中已存在一个 **出站解析器端点 (outbound resolver endpoint)**。
2. 在 AWS 的父域 Private Hosted Zone 中(如 `example.com`),为需要委派的子域创建 **NS 记录**,指向本地权威 DNS 服务器的完全限定域名 (FQDN)。
3. 创建一个 **委派规则 (delegation rule)**,将该子域与 VPC 关联起来。
4. 为确保 Route 53 Resolver 能找到本地 DNS 服务器的 IP,需创建一条 **粘合记录 (glue record)**(如果 NS 记录的 FQDN 与父域同域)或一条指向本地 DNS 服务器 IP 的 **转发规则 (forwarding rule)**(如果跨域)。
5. 配置完成后,VPC 内的资源查询该子域时,Route 53 Resolver 会遵循委派链,将查询转发至本地 DNS 服务器。
## 方案客户价值
- **简化架构并降低运维成本**: 无需再部署和管理用于 DNS 委派的中间服务器,直接利用 AWS 托管服务,显著降低了基础设施成本和运维复杂性。
- **提升管理的可扩展性**: 相较于传统的 **条件转发 (conditional forwarding)** 模式(需为每个子域创建规则),新的委派模式仅需为父域创建一条委派规则即可覆盖其下所有子域,极大简化了大规模环境下的 DNS 管理。
- **实现统一且标准的私有 DNS 命名空间**: 允许企业跨混合环境构建一个遵循标准 DNS 协议的、无缝集成的私有 DNS 架构,提高了网络一致性和可靠性。
- **支持清晰的权责划分**: 完美匹配大型企业的组织架构,允许中央 IT 团队管理根域,同时将子域的管理权限安全地委派给不同的业务部门或云团队,实现分布式管理。
## 涉及的相关产品
- **Amazon Route 53 Resolver**: 解决方案的核心,其 Inbound 和 Outbound Endpoints 提供了新的 DNS 委派能力。
- **Amazon Route 53 Private Hosted Zones**: 在 AWS VPC 内部托管私有 DNS 记录的容器,是委派链的起点或终点。
- **Amazon Virtual Private Cloud (VPC)**: Resolver Endpoints 和 Private Hosted Zones 的作用域,为 VPC 内的资源提供 DNS 解析服务。
- **Amazon EC2**: 作为云端工作负载的承载实体,是 DNS 解析服务的最终消费者。
## 技术评估
- **优势**:
- **原生集成与协议遵从**: 该功能将标准的 DNS 委派机制原生集成到 AWS 托管服务中。与以往基于条件转发的“变通”方案相比,它更符合 DNS 的工作原理,对网络和 DNS 工程师而言更加直观和标准。
- **解决核心痛点**: 直接解决了混合云 DNS 管理中的一个长期痛点,即如何在不引入额外基础设施的情况下,实现跨环境的权威 DNS 区域划分和管理。
- **架构演进**: 这是对 Route 53 Resolver 的一次重要能力升级,使其角色从一个单纯的 DNS 解析器和转发器,演进为可以作为权威 DNS 委派链中关键节点的服务,增强了其在复杂企业网络架构中的价值。
- **局限性**:
- 原文未明确指出技术限制。该方案主要适用于具有清晰父/子域层级划分的私有 DNS 架构,专注于简化混合云环境下的内部域名解析。
---
## 其他信息
- **成本模型**: 该委派功能本身不收取额外费用。其成本已完全包含在 **Route 53 Resolver Endpoint 的小时费和按查询次数计费** 的现有定价模型中。
<!-- AI_TASK_END: AI竞争分析 -->
<!-- AI_TASK_START: AI全文翻译 -->
# 使用 Amazon Route 53 Resolver 终端节点委派功能简化混合 DNS 管理
**原始链接:** [https://aws.amazon.com/blogs/networking-and-content-delivery/streamline-hybrid-dns-management-using-amazon-route-53-resolver-endpoints-delegation/](https://aws.amazon.com/blogs/networking-and-content-delivery/streamline-hybrid-dns-management-using-amazon-route-53-resolver-endpoints-delegation/)
**发布时间:** 2025-08-25
**厂商:** AWS
**类型:** BLOG
---
### 引言
我们最近 [宣布](https://aws.amazon.com/about-aws/whats-new/2025/06/amazon-route-53-resolver-endpoints-dns-delegation-private-hosted-zones/) [Amazon Route 53](https://aws.amazon.com/route53/) Resolver 终端节点支持域名系统 (Domain Name System, DNS) 委派,允许您将子域的权限从本地基础设施委派给 Route 53,反之亦然。以前,为了实现 DNS 委派并在本地和 Amazon Web Services (AWS) 环境中维护统一的私有 DNS 命名空间,客户需要运行自行管理的 DNS 基础设施。这意味着客户需要承担更多的运营开销和无差别的繁重工作。这项新功能允许您实现 DNS 委派,并在整个网络拓扑中拥有一个精简、结构化和统一的混合连接,而无需管理更多的 DNS 基础设施。
在本文中,我们将展示如何利用这项新功能来大规模简化您的混合 DNS 基础设施。
许多 AWS 客户允许同一企业内的多个组织独立管理各自的 DNS 子域,而父域和父托管区域通常由一个中心团队监管。例如,一个中心团队可能负责您在本地的 example.com 父域,而云工程团队则负责您的 aws.example.com 子域。同样,父域 (example.com) 可能托管在 Route 53 上,而位于柏林的本地区域 IT 团队则管理 berlin.example.com 子域。以前,对于这些用例中的每一个,您都必须部署自行管理的 DNS 基础设施来支持从本地到 AWS 以及从 AWS 到本地的 DNS 委派,以促进这种组织所有权的分离。此版本为 Route 53 Resolver 终端节点现有的转发功能增加了 DNS 委派支持,使您能够显著降低运营混合 DNS 的负担。
### 为什么需要 DNS 区域委派?
要理解 DNS 委派以及这项新功能带来的价值,可以考虑一个由全球多个独立实体组成的大型组织 (AnyCompany) 的场景。该组织采用去中心化的 DNS 架构,其私有的、仅供内部使用的父域 (example.com) 由全球团队管理,而子域则根据其行业细分委派给托管在不同实体中的 [权威 DNS 服务器 (authoritative DNS servers)](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/route-53-concepts.html#route-53-concepts-authoritative-name-server) 。例如,健康科技业务 (实体 1) 被委派给 healthtech.example.com,零售业务 (实体 2) 被委派给 retail.example.com 子域,以此类推。每个实体都以混合模式运营,工作负载同时运行在本地和 AWS 环境中。当客户端尝试访问托管在实体 1 AWS 组织中的某个健康科技应用程序 (例如 app1.aws.healthtech.example.corp) 时,请求将遵循 DNS 委派链,如下图所示。

*图 1: AnyCompany 的 DNS 架构*
1. 公司网络中的客户端向本地解析器发送一个 [递归 (recursive)](https://rfc-annotations.research.icann.org/rfc1034.html) DNS 请求,以解析健康科技应用程序 “app1.aws.healthtech.example.com” 的 A 记录。
2. 本地 DNS 解析器检查其本地缓存中是否有解析结果。如果缓存中没有答案,它会向父区域 “example.com” 发起一个 [迭代 (iterative)](https://rfc-annotations.research.icann.org/rfc1034.html) 请求。
3. 父区域 DNS 服务器以对 “healthtech.example.com” 的引用 (referral) 进行响应。
4. DNS 解析器向 “healthtech.example.com” 权威 DNS 服务器发送一个迭代查询。
5. “healthtech.example.com” DNS 服务器以对 “aws.healthtech.example.com” 区域的引用进行响应。
6. DNS 解析器向 “aws.healthtech.example.com” 权威 DNS 服务器发送一个迭代查询。
7. 包含所请求 A 记录 (app1) 的 “aws.healthtech.example.com” DNS 服务器向 DNS 解析器返回一个权威答案。
8. DNS 解析器向客户端提供 “app1.aws.healthtech.example.com” 的 A 类解析结果。
在此版本发布之前,Route 53 Resolver 终端节点不支持对跨 Route 53 和本地名称服务器的私有、非公开可解析的 DNS 域进行迭代 DNS 查询。这一限制意味着您无法将 Route 53 Resolver 终端节点包含在混合场景的私有、统一命名空间的 DNS 委派链中,例如上文所述的场景。因此,希望拥有私有、统一混合 DNS 命名空间的客户必须部署更多的自行管理的 DNS 基础设施,作为包含其 AWS 资源记录的子域的权威 DNS 服务器,这些资源位于 [Amazon Virtual Private Cloud (Amazon VPC)](https://aws.amazon.com/vpc/) 中。例如,aws.healthtech.example.com 的 DNS 记录必须托管在自行管理的 DNS 基础设施上。此版本允许您为子域 (aws.healthtech.example.com) 创建一个私有托管区域 (Private Hosted Zone),并将该子域的权限直接委派给 Route 53 Resolver 终端节点。
### Route 53 终端节点入站委派 (本地到 AWS)
在讨论入站委派之前,我们先来了解一下 Route 53 终端节点。当您的工作负载同时跨越 VPC 和本地环境时,您可能需要确保您的本地资源可以解析托管在 AWS 上的名称,反之亦然。Route 53 Resolver 入站终端节点与条件转发规则相结合,使您的本地 DNS 解析器能够轻松解析 AWS 资源 (如 Amazon EC2 实例或 Route 53 私有托管区域中的记录) 的域名。更多信息请参阅 [您网络上的 DNS 解析器如何将 DNS 查询转发到 Route 53 Resolver 终端节点。](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-overview-forward-network-to-vpc.html)
通过 Route 53 终端节点入站委派,您可以将子域的权限委派给 Route 53,而无需部署更多的基础设施来托管 DNS 记录。继续以上述例子,为了让公司网络能够访问运行在 Amazon VPC 上的健康科技应用程序,云工程团队实施了以下 DNS 配置。
1. 在 AWS 中,为 aws.healthtech.example.com [创建一个私有托管区域](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zone-private-creating.html) ,并将其与运行健康科技应用程序的 Amazon VPC 关联。
2. 为 app1.aws.healthtech.example.com [创建一个 A 记录](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-creating.html) 。

*图 2: 用于入站委派的私有托管区域配置*
3. 在与私有托管区域 aws.healthtech.example.com 关联的 VPC 中 [创建一个入站解析器 **委派** 终端节点](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/outpost-resolver-add-inbound-endpoints.html) 。

*图 3: 创建入站委派终端节点*
3a. 记下 Resolver 终端节点的 IP 地址。

*图 4: 入站委派终端节点的 IP 地址*
4. 负责 healthtech.example.com 本地 DNS 基础设施的团队必须使用 aws.healthtech.example.com 的委派 (NS) 记录 (例如 ns1.healthtech.example.com) 来更新 healthtech.example.com 区域。以下是使用 Windows DNS 的示例配置,但其他 DNS 服务器的步骤类似。
```
dnscmd /recordadd healthtech.example.com aws NS ns1.aws.healthtech.example.com
```
5. 配置 ns1.healthtech.example.com 的 DNS 记录,使其解析为您在步骤 3 中记下的入站解析器委派终端节点的 IP 地址。
```
dnscmd /recordadd healthtech.example.com ns1.aws A 10.10.0.7
dnscmd /recordadd healthtech.example.com ns1.aws A 10.10.12.70
```
下图描述了 Route 53 Resolver 入站委派流程。

*图 5: Route 53 Resolver 入站委派流程*
### Route 53 终端节点出站委派 (AWS 到本地)
当您的工作负载同时跨越 VPC 和本地环境时,Route 53 Resolver 出站终端节点与条件转发规则相结合,使 AWS 资源 (如 Amazon EC2 实例) 能够解析本地资源的域名。 [更多信息请参阅您网络上的 DNS 解析器如何将 DNS 查询转发到 Route 53 Resolver 终端节点。](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-overview-forward-network-to-vpc.html)
Route 53 Resolver 还支持从 AWS 到本地 DNS 服务器的出站 DNS 委派。在接下来的部分中,我们将展示两种场景,其中出站终端节点委派可以简化您对私有、统一混合 DNS 命名空间的管理。
#### 父域位于 Route 53 私有托管区域
Route 53 DNS 委派允许您将父域作为私有托管区域,同时将子域委派给本地 DNS 服务器。
考虑相反的场景,即运行在 apps VPC 中的健康科技应用程序需要访问公司的药品数据库 (drugs.healthtech.example.com)。一年过去了,您的 IT 部门已将全球父 DNS 域 (example.com) 迁移到 Route 53,作为该组织的权威 DNS 服务提供商。然而,各种子域的 DNS 服务器仍然位于不同数据中心的本地,例如 healthtech.example.com DNS 服务器 (ns.healthtech.example.com)。为了使 [Amazon Elastic Compute Cloud (Amazon EC2)](https://aws.amazon.com/ec2/) 上的健康科技应用程序能够连接到本地的公司药品数据库 (drugs.healthtech.example.com),您的 AWS 云工程团队必须执行两个关键步骤。
1. 首先,如果 apps VPC 尚不存在出站解析器终端节点,则 [为其创建一个新的出站解析器终端节点](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/outpost-resolver-add-outbound-endpoints.html) 。
2. 为子域 healthtech.example.com 创建一个 NS 记录,将本地 DNS 服务器的完全限定域名 (fully qualified domain name, FQDN) 指定为权威名称服务器。

*图 6: 用于出站委派的 NS 记录*
3. 接下来,为 healthtech.example.com 域 [创建一条委派规则](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/outbound-delegation-tutorial.html) ,并将该委派规则与 apps VPC 关联。

*图 7: 创建出站委派规则*
4. 接下来,执行以下 **一项** 操作:
a. 如果本地 DNS 服务器的 FQDN 与私有托管区域在同一个域中 (区域内, in-zone),则通过在私有托管区域中添加一个映射到本地 DNS 服务器 IP 地址的 A 记录来创建一条粘合记录 (glue record)。
b. 否则,如果 FQDN 不在同一个域中,则为该 FQDN [创建一条转发规则](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-rules-managing.html#resolver-rules-managing-creating-rules) ,指向本地 DNS 服务器的 IP 地址。
在我的示例中,本地 DNS 服务器的 FQDN 是区域内的,因此我在私有托管区域中创建了一个 A 记录,映射到本地 DNS 服务器的 IP 地址。图 8 显示了私有托管区域的配置。

*图 8: 用于出站委派的私有托管区域配置*
这些配置使 Route 53 私有托管区域能够将 healthtech.example.com 子域委派给本地 DNS 名称服务器,并允许 VPC 解析器通过遵循委派链递归解析药品服务器。

*图 9: Route 53 Resolver 私有托管区域到出站委派流程*
出站委派消除了为每个委派子域一对一配置转发规则的需要。假设 AnyCompany 的健康科技子公司还有多个其他子域,如 sales.healthtech.example.com、training.healthtech.example.com、hr.healthtech.example.com 等。在这种情况下使用条件转发,您需要为每个子域创建转发规则,并指定每个子域的目标服务器。随着子域数量的增加,条件转发规则的数量也会增加,管理变得更具挑战性。然而,出站终端节点委派允许您为所有这些子域 (healthtech.example.com) 设置一条单一的委派规则。
#### 父域和子域均在本地
当父域和被委派的域都托管在本地基础设施上时,Route 53 Resolver 也支持通过遵循委派链进行 DNS 解析。
因此,继续上一个场景,我们可以假设您尚未将父域 (example.com) 迁移到私有托管区域。也就是说,您所有的 DNS 域 (父域和子域) 都托管在本地,但健康科技应用程序运行在 Amazon EC2 上。此外,和之前一样,您运行在 apps VPC 中的健康科技应用程序需要访问位于本地的公司药品数据库 (drugs.healthtech.example.com)。由于父域 (example.com) 和子域 (healthtech.example.com) 的 DNS 服务器都在本地,您的云工程团队需要在出站 Resolver 上创建两条规则:一条针对 example.com 的转发规则,目标是父域本地 DNS 服务器的 IP 地址;另一条是针对 example.com 的委派规则。此外,与前一个场景一样,如果委派链中的任何名称服务器是域外的,团队必须添加一条转发规则,以允许 Route 53 解析指定的权威 DNS 服务器的 IP 地址。
现在,当 AWS 中的健康科技应用程序需要查询药品数据库的记录时,它会发送一个对 drugs.healthtech.example.com 的 DNS 查询,Route 53 Resolver 会根据转发规则将该查询转发到 example.com 的本地 DNS 服务器。当本地 DNS 服务器以引用响应时,Route 53 会遵循委派链,直到联系到拥有所请求记录的正确本地 DNS 服务器,并将响应返回给 Amazon EC2 上的健康科技应用程序。

图 10: 父域和子域均在本地时的委派流程
以这种方式使用 Route 53 终端节点出站委派,您可以为不同的应用程序域分离 DNS 权限,确保跨多个数据中心的正确 DNS 解析,并为安全和合规性保持清晰的委派边界。
### 结论
Amazon Route 53 Resolver 终端节点的入站和出站委派功能为您的 IT 团队简化了混合 DNS 管理,使您能够在本地和 AWS 环境中构建统一的私有 DNS 命名空间。您可以将私有子域的权限从您的本地基础设施直接委派给 Route 53 Resolver,或者,如果您在 Route 53 上有私有托管区域,也可以将您的子域委派给本地 DNS 服务器。无论您是管理自己的私有根域和顶级域 (top-level domains, TLDs) (像我们一些最大的用户那样),还是实施去中心化的私有 DNS 命名空间架构,您都可以将 Route 53 Resolver 集成到您公司的私有 DNS 委派链中。这大大降低了大规模运营混合 DNS 的运营负担。Resolver 终端节点的入站和出站委派功能已包含在 Resolver 终端节点的按小时和按查询计费的价格中。因此,使用此功能无需支付其他费用。请访问 Resolver 终端节点的 [入站和出站委派](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/outbound-delegation-tutorial.html) 文档以开始使用。
## 关于作者

### Tekena Orugbani
Tekena 是 Amazon Web Services 的一名高级专家解决方案架构师,也是一位拥有超过 20 年经验的技术专家,专注于微软技术。在 AWS,Tekena 致力于帮助客户在 AWS 云上构建、迁移和现代化他们的微软工作负载。工作之余,他喜欢与家人共度时光和观看足球比赛。
<!-- AI_TASK_END: AI全文翻译 -->