跳至内容

为什么我无法将我的 Amazon EC2 Windows 实例无缝加入 AWS Managed Microsoft AD 目录?

3 分钟阅读
0

我无法将我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例无缝加入 AWS Directory Service for Microsoft Active Directory。

解决方法

**注意:**如果您将 Amazon Virtual Private Cloud (Amazon VPC) 接口端点用于 AWS Systems Manager,那么 Windows Server 实例仍然可以加入域。但是,VPC 端点必须允许访问 AWS Managed Microsoft AD API 和域控制器。有关详细信息,请参阅 VPC 端点限制和局限

验证您的操作系统

确认您使用的是 Systems Manager 支持的操作系统 (OS)

验证您的 IAM 角色策略

要验证您的 AWS Identity and Access Management (IAM) 角色是否已附加正确的托管策略,请完成以下步骤:

  1. 打开 IAM 控制台
  2. 在导航窗格中,选择 Roles(角色)。
  3. 选择与您的 EC2 实例关联的 IAM 角色的 Role name(角色名称)。
  4. 选择 Permissions(权限)选项卡。
  5. 对于 Permissions policies(权限策略),确认您已附加 AmazonSSMDirectoryServiceAccessAmazonSSMManagedInstanceCore 策略。
  6. 如果您未附加这些权限策略,请选择 Add permissions(添加权限)。
  7. 选择 Attach policies(附加策略)。
  8. 在搜索栏中输入策略名称,然后选择缺少的策略。
  9. 选择 Add permissions(添加权限)。

验证所需端口是否已打开

目录的安全组必须允许端口 53、88 和 389。

要找到并查看目录的安全组,请完成以下步骤:

  1. 打开 Amazon EC2 控制台
  2. 在导航窗格中,选择 Security Groups(安全组)。
  3. Security group name(安全组名称)下,搜索 directoryid_controllersdirectoryid 的值即为您的目录 ID。例如,在 d-1234567891_controllers 中,目录 ID 为 d-1234567891
  4. 选择目录控制器安全组的 Security group ID(安全组 ID)。
  5. 选择 Inbound rules(入站规则)和 Outbound rules(出站规则)选项卡以查看端口信息。如果缺少所需的端口,则将该端口添加到安全组
  6. 对连接到 EC2 实例的安全组重复步骤 2-5。确认实例的安全组允许出站连接到 directoryid_controllers 安全组。

要测试域与所需端口的连接,您可以使用 PortQry 命令行工具。有关更多信息,请参阅 Microsoft 网站上的 Using the PortQry command-line tool(使用 PortQry 命令行工具)

验证您的实例上的 DNS 服务器是否指向目录的 DNS 服务器

要查看实例上的网络适配器配置,请运行以下命令:

ipconfig /all

在输出中,检查 DNS 服务器列出的 IP 地址。

然后,完成以下步骤,找到目录的 DNS 服务器:

  1. 打开 AWS Directory Service 控制台
  2. 在导航窗格中,选择 Directories(目录)。
  3. 选择您的目录的 Directory ID(目录 ID)。
  4. 确保 DNS address(DNS 地址)的值与 ipconfig 输出中的 IP 地址相匹配。如果二者不匹配,则必须将 DNS 服务器加入您的实例。

要将 DNS 服务器加入您的实例,请完成以下步骤:

  1. 使用远程桌面协议 (RDP) 连接到您的实例

  2. 运行以下命令打开 Network Connections(网络连接):

    %SystemRoot%\system32\control.exe ncpa.cpl
  3. 打开任意激活网络连接的上下文(右键单击)菜单,然后选择 Properties(属性)。

  4. 在 **Connection Properties(连接属性)**对话框中,打开(双击)Internet Protocol Version 4(互联网协议版本 4)。

  5. 选择 Use the following DNS server addresses(使用以下 DNS 服务器地址)。

  6. 对于 Preferred DNS server(首选 DNS 服务器)和 Alternate DNS server(备用 DNS 服务器),输入 AWS Managed Microsoft AD 提供的 DNS 服务器的 IP 地址,然后选择 OK(确定)。

确认您可以从实例解析域名

要确认您可以从实例解析域名,请根据您的命令行运行以下命令之一。

PowerShell:

Resolve-DnsName domainname

命令提示符:

nslookup domainname

**注意:**请将 domainname 替换为您的域名。

检查 DNS 服务器配置

验证您是否已正确配置实例的 DNS 服务器。运行以下命令,检查实例是否可以找到目标域中的域控制器并与之通信:

nltest /dsgetdc:domainname /force

**注意:**请将 domainname 替换为 DNS 名称,而不是 NetBIOS 名称。例如,对于域 example.com,DNS 名称是 example.com,NetBIOS 名称是 example。有关此命令的更多信息,请参阅 Microsoft 网站上的 Nltest

如果您在输出中收到错误消息,请对错误中列出的问题进行故障排除。

验证实例是否为托管实例

只有托管实例才能加入 Active Directory。

完成以下步骤,验证您的实例是否为 Fleet Manager(AWS Systems Manager 的一项功能)中的托管实例:

  1. 打开 Systems Manager 控制台
  2. 在导航窗格中,选择 Fleet Manager
  3. 选择 Managed nodes(托管节点)选项卡。
  4. 确认实例已列出且处于联机状态。如果找不到该实例,请参阅为什么 Systems Manager 没有将我的 Amazon EC2 实例显示为托管实例?

确认实例具有状态管理器关联

例如,对于实例,awsconfig_Domain_directoryid_domainname 文档必须与状态管理器(AWS Systems Manager 的一项功能)存在关联。

要检查状态管理器关联是否存在问题,请完成以下步骤:

  1. 打开 Systems Manager 控制台
  2. 在导航窗格中,选择 State Manager(状态管理器)。
  3. 在搜索栏中,选择 Instance Id(实例 ID)和 Equal(等于),然后输入实例 ID。
  4. 选择关联 ID。
  5. 确认 Status(状态)为 Success(成功),然后选择 Execution history(执行历史记录)以检查其他关联执行的状态。
    如果 Status(状态)为 Failed(失败),请依次选择 Execution id(执行 ID)、Output(输出),查看输出详细信息并确定问题的原因。
    如果 Status(状态)为 Pending(待处理),请检查 EC2 实例上的日志是否存在错误消息,以便帮助您确定问题的原因。有关说明,请继续查看日志以查找错误消息

检查是否可以手动将实例加入域

确保您已将 AWS 账户配置为具有将计算机对象添加到域所需的权限

**注意:**要创建新的 Windows 实例,请使用 Microsoft 工具 Sysprep 创建标准化的亚马逊机器映像 (AMI)

查看日志以查找错误消息

如果您仍然无法加入域,请查看以下实例日志中是否存在错误消息。

SSM Agent 日志

检查 AWS Systems Manager Agent (SSM Agent) 日志

Netsetup.log 文件

要打开日志文件,请在命令提示符中运行以下命令:

%windir%\debug\netsetup.log

要对 NetSetup.log 错误进行故障排除,请参阅 Microsoft 网站上的 Troubleshoot networking errors that occur when you join Windows-based computers to a domain(排查将基于 Windows 的计算机加入域时发生的网络错误)

如果您的安全组或防火墙阻止了 UDP 流量,则域加入工作流不会在 NetSetup.log 文件中创建输出。要测试与 DNS 服务器的 DNS 连接,请运行以下 PowerShell 命令:

Test-DnsServer -IPAddress YourIPAddress

**注意:**请将 YourIPAddress 替换为您的 DNS 服务器的 IP 地址。

事件查看器日志

要检查 Event Viewer(事件查看器)日志,请完成以下步骤:

  1. 选择 Start(开始)菜单,然后输入 Event viewer(事件查看器)。
  2. 选择 Event Viewer(事件查看器)。
  3. 在导航窗格中,展开 Windows Logs(Windows 日志),然后选择 System(系统)。
  4. 查看 Date and Time(日期和时间)列,确定域加入操作期间发生的事件。

要进一步对问题进行故障排除,请参阅 Microsoft 网站上的 Active Directory domain join troubleshooting guidance(Active Directory 域加入问题排除指南)

相关信息

将 Amazon EC2 实例加入您的 AWS Managed Microsoft AD 的方法

将 Amazon EC2 Windows 实例加入您的 AWS Managed Microsoft AD Active Directory

AWS 官方已更新 8 个月前