使用 AWS Managed Microsoft AD 和本地 Microsoft Active Directory 集中 DNS 解析 - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 AWS Managed Microsoft AD 和本地 Microsoft Active Directory 集中 DNS 解析

由 Brian Westmoreland (AWS) 编写

环境:生产

技术:基础架构;网络 DevOps;安全、身份、合规;操作系统

工作负载:Microsoft

AWS 服务:AWS 托管的微软 AD;亚马逊 Route 53;AWS RAM;AWS Directory Service;AWS Organizations;AWS Direct Connect Connect;AWS CLI

Summary

此模式提供了使用 AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) 在 AWS 多账户环境中集中域名系统 (DNS) 解析的指导。在此模式中,AWS DNS 命名空间是本地 DNS 命名空间的子域。此模式还提供有关如何配置本地 DNS 服务器,以在本地 DNS 解决方案使用 Microsoft Active Directory 时将查询转发到 AWS 的指导。 

先决条件和限制

先决条件

  • AWS Organizations 设置的 AWS 多账户环境。

  • Amazon Web Services account 间已建立网络连接。

  • 在 AWS 和本地环境之间建立的网络连接(通过使用 AWS Direct Connect 或任何类型的 VPN 连接)。

  • 已安装和配置 AWS 命令行界面(AWS CLI)。

  • AWS Resource Access Manager (AWS RAM) 用于在账户间共享 Amazon Route 53 规则。因此,必须在 AWS Organizations 环境中启用共享,如操作说明部分所述。

限制

  • AWS Managed Microsoft AD 标准版的共享限制为 5 个。

  • AWS Managed Microsoft AD 企业版的共享限制为 125 个。

  • 这种模式下的解决方案仅限于支持通过 AWS RAM 共享的 Amazon Web Services Region。

产品版本

  • 在 Windows Server 2008、2012、2012 R2 或 2016 上运行的Microsoft Active Directory

架构

目标架构

AWS 上的集中式 DNS 解析的架构

在此设计中,AWS Managed Microsoft AD 安装在共享服务 Amazon Web Services account 中。尽管这不是必需的,但该模式假定了这种配置。如果您在不同的 Amazon Web Services account 中配置 AWS 托管 Microsoft AD,则可能需要相应地修改 操作说明 部分中的步骤。

此设计使用 Route 53 解析器,通过使用 Route 53 规则来支持名称解析。如果本地 DNS 解决方案使用 Microsoft DNS,则为 AWS 命名空间 (aws.company.com)(公司 DNS 命名空间 (company.com) 的子域)创建条件转发规则并不简单。如果您尝试创建传统的条件转发器,将会导致错误。这是因为 Microsoft Active Directory 已经被认为对的任何company.com子域具有权威性。要解决此错误,必须首先为创建一个aws.company.com委托,委托该命名空间的权限。然后,您可创建条件转发器。

每个分支账户的虚拟私有云(VPC)可根据根 AWS 命名空间拥有自己的唯一 DNS 命名空间。在此设计中,每个分支帐户将帐户名称的缩写附加到基本 AWS 命名空间。创建分支账户中的私有托管区域后,这些区域将与分支账户中的 VPC 以及中央 AWS 网络账户中的 VPC 关联。这使得中央 AWS 网络账户能够回答与分支账户相关的 DNS 查询。

自动化和扩展

此设计利用 Route 53 解析器端点在 AWS 和您的本地环境之间扩展 DNS 查询。 每个 Route 53 Resolver 端点包含多个弹性网络接口(分布在多个可用区),每个网络接口每秒最多可处理 10,000 个查询。 Route 53 解析器支持每个端点最多 6 个 IP 地址,因此该设计总共支持每秒多达 60,000 个 DNS 查询,分布在多个可用区中,以实现高可用性。 

此外,这种模式自动考虑了 AWS 未来增长。无需修改本地配置的 DNS 转发规则即可支持添加至 AWS 的新 VPC 及其关联的私有托管区域。 

工具

Amazon Web Services

工具

  • AWS 命令行界面(AWS CLI)是一种开源工具,它可帮助您通过命令行 Shell 中的命令与 Amazon Web Services 交互。在此模式中,AWS CLI 用于配置 Route 53 授权。

操作说明

任务描述所需技能

AWS 托管 Microsoft AD

  1. 创建和配置新的目录。有关详细步骤,请参阅 AWS Directory Service 管理指南中的创建 AWS Managed Microsoft AD 目录。 

  2. 记录 AWS Managed Microsoft AD 域控制器 IP 地址。 您将在后面的步骤中涉及。

AWS 管理员

共享您的目录

目录构建完成后,与 AWS 组织中的其他 Amazon Web Services account 共享。有关说明,请参阅AWS Directory Service 管理指南中的共享目录  

注意:AWS Managed Microsoft AD 标准版的共享限制为 5 个。 企业版的共享限制为 125 个。

AWS 管理员
任务描述所需技能

创建 Route 53 解析器。

Route 53 解析器为 AWS 和本地数据中心之间的 DNS 查询解析提供便利。 

  1. 按照 Route 53 开发人员指南中的说明 安装 Route 53 解析器。 

  2. 在中央 AWS 网络账户的 VPC 内至少两个可用区的私有子网中配置 Route 53 解析器,以实现高可用性。

注意:尽管不要求使用中央 AWS 网络账户 VPC,但其余步骤均采用此配置。

AWS 管理员

创建 Route 53 规则。

您的特定使用案例可能需要大量 Route 53 规则,但您需要配置以下规则作为基准:

  • 使用出站 Route 53 解析器为本地命名空间 (company.com) 设置传出规则。

    • 与分支 Amazon Web Services account 共享该规则。

    • 将此规则与分支账户的 VPC 关联。

  • AWS 命名空间 (aws.company.com) 的传出规则,它指向中央网络账户 Route 53 入站解析器。

    • 与分支 Amazon Web Services account 共享该规则。

    • 将此规则与分支账户的 VPC 关联。

    • 请勿 将此规则与中央 AWS 网络账户 VPC(存放 Route 53 解析器)相关联。

  • AWS 命名空间 (aws.company.com) 的第二条传出规则,它指向 AWS 托管的 Microsoft AD 域控制器(使用上一篇故事中的 IP)。

    • 将此规则与中央 AWS 网络账户 VPC (存放 Route 53 解析器)相关联。

    • 请勿 与其他 Amazon Web Services account 共享或关联此规则。

有关更多信息,请参阅 Route 53 开发人员指南中的托管转发规则

AWS 管理员
任务描述所需技能

创建委托。

使用 Microsoft DNS 管理单元 (dnsmgmt.msc) 在 Active Directory 中为company.com 命名空间创建新的委托。委托域的名称应为 aws。这使得aws.company.com委托的完全限定域名 (FQDN) 成为可能。对于域名服务器,使用中央 DNS Amazon Web Services account 中的 AWS 入站 Route 53 解析器 IP 地址作为 IP 值,然后使用server.aws.company.com作为名称。

Active Directory

创建条件转发器。

使用 Microsoft DNS 管理单元 (dnsmgmt.msc) 为aws.company.com创建新条件转发器。 使用 AWS 托管的 Microsoft AD 域控制器 IP 地址作为条件转发器的目标。  

Active Directory
任务描述所需技能

创建 Route 53 私有托管区:

在每个分支账户中创建 Route 53 私有托管区域。  将此私有托管区域与分支账户 VPC 相关联。  有关详细步骤,请参阅 Route 53 开发人员指南中的创建私有托管区

AWS 管理员

创建授权。

通过 AWS CLI 为中央 AWS 网络账户 VPC 创建授权。在每个分支 Amazon Web Services account 的上下文运行以下命令:

aws route53 create-vpc-association-authorization --hosted-zone-id <hosted-zone-id> \ --vpc VPCRegion=<region>,VPCId=<vpc-id>

其中:

  • <hosted-zone-id> 是分支账户中的 Route 53 私有托管区域。

  • <region><vpc-id>是中央 AWS 网络账户 VPC 的 Amazon Web Services Region 和 VPC ID。

AWS 管理员

创建关联。

使用 AWS CLI 为中央 AWS 网络账户 VPC 创建 Route 53 私有托管区关联。从中央 AWS 网络帐户的上下文运行此命令:

aws route53 associate-vpc-with-hosted-zone --hosted-zone-id <hosted-zone-id> \ --vpc VPCRegion=<region>,VPCId=<vpc-id>

其中:

  • <hosted-zone-id> 是分支账户中的 Route 53 私有托管区域。

  • <region><vpc-id>是中央 AWS 网络账户 VPC 的 Amazon Web Services Region 和 VPC ID。

AWS 管理员

相关资源