使用適用於 Azure 虛擬桌面的 Azure 自動化和 Azure Logic Apps 來調整工作階段主機
您可以藉由調整虛擬機器 (VM) 來降低 Azure 虛擬桌面部署總成本。 這表示在離峰使用時間將工作階段主機 VM 關閉並解除配置,然後在尖峰時間將 VM 恢復啟動並重新配置。
在本文中,您將了解以 Azure 自動化帳戶和 Azure Logic Apps 建立的調整工具,此工具可自動調整 Azure 虛擬桌面環境中的工作階段主機 VM。 若要了解如何使用調整工具,請參閱使用 Azure 自動化和 Azure Logic Apps 來設定工作階段主機的調整。
注意
Azure 虛擬桌面的原生自動調整解決方案通常適用於集區式和個人主機集區,並根據調整排程自動縮減或擴增工作階段主機 VM。 建議您使用自動調整來簡化設定。 如需詳細資訊,請參閱自動調整縮放方案。
縮放工具的運作方式
縮放工具可為想要最佳化其工作階段主機 VM 成本的客戶提供低成本的自動化選項。
您可以使用縮放工具來:
- 根據尖峰和離峰上班時間來排程啟動和停止 VM。
- 根據每個 CPU 核心的工作階段數目以擴增 VM。
- 在離峰時間縮減 VM,讓維持在執行狀態的工作階段主機 VM 數目最少。
縮放工具使用 Azure 自動化帳戶、PowerShell Runbook、Webhook 和邏輯應用程式的組合來運作。 當此工具執行時,邏輯應用程式會呼叫 Webhook 來啟動 Runbook。 然後 Runbook 會建立作業。
尖峰和離峰時段定義如下:
- 尖峰:預期達到使用者工作階段並行上限的時段。
- 離峰:預期達到使用者工作階段並行下限的時段。
在尖峰使用時間內,作業會檢查每個主機集區的目前工作階段數目和目前執行中工作階段主機的 VM 容量。 此作業會使用這項資訊,根據 CreateOrUpdateAzLogicApp.ps1 檔案定義的 SessionThresholdPerCPU 參數,推測執行中工作階段主機 VM 能否支援現有的工作階段。 如果工作階段主機 VM 無法支援現有的工作階段,此作業會啟動主機集區中的額外工作階段主機 VM。
注意
SessionThresholdPerCPU 不會限制 VM 上的工作階段數目。 此參數只會決定何時需要啟動新的 VM 以對連線進行負載平衡。 若要限制會話數目,您必須遵循指示來 據以設定 MaxSessionLimit 參數 。
在離峰使用時間,作業會根據 MinimumNumberOfRDSH 參數決定多少工作階段主機 VM 應關閉。 如果您將 LimitSecondsToForceLogOffUser 參數設定為非零的正值,此作業會將工作階段主機 VM 設定為清空模式,以防止新的工作階段連線到主機。 此作業接著會通知任何目前登入的使用者儲存其工作、等候所設定的時間長度,然後強制將使用者登出。當工作階段主機 VM 上所有的使用者工作階段都已登出後,此作業將會關閉 VM。 VM 關機之後,作業會重設其工作階段主機清空模式。
注意
如果您手動將工作階段主機 VM 設定為清空模式,此作業將不會管理工作階段主機 VM。 如果工作階段主機 VM 正在執行,而且設定為清空模式,則視為無法使用,迫使作業啟動其他 VM 來處理負載。 建議您先標記任何 Azure VM,再手動設定為清空模式。 稍後建立 Azure 邏輯應用程式排程器時,您可以使用 MaintenanceTagName 參數來命名標籤。 標籤有助於區分這些 VM 與縮放工具所管理的 VM。 設定維護標籤也能防止縮放工具變更 VM,直到您移除標籤為止。
如果您將 LimitSecondsToForceLogOffUser 參數設定為零,此作業會允許由指定的群組原則中的工作階段組態設定負責登出使用者工作階段。 若要查看這些群組原則,請移至 [電腦設定]>[原則]>[系統管理範本]>[Windows 元件]>[遠端桌面服務]>[遠端桌面工作階段主機]>[工作階段時間限制]。 如果工作階段主機 VM 上有任何使用中會話,此作業會讓工作階段主機 VM 繼續執行。 如果沒有任何作用中的工作階段,此作業會關閉工作階段主機 VM。
無論何時,此作業也會考慮主機集區的 MaxSessionLimit,以判斷目前的工作階段數目是否超過最大容量的 90%。 如果是這樣,此作業會啟動額外工作階段主機 VM。
作業會根據設定的週期間隔定期執行。 您可以根據 Azure 虛擬桌面環境的大小來變更此間隔,但記住,啟動和關閉 VM 需要一些時間,記得考慮延遲。 建議您將週期間隔設定為每 15 分鐘一次。
不過,此工具有下列限制:
- 此解決方案僅適用於集區式多重工作階段的工作階段主機 VM。
- 此解決方案管理任何區域中的 VM,但只能與 Azure 自動化帳戶和 Azure 邏輯應用程式在同一個訂用帳戶中使用。
- Runbook 中的作業執行時間最長 3 小時。 如果在主機集區中啟動或停止 VM 耗時超過此時間,作業會失敗。 如需詳細資訊,請參閱共用資源。
- 至少必須開啟一個 VM 或工作階段主機,縮放演算法才能正常運作。
- 縮放工具不支援根據 CPU 或記憶體來縮放。
- 只會縮放主機集區中的現有主機。 縮放工具不支援縮放新的工作階段主機。
注意
縮放工具針對其目前縮放的主機集區,控制負載平衡模式。 不論是尖峰或離峰時段,此工具都使用廣度優先負載平衡模式。