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

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

更新亚马逊的 DNS 服务器 WorkSpaces

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

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

  • 在更新 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 服务器更新。

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

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

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

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

  • 当前 DNS IP 地址:OldIP1OldIP2

  • 新的 DNS IP 地址:NewIP1NewIP2

注意

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

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

您可以使用注册表编辑器或 Windows 进行这些更新 PowerShell。本节将介绍这两种程序。

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

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

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

    HKEY_LOCAL_MACHINE\ 软件\ 亚马逊\SkyLight

  4. 打开DomainJoinDns注册表项。更新OldIP1NewIP1,然后选择 “确定”

  5. 关闭注册表编辑器。

  6. 重新启动 WorkSpace或重新启动服务 SkyLightWorkspaceConfigService。

    注意

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

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

使用更新 DNS 注册表设置 PowerShell

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

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

  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 窗口中,运行以下命令将其更改OldIP1NewIP1。现在一定要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,我们建议您使用配置管理解决方案来分发和实施策略。例如,您可以使用Amazon OpsWorks for Chef AutomateAmazon OpsWorks for Puppet Enterprise、或 Ansible

在 Linux 上更新 DNS 服务器设置 WorkSpace
  1. 在 Linux 上 WorkSpace,打开终端窗口(应用程序 > 系统工具 > MATE 终端)。

  2. 使用以下 Linux 命令编辑该/etc/dhcp/dhclient.conf文件。您必须拥有 root 用户权限才能编辑此文件。要么使用sudo -i命令成为 root 用户,要么使用sudo如下所示运行所有命令。

    sudo vi /etc/dhcp/dhclient.conf

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

    prepend domain-name-servers OldIP1, OldIP2; # skylight
  3. OldIP1替换OldIP2NewIP1,然后暂时保持原样。

  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 服务器设置,请参阅《Amazon Directory Service管理指南》中的以下文档:

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

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

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

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

  • 当前 DNS IP 地址:OldIP1OldIP2

  • 新的 DNS IP 地址:NewIP1NewIP2

注意

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

  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,打开终端窗口(应用程序 > 系统工具 > 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。