Dimensionar hosts da sessão usando a Automação do Azure e os Aplicativos Lógicos do Azure para Área de Trabalho Virtual do Azure

É possível reduzir o custo total de implantação da Área de Trabalho Virtual do Azure, dimensionando suas VMs (máquinas virtuais). Isso significa desligar e desalocar VMs de host da sessão fora do horário de pico de uso, voltar a ligá-las e realocá-las durante os horários de pico.

Neste artigo, você conhecerá a ferramenta de dimensionamento criada com a conta da Automação do Azure e os Aplicativos Lógicos do Azure, que dimensionarão automaticamente os hosts da sessão da VM no seu ambiente da Área de Trabalho Virtual do Azure. Para saber como usar a ferramenta de dimensionamento, confira Configurar o dimensionamento de hosts da sessão usando a Automação do Azure e os Aplicativos Lógicos do Azure.

Observação

A solução de Dimensionamento automático nativa da Área de Trabalho Virtual do Azure está em disponibilidade geral para pools de hosts pessoais e em pool e reduzirá horizontalmente e expandirá de forma automática as VMs de host de sessão ou saída com base no agendamento da escala. É recomendável usar o Dimensionamento automático para facilitar a configuração. Para mais informações, confira Planos de colocação em escala de dimensionamento automático.

Como funciona a ferramenta de dimensionamento

A ferramenta de dimensionamento fornece uma opção de automação de baixo custo para os clientes que desejam otimizar os custos de VM dos hosts da sessão.

A ferramenta de dimensionamento pode ser usada para:

  • Agendar o início e o término das VMs com base nos horários comerciais de pico e fora de pico.
  • Distribuir as VMs com base no número de sessões por núcleo de CPU.
  • Escale as VMs fora dos horários de pico, deixando o mínimo de VMs de host da sessão em execução.

A ferramenta de dimensionamento usa a combinação de uma conta da Automação do Azure, um runbook do PowerShell, um webhook e um Aplicativo Lógico para funcionar. Quando a ferramenta é executada, o Aplicativo Lógico chama um webhook para iniciar o runbook. O runbook então cria um trabalho.

Os horários de pico e fora de pico são definidos como:

  • Pico: os horários em que se espera a máxima simultaneidade na sessão do usuário.
  • Fora do pico: os horários em que se espera a mínima simultaneidade na sessão do usuário.

Durante o período de uso de pico, o trabalho verifica o número atual de sessões e a capacidade da VM do host da sessão em execução atual para cada pool de hosts. Ele usa essas informações para calcular se as VMs host de sessão que estão em execução dão conta das sessões existentes com base no parâmetro SessionThresholdPerCPU definido para o arquivo CreateOrUpdateAzLogicApp.ps1. Se as VMs de host da sessão não derem conta das sessões existentes, o trabalho iniciará VMs de host da sessão adicionais no pool de hosts.

Observação

SessionThresholdPerCPU não restringe o número de sessões na VM. Esse parâmetro determina apenas quando novas VMs precisam ser iniciadas para equilibrar a carga das conexões. Para restringir o número de sessões, siga as instruções Update-AzWvdHostPool para configurar adequadamente o parâmetro MaxSessionLimit.

Durante o período de uso fora de pico, o trabalho determina quais VMs host de sessão devem ser desligadas com base no parâmetro MinimumNumberOfRDSH. Se você definir o parâmetro LimitSecondsToForceLogOffUser para um valor positivo diferente de zero, o trabalho colocará as VMs host de sessão no modo de descarga para impedir que novas sessões se conectem aos hosts. O trabalho, então, enviará uma notificação solicitando que todos os usuários que estiverem conectados salvem seus trabalhos, esperará o período configurado e, em seguida, forçará os usuários a se desconectarem. Quando todas as sessões de usuário na VM host da sessão tiverem sido desconectadas, o trabalho desligará a VM. Depois que a VM for desligada, o trabalho redefinirá o modo de drenagem de host da sessão.

Observação

Se você definir manualmente a VM host da sessão para o modo de descarga, o trabalho não gerenciará essa VM. Se a VM host da sessão estiver em execução e definida para o modo de descarga, ela será tratada como indisponível, o que fará com que o trabalho inicie VMs adicionais para lidar com a carga. Recomendamos que você marque todas as VMs do Azure antes de ajustá-las manualmente para o modo de descarga. Você pode nomear a marca com o parâmetro MaintenanceTagName ao criar o Agendador de Aplicativos Lógicos do Azure mais tarde. As marcas ajudarão você a distinguir essas VMs das gerenciadas pela ferramenta de dimensionamento. Definir a marca de manutenção também impede que a ferramenta de dimensionamento faça alterações na VM até que você remova a marca.

Se o parâmetro LimitSecondsToForceLogOffUser for definido como zero, o trabalho permitirá que a definição de configuração de sessão nas políticas de grupo especificadas manipule a desconexão das sessões de usuário. Para ver essas políticas de grupo, vá para Configuração do Computador>Políticas>Modelos Administrativos>Componentes do Windows>Serviços de Área de Trabalho Remota>Host da sessão da Área de Trabalho Remota>Limites de Tempo de Sessão. Se houver sessões ativas em uma VM de host da sessão, o trabalho deixará a VM de host da sessão em execução. Se não houver sessões ativas, o trabalho desligará a VM host da sessão.

Durante todo o tempo, o trabalho também leva o MaxSessionLimit do pool de hosts em conta para determinar se o número atual de sessões excede os 90% da capacidade máxima. Se for o caso, o trabalho iniciará VMs adicionais do host da sessão.

O trabalho é executado periodicamente com base em um intervalo de recorrência definido. Esse intervalo pode ser alterado com base no tamanho do ambiente da Área de Trabalho Virtual do Azure, mas lembre-se de que iniciar e desligar máquinas virtuais pode levar tempo; portanto, leve em conta esse atraso. É recomendável definir o intervalo de recorrência para ocorrer a cada 15 minutos.

No entanto, a ferramenta também tem as seguintes limitações:

  • Essa solução se aplica somente a VMs host de sessão multissessão em um pool.
  • Essa solução gerencia VMs em qualquer região, mas só pode ser usada na mesma assinatura que sua conta da Automação do Azure e dos Aplicativos Lógicos do Azure.
  • O tempo máximo de execução de um trabalho no runbook é de 3 horas. Se iniciar ou parar as VMs no pool de hosts demorar mais do que isso, o trabalho falhará. Para obter mais informações, confira Recursos compartilhados.
  • Pelo menos um host de sessão, ou VM, precisa ser ativado para que o algoritmo de dimensionamento funcione corretamente.
  • A ferramenta de dimensionamento não dá suporte ao dimensionamento com base na CPU ou na memória.
  • O dimensionamento funciona apenas com hosts existentes no pool de hosts. A ferramenta de dimensionamento não dá suporte ao dimensionamento de novos hosts de sessão.

Observação

A ferramenta de dimensionamento controla o modo de balanceamento de carga do pool de hosts que está dimensionando. Ela o define para o balanceamento de carga em largura para os horários de pico e fora de pico.

Próximas etapas