Виртуальный рабочий стол Azure Windows: сокращение расходов на инфраструктуру с помощью автоматического масштабирования

Служба виртуальных рабочих столов Azure Windows, предоставляемая Microsoft, предлагает услуги виртуализации приложений. Обратите внимание, что большую часть управления WVD необходимо выполнять с помощью модулей PowerShell. Портал Microsoft Azure не предоставляет панель управления, которую можно было бы использовать для выполнения задач, связанных с WVD, таких как выход пользователей из системы, добавление пользователей, принудительный выход пользователей из системы, удаление пользователей и т. д. Портал Azure также не позволяет настроить политику, которую можно было бы использовать для снижения затрат на инфраструктуру путем отключения узлов сеансов в зависимости от нагрузки. Я видел, как многие организации, внедрившие WVD, забывали разработать стратегию снижения стоимости инфраструктуры виртуальных рабочих столов Azure Windows. Вот где эта статья пригодится. Мы предоставим информацию организациям, которые ищут решение, которое можно использовать для реализации автоматического масштабирования для включения и выключения виртуальных машин в зависимости от определенных условий.
Общая реализация виртуального рабочего стола Azure Windows
В общей реализации Виртуального рабочего стола Windows Azure администратор WVD добавит необходимые компоненты, такие как создание пулов узлов, реализация узлов сеансов в арендаторе Виртуального рабочего стола Windows Azure и т. д. Например, если у вас есть 3000 пользователей, которые намерены использовать решение WVD, вы развернете 187 узлов сеансов при условии, что максимальное рассматриваемое ограничение на количество подключений узлов сеансов составляет 16 подключений на узел сеансов (3000/16=187). 16 подключений на узел сеанса зависят от ресурсов, выделенных виртуальным машинам узла сеанса. Однако если вы планируете развернуть виртуальные машины серии B для узлов сеансов, максимальное ограничение числа подключений на узел сеанса не должно превышать 16 подключений на узел сеанса. При определении размера среды WVD необходимо обратить внимание на следующие факторы:
- Количество пользователей, использующих решение Azure Virtual Desktop для Windows.
- Размер виртуальной машины Azure, развернутой для узлов сеансов.
Требуемые хосты сеансов по сравнению с дополнительными хостами на
Я видел, что большинство администраторов виртуальных рабочих столов Windows в Azure держат все узлы сеансов включенными в рабочее время, что, в свою очередь, приводит к дополнительным расходам на виртуальные машины Azure. Идея включения всех хостов сеансов в рабочее время, конечно же, состоит в том, чтобы избежать простоев бизнес-приложений. Хотя ваша цель состоит в том, чтобы обеспечить бесперебойную работу пользователей WVD, мы также должны помнить, что не все хосты сеансов будут использоваться в течение каждого часа, и не все пользователи будут активны в течение каждого часа.
Предположим, вы планируете поддерживать работу всех хостов сеансов с 5:00 до 23:00 и хотите, чтобы хосты сеансов были доступны с 5:00 до 23:00 для обслуживания любых входящих клиентских запросов, но не обязательно все ваши сотрудники будут подключаться в 5:00. am Некоторые пользователи могут подключаться в 6 утра, некоторые в 7 утра, а затем вы можете увидеть больше пользователей, подключающихся с 8 утра. Таким образом, если только 100 пользователей подключаются к решению WVD с 5 до 8 утра, в то время как все хосты сеансов подключены, это пустая трата денег. Вы просто не хотите, чтобы все хосты сеансов работали в течение дня. Прежде чем вы сможете начать снижать стоимость дополнительных хостов сеансов, необходимо учесть следующие моменты:
- Вам нужно найти способ выяснить, сколько хостов требуется в каждый час, по количеству активных пользователей.
- Вам нужно найти способ получить среднее количество подключений в каждый час.
- Вам необходимо получить представление о том, сколько пользователей остаются подключенными каждый час и есть ли отключенные пользователи в тот же час.
Вооружившись этой информацией, вы можете найти решение для автоматического масштабирования для WVD, которое поможет вам настроить необходимые параметры. Например, вы можете не захотеть принудительно отключать пользователей, если ваша стратегия автоматического масштабирования не говорит об этом. Точно так же вы можете настроить максимальное количество подключений на хост.
Автоматическое масштабирование и среда виртуальных рабочих столов Azure Windows
Обратите внимание, что Microsoft не предоставляет специального решения для автоматического масштабирования WVD, которое можно было бы использовать для включения или выключения узлов в зависимости от нагрузки. Я также заметил, что некоторые решения для автоматического масштабирования, доступные на рынке, не работают должным образом и вызывают перебои в работе службы виртуальных рабочих столов Azure Windows. Некоторые из решений автоматического масштабирования принудительно отключают пользователей. Например, если к хосту сеанса подключен только один пользователь, решение автоматического масштабирования может исключить этого пользователя и отключить хост. При рассмотрении решения для автоматического масштабирования необходимо учитывать следующие моменты:
- Предоставляет ли решение способ настройки политик для выбранных узлов сеансов? Например, вы можете захотеть включить автоматическое масштабирование для выбранных хостов сеансов, прежде чем вы планируете реализовать его для всех хостов сеансов WVD.
- Можно ли использовать это решение для настройки параметра выхода пользователя из системы и разрешить отключение пользователя перед отключением узлов сеанса?
- Может ли решение работать в режиме аудита в течение нескольких недель, чтобы увидеть, какие действия будут предприняты на основе заданных вами условий автоматического масштабирования?
- Предоставляет ли решение возможность отправлять электронные письма администраторам Azure WVD на разных уровнях? Например, отправьте электронное письмо с предупреждением, когда среднее количество подключений к хостам превышает 12, и критическое электронное письмо, когда количество подключений к хостам превышает 16 или более.
Важно: я видел некоторые решения для автоматического масштабирования, учитывающие загрузку ЦП хостов сеансов перед запуском действий для автоматического масштабирования. На мой взгляд, это плохая идея — учитывать загрузку ЦП хостов сеансов для автоматического масштабирования. Почему? Потому что у пользователя может быть запущено приложение на узле сеанса, которое может вызывать скачки ЦП.
Короче говоря, решение должно быть достаточно гибким, чтобы настраивать все параметры автоматического масштабирования, связанные с Azure WVD, чтобы организации могли настроить автоматическое масштабирование в соответствии со своими требованиями.
Чтобы получить активное количество пользователей за каждый час, мы можем либо выполнить команды PowerShell, либо использовать Wintellisys WVD Manager. Приведенные ниже команды PowerShell должны выполняться как часть задания PowerShell или планировщика заданий Windows, чтобы данные собирались каждый час и сохранялись в файле CSV для построения диаграмм.
Import-Module -Name "C:Program Files (x86)WindowsPowerShellModulesMicrosoft.RDInfra.RDPowershell1.0.1804.0Microsoft.RDInfra.RDPowershell.PSD1" $TenantID = $GlobalTenantID $UserName = $GlobalUserName $PassNow = $GLobalPassword $HourlyData = «C:TempHourlyData.CSV» $TenantName = «TechGenix» $PoolName = «TechGenixPool» $password = ConvertTo-SecureString $PassNow -AsPlainText -Force $Cred = New-Object Management.Automation.PSCredential ($Username, $password) Add-RdsAccount -DeploymentUrl "https://rdbroker.wvd.microsoft.com" -ServicePrincipal -AadTenantId $TenantID -Credential $Cred $Count = Get-RdsUserSession -TenantName $TenantName -HostPoolName $PoolName $ ThisHour = (Get-Date).Hour $STR = $ThisHour+","+$Count.Count.ToString() Add-Content $HourlyData $STR
В приведенном выше сценарии PowerShell, который взят из Wintellisys WVD Manager, вам необходимо внести некоторые изменения, как указано ниже:
- Укажите идентификатор клиента Azure WVD, имя пользователя и пароль для субъекта-службы, который будет использоваться для подключения к WVD.
- Измените имя клиента Azure WVD и имя пула в переменных $TenantName и $PoolName соответственно.
- Измените расположение CSV-файла, в котором будут храниться данные.
- Настройте сценарий PowerShell для запуска каждый час с помощью задания PowerShell или планировщика заданий Windows.
Другой способ получить вышеуказанные данные — использовать Wintellisys WVD Manager, который может указать количество активных пользователей в час и помочь вам сохранить исторические данные, как показано на снимке экрана ниже:
Wintellisys WVD Manager поставляется со встроенным анализатором затрат, который может помочь вам понять, сколько хостов необходимо по сравнению с тем, сколько хостов включено в течение каждого часа, как показано на снимке экрана ниже:
Как вы можете видеть на диаграмме выше, она показывает необходимое количество хостов и количество хостов, которые были включены в каждый час. Это ясно указывает на то, что в 4 часа утра было задействовано слишком много узлов сеансов, в то время как для обслуживания клиентских запросов Azure WVD требовалось лишь несколько узлов.
Чтобы помочь вам сэкономить средства и обеспечить доступность только необходимого количества узлов сеансов, вы можете разработать сценарий PowerShell, который ищет среднее количество сеансов на узел, количество активных пользователей в каждый час и логику, следует ли включить отключены или включены хосты сеансов. Разработка автоматического масштабирования — сложная часть, особенно для решений WVD. Wintellisys WVD Manager предоставляет диспетчер политик, который можно использовать для настройки параметров автоматического масштабирования, как показано на снимке экрана ниже:
Как видно на снимке экрана выше, вы можете настроить политику автоматического масштабирования либо в активном режиме, либо в режиме аудита, а также различные условия масштабирования, которые помогут вам настроить автоматическое масштабирование в соответствии с вашими требованиями. «VMs in Policy» показывает виртуальные машины, являющиеся частью политики. Политика будет выполняться только для виртуальных машин, которые являются частью текущей политики.