更新 Amazon WorkSpaces 的 DNS 服务器 - Amazon WorkSpaces
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

更新 Amazon WorkSpaces 的 DNS 服务器

如果在启动 WorkSpaces 后需要更新 Active Directory 的 DNS 服务器 IP 地址,则还必须使用新的 DNS 服务器设置来更新 WorkSpaces。

您可以通过下列方式之一,使用新的 DNS 设置更新 WorkSpaces:

  • 在更新 Active Directory 的 DNS 设置之前WorkSpaces,更新 上的 DNS 设置。

  • 在更新 Active Directory 的 DNS 设置WorkSpaces之后重新生成

我们建议在更新 Active Directory 中的 DNS 设置之前,先更新 WorkSpaces 上的 DNS 设置(如以下过程的步骤 1 中所述)。

如果要改为重新构建 WorkSpaces,请更新 Active Directory 中的 DNS 服务器 IP 地址之一(步骤 2),然后按照重建WorkSpace中的过程来重新构建您的WorkSpaces。 重建 WorkSpaces 后,请按照步骤 3 中的过程来测试您的 DNS 服务器更新。完成该步骤后,请更新 Active Directory 中第二个 DNS 服务器的 IP 地址,然后再次重新生成 WorkSpaces。请务必按照步骤 3 中的过程测试您的第二个 DNS 服务器更新。如 最佳实践部分中所述,我们建议一次更新您的 DNS 服务器 IP 地址。

最佳实践

在更新 DNS 服务器设置时,我们建议使用以下最佳实践:

  • 为避免断开连接和域资源不可访问,我们强烈建议在非高峰时间或计划的维护期内执行 DNS 服务器更新。

  • 请勿在 15 分钟前和更改 DNS 服务器设置后的 15 分钟内启动任何新的 WorkSpaces。

  • 在更新 DNS 服务器设置时,请一次更改一个 DNS 服务器 IP 地址。在更新第二个 IP 地址之前,验证第一个更新是否正确。我们建议执行以下过程(步骤 1步骤 2步骤 3)两次,一次更新一个 IP 地址。

步骤 1:更新 WorkSpaces 上的 DNS 服务器设置

在以下过程中,当前和新的 DNS 服务器 IP 地址值将如下所示:

  • 当前 DNS IP 地址:OldIP1OldIP2

  • 新的 DNS IP 地址:NewIP1NewIP2

注意

如果这是您第二次执行此过程,请将 OldIP1 替换为 OldIP2,将 NewIP1 替换为 NewIP2

如果您有多个 WorkSpaces,可以在 WorkSpaces 的 Active Directory OU 上应用组策略对象 (GPO),从而将以下注册表更新部署到 WorkSpaces。 有关使用 GPOs 的更多信息,请参阅管理您的 Windows WorkSpaces

您可以使用注册表编辑器或使用 Windows PowerShell 来进行这些更新。 本节介绍了这两个过程。

使用注册表编辑器更新 DNS 注册表设置

  1. 在 Windows WorkSpace 上,打开 Windows 搜索框,然后输入 registry editor 以打开注册表编辑器 (regedit.exe)。

  2. 当询问“你要允许此应用对你的设备进行更改吗?”时,选择

  3. 在注册表编辑器中,导航到以下注册表项:

    HKEY_LOCAL_MACHINE\\SOFTWARE\\Amazon\\SkyLight

  4. 打开 DomainJoinDns 注册表项。使用 OldIP1 更新 NewIP1,然后选择 OK (确定)

  5. 关闭注册表编辑器。

  6. 重启 WorkSpace,或重启服务 SkyLightWorkspaceConfigService。

    注意

    重新启动服务 SkyLightWorkspaceConfigService 后,网络适配器最多可能需要 1 分钟来反映更改。

  7. 继续执行步骤 2,并更新 Active Directory 中的 DNS 服务器设置,将 OldIP1 替换为 NewIP1

使用 PowerShell 更新 DNS 注册表设置

以下过程使用 PowerShell 命令更新您的注册表并重新启动服务 SkyLightWorkspaceConfigService。

  1. 在 Windows WorkSpace 上,打开 Windows 搜索框,然后输入 powershell。 选择 Run as Administrator (以管理员身份运行)

  2. 当询问“你要允许此应用对你的设备进行更改吗?”时,选择

  3. 在 PowerShell 窗口中,运行以下命令以检索当前 DNS 服务器 IP 地址。

    Get-ItemProperty -Path HKLM:\SOFTWARE\Amazon\SkyLight -Name DomainJoinDNS

    您应该会收到以下输出。

    DomainJoinDns : OldIP1,OldIP2
    PSPath        : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\SkyLight
    PSParentPath  : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Amazon
    PSChildName   : SkyLight
    PSDrive       : HKLM
    PSProvider    : Microsoft.PowerShell.Core\Registry
  4. 在 PowerShell 窗口中,运行以下命令以将 OldIP1 更改为 NewIP1。 目前,请确保按原样保留 OldIP2

    Set-ItemProperty -Path HKLM:\SOFTWARE\Amazon\SkyLight -Name DomainJoinDNS -Value "NewIP1,OldIP2"
  5. 运行以下命令以重新启动服务 SkyLightWorkspaceConfigService。

    restart-service -Name SkyLightWorkspaceConfigService
    注意

    重新启动服务 SkyLightWorkspaceConfigService 后,网络适配器最多可能需要 1 分钟来反映更改。

  6. 继续执行步骤 2,并更新 Active Directory 中的 DNS 服务器设置,将 OldIP1 替换为 NewIP1

如果您有多个 Linux WorkSpace,我们建议您使用配置管理解决方案来分发和实施策略。例如,您可以使用 AWS Opsworks for Chef AutomateAWS OpsWorks for Puppet EnterpriseAnsible

更新 Linux 上的 DNS 服务器设置 WorkSpace

  1. 在 Linux WorkSpace 上,打开终端窗口(Applications (应用程序) > System Tools (系统工具) > MATE Terminal (MATE 终端))。

  2. 使用以下 Linux 命令编辑 /etc/dhcp/dhclient.conf 文件。您必须具有根用户权限才能编辑此文件。使用 sudo -i 命令变为根,或使用 sudo 执行所有命令,如下所示。

    sudo vi /etc/dhcp/dhclient.conf

    /etc/dhcp/dhclient.conf 文件中,您将看到以下 prepend 命令,其中 OldIP1OldIP2 是 DNS 服务器的 IP 地址。

    prepend domain-name-servers OldIP1, OldIP2; # skylight
  3. OldIP1 替换为 NewIP1,并保持 OldIP2 不变。

  4. 将您的更改保存到 /etc/dhcp/dhclient.conf

  5. 重启 WorkSpace。

  6. 继续执行步骤 2,并更新 Active Directory 中的 DNS 服务器设置,将 OldIP1 替换为 NewIP1

步骤 2:更新 Active Directory 的 DNS 服务器设置

在此步骤中,您将更新 Active Directory 的 DNS 服务器设置。如最佳实践部分中所述,我们建议一次更新您的 DNS 服务器 IP 地址。

要更新 Active Directory 的 DNS 服务器设置,请参阅 AWS Directory Service Administration Guide 中的以下文档:

更新 DNS 服务器设置后,请继续执行步骤 3

步骤 3:测试更新的 DNS 服务器设置

完成步骤 1步骤 2 后,使用以下过程验证更新的 DNS 服务器设置是否按预期运行。

在以下过程中,当前和新的 DNS 服务器 IP 地址值将如下所示:

  • 当前 DNS IP 地址:OldIP1OldIP2

  • 新的 DNS IP 地址:NewIP1NewIP2

注意

如果这是您第二次执行此过程,请将 OldIP1 替换为 OldIP2,将 NewIP1 替换为 NewIP2

  1. 关闭 OldIP1 DNS 服务器。

  2. 登录 Windows WorkSpace。

  3. 在 Windows 开始菜单上,选择 Windows 系统,然后选择命令提示符

  4. 运行以下命令,其中 AD_Name 是 Active Directory 的名称(例如,corp.example.com)。

    nslookup AD_Name

    命令应返回以下输出。nslookup(如果这是您第二次执行此过程,您应看到 NewIP2 代替 OldIP2。)

    Server:  Full_AD_Name
    Address:  NewIP1
    
    Name:    AD_Name
    Addresses:  OldIP2
              NewIP1
  5. 如果输出不符合您的预期,或者您收到任何错误,请重复步骤 1

  6. 等待一个小时并确认没有报告任何用户问题。验证 NewIP1 正在获取 DNS 查询并使用应答进行响应。

  7. 在确认第一个 DNS 服务器正常工作后,请重复步骤 1 以更新第二个 DNS 服务器,这次请将 OldIP2 替换为 NewIP2。 然后重复步骤 2 和步骤 3。

  1. 关闭 OldIP1 DNS 服务器。

  2. 登录 Linux WorkSpace。

  3. 在 Linux WorkSpace 上,打开终端窗口(Applications (应用程序) > System Tools (系统工具) > MATE Terminal (MATE 终端))。

  4. DHCP 响应中返回的 DNS 服务器 IP 地址将写入到 /etc/resolv.conf 上的本地 WorkSpace 文件中。 运行以下命令以查看 /etc/resolv.conf 文件的内容。

    cat /etc/resolv.conf

    您应当看到如下输出。(如果这是您第二次执行此过程,您应看到 NewIP2 代替 OldIP2。)

    ; This file is generated by Amazon WorkSpaces
    ; Modifying it can make your WorkSpace inaccessible until reboot
    options timeout:2 attempts:5
    ; generated by /usr/sbin/dhclient-script
    search region.compute.internal
    nameserver NewIP1
    nameserver OldIP2
    nameserver WorkSpaceIP
    注意

    如果您手动修改 /etc/resolv.conf 文件,这些更改将在 WorkSpace重新启动时丢失。

  5. 如果输出不符合您的预期,或者您收到任何错误,请重复步骤 1

  6. 实际的 DNS 服务器 IP 地址存储在 /etc/dhcp/dhclient.conf 文件中。要查看此文件的内容,请运行以下命令。

    sudo cat /etc/dhcp/dhclient.conf

    您应当看到如下输出。(如果这是您第二次执行此过程,您应看到 NewIP2 代替 OldIP2。)

    # This file is generated by Amazon WorkSpaces
    # Modifying it can make your WorkSpace inaccessible until rebuild
    prepend domain-name-servers NewIP1, OldIP2; # skylight
  7. 等待一个小时并确认没有报告任何用户问题。验证 NewIP1 正在获取 DNS 查询并使用应答进行响应。

  8. 在确认第一个 DNS 服务器正常工作后,请重复步骤 1 以更新第二个 DNS 服务器,这次请将 OldIP2 替换为 NewIP2。 然后重复步骤 2 和步骤 3。