与 Amazon Route 53 的

将 Active Directory 域服务与 Amazon Route 53 集成

关键要点

在这篇文章中,我们将探讨如何将 Amazon Route 53 与 Microsoft Active Directory 域服务 (AD DS) 集成,以实现高效、可扩展的 DNS 解析。文章将主要覆盖以下要点: - DNS 解析在 AD DS 系统中的重要性 - 使用 Amazon Route53 Resolver 进行 DNS 查询转发 - 配置出站和入站端点 - 通过条件转发器在本地环境与 AWS 云环境间实现 DNS 查询

在处理 Microsoft Active Directory 域服务 (AD DS) 和域连接工作负载时,正确的 DNS 解析至关重要。即使您没有直接接触过 AD DS 工作负载,您依然可能在职业生涯中听说过由于 DNS 故障造成的系统宕机,突显了 DNS 在现代架构中的重要性。在本文中,我们将探讨将 与 AD DS 集成的最佳实践。

每个连接的 AD DS 系统的 DNS 解析尤为重要。AD DS 使用 DNS 进行服务发现,使客户端系统能够找到其运营所需的特定 AD DS服务,例如域控制器或全局目录服务器。为此,客户端系统将针对配置的 DNS 服务器查询相关的 SRV 资源记录。此外,SRV 记录是通过针对其配置的 DNS服务器使用动态 DNS 更新来创建和更新的。值得注意的是,基于应用程序的不同,客户端在尝试连接时可能需要反向 DNS 记录来验证主机名。因此,确保 DNS解析和注册的正常运作显得尤为重要。

过去,客户通常会为其 VPC (虚拟私有云) 创建 DHCP (动态主机配置协议) 选项集,以确保域连接系统的 DNS 注册和解析正常工作。这些选项集会直接定位到基于 Windows DNS 的 Amazon ElasticCompute Cloud (Amazon EC2) 实例。随后,他们会在这些 DNS服务器上使用条件转发器,将针对 Route 53 的托管区域的请求转发到 。不过,这种配置虽然简单易懂,却绕过了分布式 VPC解析器,将所有 VPC 的 DNS 请求集中到单个实例上,因此引入了多个在可扩展性和可用性方面的低效和挑战。自 2019 年推出 Route 53Resolver 端点和规则以来,客户可以轻松地将其 AD DS DNS 与 Route 53 Resolver 集成,而不会面临这些挑战。

![这幅架构图描绘了 DHCP 指向 AD删除)

使用 Route 53 Resolver 端点解析 Active Directory 域服务

在这篇文章中,我们将描述一个简单的环境,其中一个 AD DS 域支持三个 VPC:prod、dev 和共享服务。所有基于 AWS 的区域的域名为 aws.example.com,而所有托管在 AD DS DNS 基础设施上的区域的域名为 ad.example.com。共享服务 VPC的每个可用性区域都有一个 AD 服务器。此环境如图 2 所示。

![此架构图描绘了 DHCP 指向 Amazon 提供的 DNS,随后通过出站端点和转发规则路由到集中的 Route 53删除)

解决方案概述

在该环境中,我们使用默认的 DHCP 选项集,配置使资源能够使用 Amazon 提供的 DNS(称为 AmazonProvidedDNS)。在此配置下,资源连接到 Route 53 Resolver 的链接本地 IPv4 地址为 169.254.169.253,VPC CIDR +2,或 IPv6 为 fd00:ec2::253。默认情况下,Route 53 Resolver会自动回答以下 DNS 查询:

  • EC2 实例的本地 VPC 域名(例如 ip-192-168-2-44.us-west-2.compute.internal)。
  • 私有托管区域中的记录(例如 aws.example.com)。
  • 对于公共域名,Route 53 Resolver 会对互联网上的公共名称服务器进行递归查找。

通过使用 Resolver 端点和规则,您还可以配置 Route 53 Resolver 将 DNS 查询转发到云中的 AD DS DNS服务器。我们配置了一个出站端点,负责将 VPC 中 AD 完全限定域名 (FQDN) 的 DNS 查询转发到 AD DS 的 IP 地址。通过配置 Resolver 规则,将所有针对 ad.example.com 域的查询引导到适当的 AD DS DNS 服务器 IP 地址。

创建出站端点

  1. 在 Route 53 控制台中,从左侧菜单选择 Outbound endpoints ,然后选择 Create outbound endpoint
  2. 指定 AD DS 域所在的 VPC:shared services
  3. 选择或创建一个允许所有流量(入站和出站)到 0.0.0/0 和 ::/0 的安全组。(虽然可以创建更具体的规则,但这会引入连接跟踪,从而减少通过端点可以处理的请求数量。有关安全组连接跟踪的更多信息,请参阅 )
  4. 选择 Endpoint TypeIPv4IPv6Dual-stack ),并在 Protocols for this endpoint 中选择协议。

Do53 是默认的 Route 53 端点协议,其中数据在没有附加加密的情况下转发。

删除)

  1. 在不同可用性区域中指定两个 IP 地址,以便您的 Resolver 可以将 DNS 查询转发到 AD 解析器。根据您的环境所需的查询量,可能需要的出站端点数量有所不同。每个出站端点 IP 的查询配额为每秒最多 10,000 个 UDP 查询(QPS)。有关配额和规模的更多信息,请参阅 。

为了保证冗余,通常需要最少两个 IP 地址,且应部署在不同的可用性区域。

![此截图显示了新出站端点的 IP删除)

创建 Resolver 规则

  1. 在 Route 53 控制台中,选择 Rules 从左侧菜单,然后选择 Create rule
  2. 为您的 Active Directory DNS 名称的域创建转发规则,例如 ad.example.com
  3. 关联这些 DNS 查询将被转发的 VPC(即 prod、dev 和共享服务)。
  4. 指定在前一步创建的出站端点,以便接收和路由 DNS 查询到所选择的 AD DNS 服务器的 IP 地址。

![此截图显示了新转发 Resolver删除)

  1. 指定 AD DNS 服务器在每个可用性区域中用于转发查询的目标 IP 地址。

![此截图显示了新转发 Resolver 规则的目标 IP删除)

  1. 创建第二个转发规则,按照前面的步骤为相应的 in-addr.arpa 域处理反向 DNS。由于您希望所有 10.0.0.0/82001:db8:: 反向区域从 AD DS 服务,使用 10.in-addr.arpa8.b.d.0.1.0.0.2.ip6.arpa

鉴于我们的 dev、prod 和共享服务 VPC 的相应 CIDR 块为 10.0.0/1610.0.1.0/1610.2.0.0/16,因此 10.in-addr.arpa 域将不如自动创建的 Route 53 反向区域具体,因此您需要在 Route 53中禁用 VPC 的反向区域自动创建。对于您的 IPv6 域,这一点同样适用。

![此截图显示了IPv4 反向 DNS 的新转发 Resolver删除)

![此截图显示了 IPv6 反向 DNS 的新转发 Resolver删除)

![此截图显示了处理反向 DNS 的新转发 Resolver 规则的目标 IP地址配置](https://d2908q01vomqb2.cloudfront.net/5b384ce32d8cdef02bc3a139d4cac0a22bb029e8/2024/07/26/TargetIPAdresses- 删除)

禁用 VPC 中的自动定义反向 DNS 解析

  1. 在 Route 53 控制台中,从左侧菜单选择 VPCs ,然后选择每个 VPC。
  2. 滚动到页面底部,清除 Enable autodefined reverse DNS resolution on this VPC 复选框。

您也可以通过编程方式完成此操作,或使用 Route 53 Profiles 在大规模管理这些设置。有关更多信息,请参阅。

![此截图显示了禁用自动定义反向 DNS删除)

启用混合 DNS 解析

现在您已配置 Route 53 将 ad.example.com 域的 DNS 查询转发到 AD DS DNS 服务器,接下来需要确保使用 AD DSDNS 服务器直接进行 DNS 的系统(例如在 AWS 外部运行的系统)能够解析 Route 53中的私有托管区域(aws.example.com)。您可以通过添加入站 Route 53 Resolver 端点并在 AD DS DNS服务器上配置条件转发器来实现这一点。

删除)

创建入站 Resolver 端点

  1. 在 Route 53 控制台中,从左侧菜单选择 Inbound endpoints ,然后选择 Create inbound endpoint
  2. 选择您的 AD DS DNS 服务器所在的 VPC:shared services
  3. 选择要在哪些子网中创建端点。为确保高可用性,请跨多个可用性区域创建端点。入站端点的大小考虑与出站端点的大小考虑相同。
  4. 选择或创建一个允许所有流量(入站和出站)到 0.0.0/0 和 ::/0 的安全组。
  5. 审核后创建入站端点。

删除)

![此截图显示了新入站端点的 IP删除)

更新本地 DNS 设置

  1. 在 DNS 管理器控制台中,连接到 AD DS DNS 服务器。
  2. 选择 Conditional Forwarders ,然后从下拉菜单中选择 New Conditional Forwarder
  3. 输入要转发的域(aws.example.com)及其入站 Route 53 Resolver 端点的 IP 地址。
  4. 选择 Ok 保存条件转发器。

![此截图显示了如何在 DNS删除)

随着这些配置到位,当客户端对 aws.example.com 区域的记录进行 DNS 查找时,查询将按照以下方式进行转发:

  1. 客户端查询 AD DS DNS 服务器以获取 aws.example.com
  2. AD DS DNS 服务器具有条件转发器,将 aws.example.com 查询转发给 Route 53 入站端点。
  3. Route 53 入站端点接收到查询并针对私有托管区域进行解析。
  4. 响应返回给 AD DS DNS 服务器,然后再返回给客户端。

该设置允许连接到 AD DS 的资源无缝解析 Route 53 中的私有托管区域,无论 AD DS 环境是否部署在 AWS 中,还是通过 DirectConnect 或 VPN 连接。Route 53 Resolver 规则和端点使 AD DS DNS 和云托管 DNS 命名空间之间的灵活集成成为可能。

清理

取消将转发规则与所有 VPC 的关联,确保每条规则与其附加的每个 VPC断开关联。一旦确认所有规则已取消关联,继续删除转发规则。在确认成功删除所有转发规则后,导航至解析器端点。将每个解析器端点与其关联的 VPC解除关联。解除关联过程完成后,单独删除解析器端点。

结论

在本文中,我们探讨了将本地或云托管的 AD DS DNS 基础设施与 Amazon Route 53 私有托管区域集成的最佳实践,使用 AmazonRoute 53 Resolver 端点和规则。这种集成使 DNS 解析和注册在 AD DS 域连接资源之间变得高效且可扩展,无论这些资源是部署在 AWS内部,还是与 Direct Connect 或 VPN 连接的环境中。本文所述的解决方案减少了运营开销,并提供了比传统方法更好的可扩展性和可用性。

如果您当前正在使用自定义的 DHCP 选项集以直接定位 VPC 内的 DNS 服务器,或者在 AD DS 连接资源的 DNS解析和注册中遇到挑战,我们建议您查看当前配置,并考虑实施本文中概述的最佳实践。或者,如果您刚开始将 AD DS 基础设施与 AWS集成,此解决方案提供了一个可扩展且高度可用的方法,以确保混合环境中的可靠 DNS 服务。

其他资源

如需了解有关 Route 53 Resolver 端点的更多信息,请访问 。有关托管区域和解析器端点相关费用的更多信息,请访问 。

关于作者

![Andrew删除)

Andrew Istfan

Andrew 是 AWS 的解决方案架构师,主要支持公共部门客户,特别是在航空航天和国防领域。他拥有八个 AWS认证,并对网络和基础设施作为代码充满热情。工作之外,Andrew 通常被发现玩视频游戏、观看引人入胜的太空视频,或在山坡上滑雪。

![Thaddeus Worsnop](https://d2908q01vomqb2

Leave a Reply

Required fields are marked *