更新 Amazon WorkSpaces 的 DNS 伺服器 - Amazon WorkSpaces

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

更新 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 伺服器更新。

  • 請勿在變更 DNS 伺服器設定的前 15 分鐘和後 15 分鐘內啟動任何新的 WorkSpaces。

  • 更新 DNS 伺服器設定時,請一次變更一個 DNS 伺服器 IP 位址。在更新第二個 IP 位址之前,請先確認第一次更新正確無誤。我們建議您執行下列程序兩次 (步驟 1步驟 2步驟 3),以便一次更新一個 IP 位址。

步驟 1:更新 WorkSpaces 上的 DNS 伺服器設定

在下列程序中,目前和新的 DNS 伺服器 IP 位址值參考如下:

  • 目前的 DNS IP 位址:OldIP1OldIP2

  • 新的 DNS IP 位址:NewIP1NewIP2

注意

如果這是您第二次執行此程序,請以 OldIP2 取代 OldIP1 和以 NewIP2 取代 NewIP1

如果您有多個 WorkSpaces,您可以在 WorkSpaces 的 Active Directory OU 上套用群組政策物件 (GPO),將下列登錄更新部署至 WorkSpaces。如需使用 GPO 的詳細資訊,請參閱 管理您的視窗 WorkSpaces

您可以使用登錄編輯程式或使用 Windows PowerShell 進行這些更新。本節將說明這兩個程序。

使用登錄編輯程式更新 DNS 登錄設定
  1. 在 Windows WorkSpace 上,開啟 Windows 搜尋方塊,然後輸入 registry editor 以開啟登錄編輯程式 (regedit.exe)。

  2. 當系統詢問「您要允許此應用程式對裝置進行變更嗎?」時,請選擇

  3. 在登錄編輯程式中,導覽至下列登錄項目:

    HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\SkyLight

  4. 開啟 DomainJoinDns 登錄機碼。使用 NewIP1 更新 OldIP1,然後選擇確定

  5. 關閉登錄編輯程式。

  6. 重新啟動 WorkSpace,或重新啟動 SkyLightWorkspaceConfigService 服務。

    注意

    重新啟動 SkyLightWorkspaceConfigService 服務之後,網路介面卡最多可能需要 1 分鐘才會反映變更。

  7. 繼續進行步驟 2,並在 Active Directory 中更新 DNS 伺服器設定以使用 NewIP1 取代 OldIP1

使用 PowerShell 更新 DNS 登錄設定

下列程序會使用 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 視窗中,執行下列命令,將 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 伺服器設定以使用 NewIP1 取代 OldIP1

如果您有多個 Linux WorkSpace,建議您使用組態管理解決方案來散發和強制執行政策。例如,您可以使用 AWS OpsWorks for Chef AutomateAWS OpsWorks for Puppet EnterpriseAnsible

在 Linux WorkSpace 上更新 DNS 伺服器設定
  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. NewIP1 取代 OldIP1,並且暫時將 OldIP2 保持原樣。

  4. 將您的變更儲存至 /etc/dhcp/dhclient.conf

  5. 重新啟動 WorkSpace。

  6. 繼續進行步驟 2,並在 Active Directory 中更新 DNS 伺服器設定以使用 NewIP1 取代 OldIP1

步驟 2:更新 Active Directory 的 DNS 伺服器設定

在此步驟中,您會更新 Active Directory 的 DNS 伺服器設定。如最佳實務一節所述,建議您一次更新一個 DNS 伺服器 IP 位址。

若要更新 Active Directory 的 DNS 伺服器設定,請參閱《AWS Directory Service 管理指南》中的下列文件:

更新 DNS 伺服器設定之後,請繼續執行步驟 3

步驟 3:測試已更新的 DNS 伺服器設定

完成步驟 1步驟 2 之後,請使用下列程序來確認已更新的 DNS 伺服器設定是否如預期般運作。

在下列程序中,目前和新的 DNS 伺服器 IP 位址值參考如下:

  • 目前的 DNS IP 位址:OldIP1OldIP2

  • 新的 DNS IP 位址:NewIP1NewIP2

注意

如果這是您第二次執行此程序,請以 OldIP2 取代 OldIP1 和以 NewIP2 取代 NewIP1

  1. 關閉 OldIP1 DNS 伺服器。

  2. 登入 Windows WorkSpace。

  3. 在 Windows Start (開始) 功能表,選擇 Windows System (Windows 系統),然後選擇 Command Prompt (命令提示字元)

  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 伺服器,這次會以 NewIP2 取代 OldIP2。然後重複步驟 2 和步驟 3。

  1. 關閉 OldIP1 DNS 伺服器。

  2. 登入 Linux WorkSpace。

  3. 在 Linux WorkSpace 上,開啟終端視窗 (應用程式 > 系統工具 > MATE 終端)。

  4. DHCP 回應中傳回的 DNS 伺服器 IP 位址會寫入 WorkSpace 上的本機 /etc/resolv.conf 檔案。執行下列命令以檢視 /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 伺服器,這次會以 NewIP2 取代 OldIP2。然後重複步驟 2 和步驟 3。