AWS Directory Service
管理指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS Managed Microsoft AD 的最佳实践

为避免问题并充分利用 AWS Managed Microsoft AD,您应该考虑以下建议和准则。

设置:先决条件

创建目录之前请考虑以下这些准则。

Verify You Have the Right Directory Type

AWS Directory Service provides multiple ways to use Microsoft Active Directory with other AWS services. You can choose the directory service with the features you need at a cost that fits your budget:

  • AWS Directory Service for Microsoft Active Directory is a feature-rich managed Microsoft Active Directory hosted on the AWS cloud. AWS Managed Microsoft AD is your best choice if you have more than 5,000 users and need a trust relationship set up between an AWS hosted directory and your on-premises directories.

  • AD Connector simply connects your existing on-premises Active Directory to AWS. AD Connector is your best choice when you want to use your existing on-premises directory with AWS services.

  • Simple AD is an inexpensive Active Directory–compatible service with the common directory features. In most cases, Simple AD is the least expensive option and your best choice if you have 5,000 or fewer users and don’t need the more advanced Microsoft Active Directory features.

For a more detailed comparison of AWS Directory Service options, see 选择哪一个.

Ensure Your VPCs and Instances are Configured Correctly

In order to connect to, manage, and use your directories, you must properly configure the VPCs that the directories are associated with. See either AWS Managed Microsoft AD 先决条件, AD Connector 先决条件, or Simple AD 先决条件 for information about the VPC security and networking requirements.

If you are adding an instance to your domain, ensure that you have connectivity and remote access to your instance as described in 将 EC2 实例加入 AWS Managed Microsoft AD 目录.

Be Aware of Your Limits

Learn about the various limits for your specific directory type. The available storage and the aggregate size of your objects are the only limitations on the number of objects you may store in your directory. See either AWS Managed Microsoft AD 的限制, AD Connector 的限制, or Simple AD 的限制 for details about your chosen directory.

了解目录的 AWS 安全组配置和使用

AWS 创建安全组并将其附加到目录的域控制器弹性网络接口。此安全组阻止传向域控制器的不必要流量,允许 Active Directory 通信所必需的流量通过。AWS 将安全组配置为仅打开 Active Directory 通信所需的端口。在默认配置中,安全组接受从任意 IP 地址到这些端口的流量。AWS 将安全组附加到您的域控制器接口,可从您的、对等的或调整大小的 VPC 中访问该接口。即使您修改路由表、更改与 VPC 的网络连接以及配置 NAT 网关服务,这些接口也无法从 Internet 访问。因此,只有具有指向 VPC 的网络路径的实例和计算机可以访问目录。这消除了配置特定地址范围的需求,从而简化了设置。而您只需要配置到 VPC 的路由和安全组,使其仅允许来自可信实例和计算机的流量。

修改目录安全组

如果您希望提升目录安全组的安全性,可以修改它们,接受来自更严格控制的 IP 地址列表的流量。例如,您可以将接受的地址从 0.0.0.0/0 更改为特定于单个子网或计算机的 CIDR 范围。同样,您可以选择将目标地址限制为您的域控制器可以与之通信的地址。只有在您完全了解安全组的筛选如何工作时,才进行这样的更改。有关更多信息,请参阅 Amazon EC2 用户指南 中的适用于 Linux 实例的 Amazon EC2 安全组。不正确的更改可能会导致丢失与目标计算机和实例的通信。AWS 建议您不要尝试打开到域控制器的其他端口,因为这会降低您目录的安全性。请仔细查看 AWS 责任共担模型

警告

从技术上来说,您可以将目录使用的安全组与您创建的其他 EC2 实例关联。不过,AWS 建议不要采用这种做法。AWS 可能会由于某些原因在未经通知的情况下修改安全组,以满足托管目录的功能或安全需求。此类更改会影响目录安全组相关联的任何实例。此外,将目录安全组与您的 EC2 实例关联起来会导致 EC2 实例潜在的安全风险。目录安全组在所需 Active Directory 端口上接收来自任何 IP 地址流量。如果您将此安全组与 EC2 实例关联而该实例具有连接到 Internet 的公共 IP 地址,则 Internet 上的任意计算机都可以在开放端口上与 EC2 实例通信。

设置:创建目录

下面是创建目录时应考虑的一些建议。

记住管理员 ID 和密码

设置目录时,需要提供管理员账户的密码。该账户 ID 对于 AWS Managed Microsoft AD 是 Admin。请记住为此账户创建的密码;否则无法向您的目录中添加对象。

创建 DHCP 选项集

我们建议为 AWS Directory Service 目录创建 DHCP 选项集并将 DHCP 选项集分配给该目录所在的 VPC。这样,该 VPC 中的任何实例都可以指向指定域,并且 DNS 服务器可以解析其域名。

有关 DHCP 选项集的更多信息,请参阅 创建 DHCP 选项集

部署额外的域控制器

默认情况下,AWS 会在两个单独的可用区中分别创建域控制器。在软件修补期间以及出现其他事件导致一个域控制器无法访问或不可用时,这提供了故障恢复能力。我们建议您部署额外的域控制器,以进一步提高恢复能力,并在出现较长期事件影响对某个域控制器或某个可用区的访问时,确保向外扩展性能。

有关更多信息,请参阅 使用 Windows DC 定位器服务

了解 AWS 应用程序的用户名限制

AWS Directory Service 支持大多数可用于构造用户名的字符格式。但是,对于登录到 AWS 应用程序(例如 Amazon WorkSpaces、Amazon WorkDocs、Amazon WorkMail 或 Amazon QuickSight)所用的用户名有一些字符限制。这些限制要求不使用以下字符:

  • 空格

  • !"#$%&'()*+,/:;<=>?@[\]^`{|}~

注意

仅允许在 UPN 后缀之前使用 @ 符号。

使用目录

下面是使用目录时应记住的一些建议。

不要更改预定义用户、组和组织单位

使用 AWS Directory Service 启动目录时,AWS 会创建一个包含所有目录对象的组织部门 (OU)。此 OU (具有您在创建目录时键入的 NetBIOS 名称) 位于域根目录中。此域根目录由 AWS 拥有和管理。还会创建几个组和一个管理用户。

不要移动、删除或以任何其他方式更改这些预定义对象。否则,可能会使您自己和 AWS 都无法访问您的目录。有关更多信息,请参阅创建的内容

自动加入域

启动属于 AWS Directory Service 域的一部分的 Windows 实例时,最简单的方法通常是在实例创建过程中加入域而不是在以后手动添加实例。要自动加入域,只需在启动新实例时为 Domain join directory 选择正确的目录。可以在无缝加入 Windows EC2 实例 中找到详细信息。

正确设置信任

在 AWS Managed Microsoft AD 目录与其他目录之间设置信任关系时,请记住以下准则:

  • 两个信任必须都是林信任。

  • 两个完全限定域名 (FQDN) 必须都是唯一的。

  • 如果添加 NetBIOS 名称,则该名称也应是唯一的。

有关设置信任关系的更多详细信息和特定说明,请参阅何时创建信任关系

管理目录

请考虑以下用于管理目录的建议。

仔细规划架构扩展

应用架构扩展时进行周全考虑,针对重要和频繁的查询为您的目录编制索引。慎重使用以免为目录过度地编制索引,因为索引将占用目录空间并且快速更改的索引值可能会导致性能问题。要添加索引,您必须创建一个轻型目录访问协议 (LDAP) 目录交换格式 (LDIF) 文件并扩展您的架构更改。有关更多信息,请参阅扩展您的架构

关于负载均衡器

请勿在 AWS Managed Microsoft AD 终端节点前使用负载均衡器。Microsoft 设计了与域控制器 (DC) 发现算法 (查找在无外部负载平衡的情况下最易响应的运行 DC) 一起使用的 Active Directory (AD)。外部网络负载均衡器不正确地检测活动 DC,可能会导致您的应用程序发送给将出现、但未做好使用准备的 DC。有关更多信息,请参阅 Microsoft TechNet 上的负载均衡器和 Active Directory,其中建议修复应用程序以正确使用 AD 而不是实施外部负载均衡器。

创建实例的备份

如果决定将实例手动添加到现有 AWS Directory Service 域,请先对该实例创建备份或拍摄快照。这在加入 Linux 实例时尤其重要。用于添加实例的某些过程如果执行不正确,可能使实例无法访问或不可用。有关更多信息,请参阅为您的目录拍摄快照或还原该目录

设置 SNS 消息收发

通过使用 Amazon Simple Notification Service (Amazon SNS),您可以在目录状态发生变化时接收电子邮件或文本 (SMS) 消息。如果您的目录从 Active 状态变为 ImpairedInoperable 状态,您将收到通知。当目录恢复为“Active”状态时,您也会收到通知。

另请记住,如果您有某个 SNS 主题从 AWS Directory Service 接收消息,则在从 Amazon SNS 控制台删除该主题之前,应将目录与不同的 SNS 主题关联。否则您可能错过重要的目录状态消息。有关如何设置 Amazon SNS 的信息,请参阅配置目录状态通知

在删除目录之前删除 Amazon 企业应用程序

在删除与一个或多个 Amazon 企业应用程序(如 Amazon WorkSpaces、Amazon WorkSpaces Application Manager、Amazon WorkDocs、Amazon WorkMail、AWS 管理控制台 或 Amazon Relational Database Service (Amazon RDS))关联的目录之前,您必须先删除每个应用程序。有关如何删除这些应用程序的更多信息,请参阅删除目录

为您的应用程序编程

在为您的应用程序编程之前,请考虑以下事项:

使用 Windows DC 定位器服务

开发应用程序时,请使用 Windows DC 定位器服务或使用 AWS Managed Microsoft AD 的动态 DNS (DDNS) 服务找到域控制器 (DC) 所在位置。请勿使用 DC 的地址对应用程序进行硬编码。DC 定位器服务有助于确保分配目录负载,使您能够通过将域控制器添加到部署来利用水平扩展。如果您将应用程序绑定到固定 DC 并且 DC 进行修补或恢复,则您的应用程序将失去对 DC 的访问权限而不是使用其余的 DC。而且,DC 的硬编码可能导致在单一 DC 上出现热点。情况严重时,热点可能导致您的 DC 无法响应。此类情况可能还会导致 AWS 目录自动化功能将目录标记为“受损”,并且可能触发更换无响应 DC 的恢复过程。

交付生产之前的负载测试

请务必对代表您的生产工作负载的对象和请求执行实验室测试,以确认目录将扩展至您的应用程序负载。如果您需要更多容量,请在 DC 间分配请求时测试其他 DC。有关更多信息,请参阅部署额外的域控制器

使用高效的 LDAP 查询

对域控制器进行的针对数万个对象的广泛 LDAP 查询在单个 DC 中会产生明显的 CPU 周期消耗,从而导致热点。这可能影响在查询期间共享同一 DC 的应用程序。