本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS Managed Microsoft AD 最佳实践
为避免问题并充分利用 AWS Managed Microsoft AD,您应该考虑以下建议和准则。
主题
设置 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。AWS如果您的用户数超过 5000,并且需要在 AWS 托管目录与您的本地目录之间建立信任关系,则 Managed Microsoft AD 是您的最佳选择。
-
AD Connector 将您现有的本地 Active Directory 直接连接到 AWS。当您想要将现有本地目录与 AWS 服务一起使用时,AD Connector 是您的最佳选择。
-
Simple AD 是一种小规模、低成本的目录,具有基础的 Active Directory 兼容性。其支持 5000 个或更少的用户、兼容 Samba 4 的应用程序,并支持 LDAP 感知型应用程序的 LDAP 兼容性。
有关 AWS Directory Service 选项的更详细比较,请参阅选择哪一个。
确保 VPC 和实例正确配置
要连接到、管理和使用目录,必须正确配置目录所关联的 VPC。有关 VPC 安全和网络要求的信息,请参阅 创建 AWS Managed Microsoft AD 的先决条件、AD Connector 先决条件 或 Simple AD 先决条件。
如果要将实例添加到域,请确保您具有实例连接并且可以远程访问实例,如将亚马逊EC2实例加入您的微软 AWS 托管广告的方法 中所述。
注意限制
了解特定目录类型的各种限制。对象的可用存储空间和总大小是可以存储在目录中的对象数量的唯一限制。有关所选目录的详细信息,请参阅 AWS Managed Microsoft AD 限额、AD Connector 配额 或 Simple AD 限额。
了解目录的 AWS 安全组配置和使用
AWS 创建安全组并将其附加到目录的域控制器弹性网络接口。此安全组阻止传向域控制器的不必要流量,并允许 Active Directory 通信所需的流量。AWS 将安全组配置为仅打开 Active Directory 通信所需的端口。在默认配置中,安全组接受从 AWS Managed Microsoft AD VPC IPv4 CIDR 地址到这些端口的流量。AWS 将安全组附加到您的域控制器接口,可从对等的或调整大小的 VPC
修改目录安全组
如果您希望提升目录安全组的安全性,可以修改它们,接受来自更严格控制的 IP 地址列表的流量。例如,您可以将接受的地址从 VPC IPv4 CIDR 范围更改为特定于单个子网或计算机的 CIDR 范围。同样,您可以选择将目标地址限制为您的域控制器可以与之通信的地址。只有在您完全了解安全组的筛选如何工作时,才进行这样的更改。有关更多信息,请参阅《Amazon EC2 用户指南》中的适用于 Linux 实例的 Amazon EC2 安全组。不当的更改可能导致与目标计算机和实例的通信中断。AWS 建议您不要尝试打开域控制器的其他端口,因为这会降低目录的安全性。请仔细查看 AWS 责任共担模型
警告
从技术上来说,您可以将目录使用的安全组与您创建的其他 EC2 实例关联。但是,AWS 不建议采用这种做法。AWS 可能会由于某些原因在未经通知的情况下修改安全组,以满足托管目录的功能或安全需求。此类更改会影响目录安全组相关联的任何实例。此外,将目录安全组与您的 EC2 实例关联起来会导致 EC2 实例潜在的安全风险。目录安全组接受来自 AWS Managed Microsoft AD VPC IPv4 CIDR 地址的所需 Active Directory 端口上的流量。如果您将此安全组与 EC2 实例关联而该实例具有连接到 Internet 的公共 IP 地址,则 Internet 上的任意计算机都可以在开放端口上与 EC2 实例通信。
创建 AWS Managed Microsoft AD
以下是您在创建 AWS Managed Microsoft AD 时需要考虑的一些建议。
记住管理员 ID 和密码
设置目录时,需要提供管理员账户的密码。此账户 ID 是 AWS Managed Microsoft AD 的管理员 ID。请记住为此账户创建的密码;否则无法向您的目录中添加对象。
创建 DHCP 选项集
我们建议为 AWS Directory Service 目录创建 DHCP 选项集并将 DHCP 选项集分配给该目录所在的 VPC。这样,该 VPC 中的任何实例都可以指向指定域,并且 DNS 服务器可以解析其域名。
有关 DHCP 选项集的更多信息,请参阅 为 AWS 托管 Microsoft AD 创建或更改DHCP选项集。
启用条件转发器设置
应启用以下条件转发设置“将此条件转发器存储在 Active Directory 中,按如下方式复制:”。启用这些设置可确保由于基础设施故障或过载故障而更换节点时,条件转发器设置保持不变。
应在一个启用先前设置的域控制器上创建条件转发器。这将允许复制到其他域控制器。
部署额外的域控制器
默认情况下,AWS 会在两个单独的可用区中分别创建域控制器。在软件修补期间以及出现其他事件导致一个域控制器无法访问或不可用时,这提供了故障恢复能力。我们建议您部署额外的域控制器,以进一步提高恢复能力,并在出现较长期事件影响对某个域控制器或某个可用区的访问时,确保向外扩展性能。
有关更多信息,请参阅 使用 Windows DC 定位器服务。
了解 AWS 应用程序的用户名限制
AWS Directory Service 支持大多数可用于构造用户名的字符格式。但是,对用于登录到 AWS 应用程序(例如 WorkSpaces、Amazon WorkDocs、Amazon WorkMail 或 Amazon QuickSight)的用户名有一些字符限制。这些限制要求不使用以下字符:
-
空格
-
多字节字符
-
!"#$%&'()*+,/:;<=>?@[\]^`{|}~
注意
仅允许在 UPN 后缀之前使用 @ 符号。
使用 AWS Managed Microsoft AD 目录时的最佳实践
下面是使用 AWS Managed Microsoft AD 时应记住的一些建议。
主题
不要更改预定义用户、组和组织单位
使用 AWS Directory Service 启动目录时,AWS 会创建一个包含所有目录对象的组织部门 (OU)。此 OU (具有您在创建目录时键入的 NetBIOS 名称) 位于域根目录中。此域根目录由 AWS 拥有和管理。还会创建几个组和一个管理用户。
不要移动、删除或以任何其他方式更改这些预定义对象。否则,可能会使您自己和 AWS 都无法访问您的目录。有关更多信息,请参阅 随 AWS Managed Microsoft AD 创建的内容。
自动加入域
启动属于 AWS Directory Service 域的一部分的 Windows 实例时,最简单的方法通常是在实例创建过程中加入域而不是在以后手动添加实例。要自动加入域,只需在启动新实例时为 Domain join directory 选择正确的目录。可以在将亚马逊 EC2 Windows 实例加入你的 AWS 托管微软 AD Active Directory 中找到详细信息。
正确设置信任
在 AWS Managed Microsoft AD 目录与其他目录之间设置信任关系时,请记住以下准则:
-
信任类型必须在两侧匹配(林或外部)
-
如果使用单向信任(在信任域上传出、在信任域上传入),请确保正确设置信任方向。
-
完全限定域名 (FQDN) 和 NetBIOS 名称在林/域之间都必须唯一
有关设置信任关系的更多详细信息和特定说明,请参阅在 AWS Managed Microsoft AD 与自托管式 AD 之间创建信任关系。
跟踪您的域控制器性能
为了帮助优化扩展决策并提高目录弹性和性能,建议使用 CloudWatch 指标。有关更多信息,请参阅 使用 CloudWatch 监控 AWS Managed Microsoft AD 域控制器的性能。。
有关如何使用 CloudWatch 控制台设置域控制器指标的详细说明,请参阅 AWS 安全博客中的 How to automate AWS Managed Microsoft AD scaling based on utilization metrics
仔细规划架构扩展
应用架构扩展时进行周全考虑,针对重要和频繁的查询为您的目录编制索引。慎重使用以免为目录过度地编制索引,因为索引将占用目录空间并且快速更改的索引值可能会导致性能问题。要添加索引,您必须创建一个轻型目录访问协议 (LDAP) 目录交换格式 (LDIF) 文件并扩展您的架构更改。有关更多信息,请参阅 扩展 AWS Managed Microsoft AD 架构。
关于负载均衡器
请勿在 AWS Managed Microsoft AD 端点前使用负载均衡器。Microsoft 设计了 Active Directory(AD)用于域控制器(DC)发现算法,该算法无需外部负载均衡即可找到响应速度最快的可用 DC。外部网络负载均衡器不正确地检测活动 DC,可能会导致您的应用程序发送给将出现、但未做好使用准备的 DC。有关更多信息,请参阅 Microsoft TechNet 上的负载均衡器和 Active Directory
创建实例的备份
如果决定将实例手动添加到现有 AWS Directory Service 域,请先对该实例创建备份或拍摄快照。这在加入 Linux 实例时尤其重要。用于添加实例的某些过程如果执行不正确,可能使实例无法访问或不可用。有关更多信息,请参阅 使用快照还原 AWS Managed Microsoft AD。
设置 SNS 消息收发
通过 Amazon Simple Notification Service(Amazon SNS),您可以在目录状态发生变化时接收电子邮件或文本(SMS)消息。如果您的目录从 Active 状态变为 Impaired 或 Inoperable 状态,您将收到通知。当目录恢复为“活动”状态时,您也会收到通知。
另请记住,如果您有某个 SNS 主题从 AWS Directory Service 接收消息,则在从 Amazon SNS 控制台删除该主题之前,应将目录与不同的 SNS 主题关联。否则您可能错过重要的目录状态消息。有关如何设置 Amazon SNS 的信息,请参阅 使用 Amazon Simple Notification Service 启用 AWS Managed Microsoft AD 目录状态通知。
应用目录服务设置
AWS Managed Microsoft AD 允许您定制安全配置,以满足您的合规性和安全要求。AWSManaged Microsoft AD 会向目录中的所有域控制器部署并维护配置,包括在添加新区域或额外的域控制器时。您可以为所有新目录和现有目录配置和应用这些安全设置。您可以按照 编辑目录安全设置 中的步骤或通过 UpdateSettings API 在控制台中执行此操作。
有关更多信息,请参阅 编辑 AWS Managed Microsoft AD 目录安全设置。
在删除目录之前删除 Amazon Enterprise 应用程序
在删除与一个或多个 Amazon Enterprise 应用程序 [例如 WorkSpaces、Amazon WorkSpaces Application Manager、Amazon WorkDocs、Amazon WorkMail、AWS Management Console、Amazon Relational Database Service(Amazon RDS)] 关联的目录之前,必须先移除每个应用程序。有关如何删除这些应用程序的更多信息,请参阅删除你的 Microsoft AWS 托管广告。
使用 SMB 2.x 客户端来访问 SYSVOL 和 NETLON 共享
客户端计算机使用服务器消息块(SMB)来访问 AWS Managed Microsoft AD 域控制器上的组策略、登录脚本和其他文件的 SYSVOL 和 NETLOGON 共享。AWSManaged Microsoft AD 仅支持 SMB 版本 2.0(SMBv2)及更高版本。
SMBv2 和更新版本的协议增加了许多功能,可以提高客户端性能以及域控制器和客户端的安全性。此更改遵循美国计算机应急准备小组
重要
如果您当前使用 SMBv1 客户端来访问域控制器的 SYSVOL 和 NETLON 共享,请务必更新这些客户端以使用 SMBv2 或更新版本。您的目录将可以正常工作,但您的 SMBv1 客户端将无法连接到 AWS Managed Microsoft AD 域控制器的 SYSVOL 和 NETLON 共享,也无法处理组策略。
SMBv1 客户端将与您拥有的任何其他兼容 SMBv1 的文件服务器配合使用。但是,AWS 建议您将所有 SMB 服务器和客户端更新为 SMBv2 或更新版本。有关在系统中禁用 SMBv1 并将其更新为更新 SMB 版本的更多信息,请参阅 Microsoft TechNet
跟踪 SMBv1 远程连接
您可以查看远程连接到 AWS Managed Microsoft AD 域控制器的 Microsoft-Windows-SMBServer/Audit Windows 事件日志,该日志中的任何事件都表明 SMBv1 连接。以下是您可能会在某个日志中看到的信息示例:
SMB1 访问
客户端地址:###.###.###.###
指南:
此事件表示客户端尝试使用 SMB1 访问服务器。要停止审核 SMB1 访问,请使用 Windows PowerShell cmdlet Set-SmbServerConfiguration。
为 AWS Managed Microsoft AD 编程应用程序时的最佳实践
在对应用程序进行编程使其与 AWS Managed Microsoft AD 结合使用之前,请考虑以下几点:
使用 Windows DC 定位器服务
开发应用程序时,请使用 Windows DC 定位器服务或使用 AWS Managed Microsoft AD 的动态 DNS(DDNS)服务查找域控制器(DC)。请勿使用 DC 的地址对应用程序进行硬编码。DC 定位器服务有助于确保分配目录负载,使您能够通过将域控制器添加到部署来利用水平扩展。如果您将应用程序绑定到固定 DC 并且 DC 进行修补或恢复,则您的应用程序将失去对 DC 的访问权限而不是使用其余的 DC。而且,DC 的硬编码可能导致在单一 DC 上出现热点。情况严重时,热点可能导致您的 DC 无法响应。此类情况可能还会导致 AWS 目录自动化功能将目录标记为“受损”,并且可能触发更换无响应 DC 的恢复过程。
交付生产之前的负载测试
请务必对代表您的生产工作负载的对象和请求执行实验室测试,以确认目录将扩展至您的应用程序负载。如果您需要更多容量,请在 DC 间分配请求时测试其他 DC。有关更多信息,请参阅 为 AWS Managed Microsoft AD 部署额外的域控制器。
使用高效的 LDAP 查询
对域控制器进行的针对数万个对象的广泛 LDAP 查询在单个 DC 中会产生明显的 CPU 周期消耗,从而导致热点。这可能影响在查询期间共享同一 DC 的应用程序。