为什么我无法将我的 EC2 Windows 实例无缝加入 AWS Managed Microsoft AD 目录?
我无法将我的 Amazon Elastic Compute Cloud(Amazon EC2)Windows 实例无缝加入 AWS Directory Service for Microsoft Active Directory。
解决方法
若要解决无法将 EC2 Windows 实例无缝加入 AWS Managed Microsoft AD 目录的问题,请完成下列步骤。
**注意:**针对 AWS Systems Manager 的 Amazon Virtual Private Cloud(Amazon VPC)接口端点对将 Windows Server 实例加入域的请求进行了限制。有关详细信息,请参阅 VPC 端点限制和局限。
验证您的操作系统和计算机类型
确认 AWS Systems Manager 支持您的操作系统(OS)和计算机类型。
验证您的 IAM 角色策略
若要验证您的 AWS Identity and Access Management(IAM)角色是否附加了正确的托管策略,请完成下列步骤:
- 打开 IAM 控制台。
- 在导航窗格中,选择角色。
- 选择与您的实例关联的 IAM 角色的角色名称以打开摘要页面。
- 在权限选项卡上,对于权限策略,确认已附加 AmazonSSMDirectoryServiceAccess 和 AmazonSSMManagedInstanceCore 策略。
- 如果缺少权限策略,请选择添加权限、附加策略。搜索策略名称,从搜索结果中选择正确的策略,然后选择添加权限。
确认所需的端口已开放
确认目录的安全组中已开放端口 53、88 和 389。若要找到并查看目录的安全组,请完成下列步骤:
- 打开 Amazon EC2 控制台。
- 在导航窗格中,选择安全组。
- 按安全组名称对安全组列表进行排序,以查找 directoryid_controllers,其中 directoryid 是您的目录 ID。例如,d-1234567891_controllers。
- 选择目录控制器安全组的安全组 ID。
- 打开入站规则和出站规则选项卡以查看端口信息。
**注意:**使用 Microsoft 的 PortQry 命令行工具测试域与所需端口的连接。
验证您的实例上的 DNS 服务器是否指向目录的 DNS 服务器
若要显示实例上的网络适配器配置,请运行下列 AWS 命令行界面(AWS CLI)命令:
**注意:**如果在运行 AWS CLI 命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
ipconfig /all
若要找到目录的 DNS 服务器,请完成下列步骤:
- 打开 Directory Service 控制台。
- 在导航窗格中,选择目录。
- 选择目录 ID 以打开目录详细信息页面。
- 查看 DNS 地址。
确认您可以从实例解析域名
若要确认您可以从实例解析域名,请运行下面的其中一个命令:
**注意:**在您的命令中,将 domainname 替换为您的域名。
使用 PowerShell:
Resolve-DnsName domainname
使用命令提示符:
nslookup domainname
验证 DNS 服务器配置
若要验证您是否正确配置了实例的 DNS 服务器以及该实例是否可以访问 DNS 服务器,请运行下列 Nltest Windows 命令:
**注意:**在您的命令中,请将 domainname 替换为 DNS 名称,而不是 NetBIOS 名称。例如,如果您的域是 example.com,则 DNS 名称是 example.com,NetBIOS 名称就是示例。
nltest /dsgetdc:domainname /force
验证实例是否为托管实例
若要验证您的实例是否为托管实例,请完成下列步骤:
- 打开 Systems Manager 控制台。
- 在导航窗格中,选择 Fleet Manager。
- 在 Fleet Manager 页面上,选择托管节点选项卡。
- 确认实例已列出且处于联机状态。
确认实例具有状态管理器关联
若要确认文档 awsconfig_Domain_directoryid_domainname 是否具有为该实例创建的状态管理器关联,请完成下列步骤:
**注意:**在文档名称中,directoryid 是您的目录 ID,domainname 是您的域名。
- 打开 Systems Manager 控制台。
- 在导航窗格中,选择状态管理器。
- 在搜索栏中,选择实例 ID 和等于,然后输入实例 ID。
- 选择关联 ID。
- 确认状态为成功,然后选择执行历史记录以验证关联执行情况。
- 如果状态为失败,请选择执行 ID、输出,以查看输出详细信息并确定问题的原因。
- 如果状态为待处理,请确认您已按照之前的所有故障排除步骤进行操作。然后,查看 EC2 实例上的日志,了解是否存在任何错误消息,以确定问题的原因。有关说明,请参阅查看日志以查找错误消息部分。
确认您可以手动将实例加入域
确认您的账户具有向域中添加计算机对象所需的权限。有关详细信息,请参阅为 AWS Managed Microsoft AD 委派目录加入权限。
**注意:**若要创建新的 EC2 Windows 实例,请使用 Microsoft 工具 Sysprep 创建标准化的亚马逊机器映像(AMI)。
确认成功无缝加入域
若要验证故障排除步骤是否解决了您的问题,请尝试重新加入域:
- 打开 Systems Manager 控制台。
- 在导航窗格中,选择状态管理器。
- 选择您为加入域而创建的关联,然后选择立即应用关联。
- 验证状态是否为成功。
查看日志以查找错误消息
如果您仍然无法加入域,请查看实例上的以下日志,以查找错误消息。
使用 SSM Agent 日志:
若要查看 AWS Systems Manager Agent(SSM Agent)日志,请前往 %PROGRAMDATA%\Amazon\SSM\Logs\。
使用 Netsetup.log 文件:
若要打开日志文件,请在命令提示符中运行下列命令:
%windir%\debug\netsetup.log
NetSetup.log 输出中每个端口的预期错误代码和行为
TCP 88 - Kerberos 身份验证:
NetUseAdd to \\serverDC1.example.com\IPC$ returned 64 NetpJoinDomainOnDs: status of connecting to dc '\\serverDC1.example.com':0x40 NetpJoinDomainOnDs: Function exits with status of: 0x40 NetpResetIDNEncoding: DnsDisableIdnEncoding(RESETALL) on 'example.com' returned 0x0 NetpJoinDomainOnDs: NetpResetIDNEncoding on 'example.com': 0x0 NetpDoDomainJoin: status: 0x40
TCP 389 – LDAP:
NetpLdapBind: ldap_bind failed on serverDC1.example.com: 81: Server Down NetpJoinCreatePackagePart: status:0x3a. NetpJoinDomainOnDs: Function exits with status of: 0x3a NetpJoinDomainOnDs: status of disconnecting from '\\serverDC1.example.com': 0x0 NetpResetIDNEncoding: DnsDisableIdnEncoding(RESETALL) on 'example.com' returned 0x0 NetpJoinDomainOnDs: NetpResetIDNEncoding on 'example.com': 0x0 NetpDoDomainJoin: status: 0x3a
UDP 389 – LDAP:
NetpCheckDomainNameIsValid [ Exists ] for 'example.com' returned 0x54b NetpJoinDomainOnDs: Domain name is invalid, NetpValidateName returned: 0x54b NetpJoinDomainOnDs: Function exits with status of: 0x54b NetpJoinDomainOnDs: NetpResetIDNEncoding on '(null)': 0x0 NetpDoDomainJoin: status: 0x54b
UDP 53 – DNS:
如果不允许 UDP DNS 流量,则域加入工作流不会在 NetSetup.log 文件中创建任何输出。若要测试 DNS 服务器,请运行下列 PowerShell 命令:
**注意:**在您的命令中,请将 YourIPAddress 替换为您的 DNS 服务器的 IP 地址。
Test-DnsServer -IPAddress YourIPAddress
有关 NetSetup.log 错误代码的信息,请参阅 Microsoft 网站上的如何解决将基于 Windows 的计算机加入域时出现的错误。
使用事件查看器日志:
- 在 Windows 任务栏上,选择搜索,输入“事件查看器”,然后选择事件查看器以打开该工具。
- 在导航窗格中,展开 Windows 日志,然后选择系统。
- 查看日期和时间列,以确定域加入操作期间发生的事件。
相关信息
相关内容
- 已提问 6 个月前lg...
- AWS 官方已更新 1 年前
- AWS 官方已更新 2 年前