的最佳实践AWS Managed Microsoft AD - AWS Directory Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

的最佳实践AWS Managed Microsoft AD

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

设置:先决条件

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

验证您是否有正确的目录类型

AWS Directory Service 提供了多种方式来结合使用 Microsoft Active Directory 与其他 AWS 服务。您可以根据预算成本选择具有适当功能的目录服务以满足您的需求:

  • AWS Directory Service for Microsoft Active Directory 是在 AWS 云中托管的功能丰富的托管 Microsoft Active Directory。如果您的用户数超过 5000,并且需要在 AWS 托管目录与您的本地目录之间建立信任关系,则 AWS Managed Microsoft AD 是您的最佳选择。

  • AD Connector 将您现有的本地 Active Directory 直接连接到 AWS。当您想要将现有本地目录与 AWS 服务一起使用时,AD Connector 是您的最佳选择。

  • Simple AD 是具有常用目录功能并与 Active Directory 兼容的低成本服务。在大多数情况下,Simple AD 是成本最低的选择,如果您的用户数不超过 5000,并且不需要更高级的 Microsoft Active Directory 功能,这是您的最佳选择。

有关 AWS Directory Service 选项的更详细比较,请参阅选择哪个选项

确保 VPC 和实例得到正确地配置

要连接到、管理和使用目录,必须正确配置目录所关联的 VPC。有关 VPC 安全和网络要求的信息,请参阅 AWS Managed Microsoft AD先决条件AD Connector先决条件Simple AD先决条件

如果要将实例添加到域,请确保您具有实例连接并且可以远程访问实例,如将 EC2 实例加入 AWS Managed Microsoft AD 目录 中所述。

注意限制

了解您特定目录类型的不同限制。您可以在您的目录中存储的对象的数量仅受可能存储空间和您的对象的聚合大小的限制。有关您选定的目录的详细信息,请参阅 AWS Managed Microsoft AD 配额AD Connector 配额Simple AD 配额

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

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

修改目录安全组

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

警告

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

设置:创建目录

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

请记住您的管理员 ID 和密码

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

创建 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 目录与其他目录之间设置信任关系时,请记住以下准则:

  • 信任类型必须在两侧匹配(林或外部)

  • 如果使用单向信任(在信任域上传出、在信任域上传入),请确保正确设置信任方向。

  • 完全限定域名 (FQDNs) 和 NetBIOS 名称在林/域之间都必须是唯一的

有关设置信任关系的更多详细信息和特定说明,请参阅When to create a trust relationship.

管理您的目录

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

仔细规划架构扩展

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

关于负载均衡器

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

创建实例的备份

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

设置 SNS 消息收发

通过使用 Amazon Simple Notification Service (Amazon SNS),您可以在目录状态发生变化时接收电子邮件或文本 (SMS) 消息。如果您的目录从 Active (活动) 状态变为 Impaired (受损)Inoperable (不可操作) 状态,您将收到通知。当目录恢复为“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))关联的目录之前,您必须先删除每个应用程序。有关如何删除这些应用程序的更多信息,请参阅删除目录.

在访问 SYSVOL 和 NETLON 共享时使用 SMB 2.x 客户端

客户端计算机使用服务器消息块 (SMB) 来访问 AWS Managed Microsoft AD 域控制器上的 SYSVOL 和 NETLOGON 共享,以处理组策略、登录脚本和其他文件。AWS Managed Microsoft AD 仅支持 SMB 版本 2.0 (SMBv2) 及更新版本。

和更新的版本协议添加了大量功能,可提高客户端性能以及域控制器和客户端的安全性。SMBv2此更改遵循 United States Computer Emergency Readiness Team (美国计算机紧急准备团队)Microsoft 的建议来禁用 SMBv1。

重要

如果您当前使用 SMBv1 客户端来访问域控制器的 SYSVOL 和 NETLON 共享,则必须更新这些客户端以使用 SMBv2 或更新版本。您的目录将正常工作,但您的 SMBv1 客户端将无法连接到 AWS 托管的 Microsoft AD 域控制器的 SYSVOL 和 NETLON 共享,也无法处理组策略。

SMBv1 客户端将与您拥有的任何其他兼容 SMBv1 的文件服务器配合使用。但是,AWS 建议您将所有 SMB 服务器和客户端更新为 SMBv2 或更新版本。要了解有关禁用 SMBv1 并将其更新到系统上的较新 SMB 版本的更多信息,请参阅 Microsoft TechNetSupport 上的这些文章。

跟踪 SMBv1 远程连接

您可以查看远程连接到 域控制器的 SMBServerSMBServer/AuditAWS Managed Microsoft AD Windows 事件日志,此日志中的任何事件均指示 SMBv1 连接。以下是您可能会在某个日志中看到的信息示例:

SMB1 访问

客户端地址:###.###.###.###

指南:

此事件表示客户端尝试使用 SMB1 访问服务器。要停止审核 SMB1 访问权限,请使用 Windows PowerShell cmdlet Set-SmbServerConfiguration。

对应用程序进行编程

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

使用 Windows DC 定位器服务

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

实施到生产环境之前的负载测试

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

使用高效的 LDAP 查询

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