我无法将我的 Amazon Elastic Compute Cloud(Amazon EC2)Windows 实例加入到适用于 Microsoft Active Directory 的 AWS Directory Service。
解决方法
请按照以下步骤,排查将 Amazon EC2 Windows 实例无缝加入到 AWS Managed Microsoft AD 时遇到的问题。
注意:AWS Systems Manager 不支持接口 VPC 端点的无缝域加入,因为 AWS Directory Service 没有接口 VPC 端点。有关更多信息,请参阅 VPC 端点限制。
验证先决条件
确认您满足使用 AWS Systems Manager 的所有先决条件。
验证 AWS Identity and Access Management(IAM)角色策略
1. 打开 IAM 控制台,然后从导航窗格中选择 Roles(角色)。
2. 选择与实例关联的 IAM 角色的角色名称,以打开“摘要”页面。
3. 在 Permissions(权限)选项卡上,对于 Permissions policies(权限策略),确认已附加 AmazonSSMDirectoryServiceAccess 和 AmazonSSMManagedInstanceCore 策略。
如果任一策略缺失,请选择 Attach policies(附加策略)。搜索策略名称,并选择 Attach policy(附加策略)。
确认所需端口已打开
确认目录安全组中的端口 53、88 和 389 已打开。要查找目录的安全组,请执行以下步骤:
1. 打开 Amazon EC2 控制台,然后从导航窗格中选择网络和安全下的安全组。
2. 按安全组名称对列表进行排序,以查找 directoryid_controllers,其中 directory_id 为您的目录 ID。例如,d-1234567891_controllers。
注意:使用 Microsoft 的 Portqry.exe 命令行实用程序测试域至所需端口的连接。
确认 EC2 实例上的 DNS 服务器指向目录 DNS 服务器
运行以下命令以显示实例上的网络适配器配置:
ipconfig /all
要找到目录 DNS 服务器,请执行以下操作:
1. 打开 Directory Service 控制台,然后从导航窗格中选择目录。
2. 选择您的目录 ID 以打开“目录详细信息”页面,并查看 DNS 地址。
确认您可以解析实例的域名
运行以下命令,将域名替换为您的 domainname。
使用 PowerShell:
Resolve-DnsName domainname
使用命令提示符:
nslookup domainname
验证 DNS 服务器配置
验证您已在实例上配置了正确的 DNS 服务器并且实例可以访问该 DNS 服务器。运行以下 Nltest 命令:
nltest /dsgetdc:domainname /force
注意:务必将 domainname 替换为 DNS 名称,而不是 NetBIOS 名称。例如,如果您的域为 example.com,则 DNS 名称为 example.com,NetBIOS 名称为 example。
确认实例正报告为“已托管”
首先,打开 AWS Systems Manager 控制台。接下来,从导航窗格中选择 Fleet Manager 以查看所有托管实例,并确认该实例已列出并处于联机状态。
然后,确认已为该实例自动创建文档 awsconfig_Domain_directoryid_domainname 的相应状态管理器关联。然后执行以下步骤:
1. 在 Systems Manager 控制台中,从导航窗格中选择状态管理器。
2. 在搜索栏中,选择实例 ID、等于,然后输入 instance_id。
3. 验证执行历史记录下的关联的执行输出。确认状态为成功。
如果状态为失败,请检查输出和详细状态,以确定问题根源。
如果状态为挂起,请验证您是否遵循了之前的所有排查步骤。然后,检查 EC2 实例的日志中是否存在任何明显错误消息,以确定问题根源。有关说明,请参阅以下问题排查部分。
确认您可以手动将实例加入到域
验证您的账户拥有将计算机对象添加到域所需的权限。有关更多信息,请参阅为 AWS Managed Microsoft AD 委派目录加入权限。
确认已成功无缝加入域
重新尝试加入域,以验证前面的步骤是否解决了此问题。
1. 打开 AWS Systems Manager 控制台,然后从导航窗格中选择状态管理器。
2. 选择您创建的要加入域的关联,然后选择立即应用关联。
3. 验证状态为成功。
问题排查
如果您在加入域时仍有问题,则查看 EC2 实例上的以下日志,以了解问题的指示。
对于 Amazon SSM 代理日志:
导航到以下位置以查看 Amazon SSM 代理日志:C:\ProgramData\Amazon\SSM\Logs
netsetup.log 文件:
打开命令提示符,然后输入以下命令:
%windir%\debug\netsetup.log
有关 netsetup.log 错误代码的信息,请参阅 Microsoft 网站上的如何排查将基于 Windows 的计算机加入到域时出现的错误。
对于事件查看器日志:
1. 打开 Windows“开始”菜单,然后打开事件查看器。
2. 从导航窗格中选择 Windows 日志。
3. 对于 Windows 日志,选择系统。
4. 检查日期和时间列,以确认事件是在加入域这一操作过程中发生的。
相关信息
将 EC2 实例加入到 AWS Managed Microsoft AD Directory