Sessiehosts schalen met Behulp van Azure Automation en Azure Logic Apps voor Azure Virtual Desktop

U kunt de totale implementatiekosten van Azure Virtual Desktop verlagen door uw virtuele machines (VM's) te schalen. Dit betekent dat vm's voor sessiehosts worden afgesloten en toegewezen tijdens daluren, en deze vervolgens weer inschakelen en opnieuw toewijzen tijdens piekuren.

In dit artikel vindt u informatie over het schaalprogramma dat is gebouwd met het Azure Automation-account en Azure Logic Apps waarmee sessiehost-VM's automatisch worden geschaald in uw Azure Virtual Desktop-omgeving. Zie Schalen van sessiehosts instellen met behulp van Azure Automation en Azure Logic Apps voor meer informatie over het gebruik van het schaalprogramma.

Notitie

De systeemeigen oplossing voor automatische schaalaanpassing van Azure Virtual Desktop is algemeen beschikbaar voor pool- en persoonlijke hostpools en wordt automatisch in- of uitschalen van sessiehost-VM's op basis van schaalschema. U wordt aangeraden automatische schaalaanpassing te gebruiken voor een eenvoudigere configuratie. Zie Abonnementen voor automatisch schalen voor meer informatie.

Hoe het schaalprogramma werkt

Het schaalprogramma biedt een voordelige automatiseringsoptie voor klanten die hun vm-kosten voor sessiehosts willen optimaliseren.

U kunt het schaalprogramma gebruiken om het volgende te doen:

  • Vm's plannen om te starten en stoppen op basis van piek- en daluren.
  • Vm's uitschalen op basis van het aantal sessies per CPU-kern.
  • Schaal vm's in tijdens daluren, waardoor het minimum aantal sessiehost-VM's actief blijft.

Het hulpprogramma voor schalen maakt gebruik van een combinatie van een Azure Automation-account, een PowerShell-runbook, een webhook en een logische app om te functioneren. Wanneer het hulpprogramma wordt uitgevoerd, roept de logische app een webhook aan om het runbook te starten. Het runbook maakt vervolgens een taak.

Piek- en daluren worden gedefinieerd als:

  • Piek: het tijdstip waarop de maximale gelijktijdigheid van gebruikerssessies naar verwachting wordt bereikt.
  • Off-peak: de tijd waarop minimale gelijktijdigheid van gebruikerssessies naar verwachting wordt bereikt.

Tijdens de piektijd controleert de taak het huidige aantal sessies en de VM-capaciteit van de huidige actieve sessiehost voor elke hostgroep. Deze informatie wordt gebruikt om te berekenen of de actieve sessiehost-VM's bestaande sessies kunnen ondersteunen op basis van de parameter SessionThresholdPerCPU die is gedefinieerd voor het bestand CreateOrUpdateAzLogicApp.ps1 . Als de sessiehost-VM's bestaande sessies niet kunnen ondersteunen, start de taak extra sessiehost-VM's in de hostgroep.

Notitie

SessionThresholdPerCPU beperkt het aantal sessies op de virtuele machine niet. Deze parameter bepaalt alleen wanneer nieuwe VM's moeten worden gestart om de verbindingen te verdelen. Als u het aantal sessies wilt beperken, moet u de instructies Update-AzWvdHostPool volgen om de parameter MaxSessionLimit dienovereenkomstig te configureren.

Tijdens de daltijd bepaalt de taak hoeveel sessiehost-VM's moeten worden afgesloten op basis van de parameter MinimumNumberOfRDSH . Als u de parameter LimitSecondsToForceLogOffUser instelt op een niet-nul-positieve waarde, stelt de taak de vm's van de sessiehost in op de leegloopmodus om te voorkomen dat nieuwe sessies verbinding maken met de hosts. De taak informeert vervolgens alle momenteel aangemelde gebruikers om hun werk op te slaan, de geconfigureerde hoeveelheid tijd te wachten en vervolgens af te dwingen dat gebruikers zich afmelden. Zodra alle gebruikerssessies op de sessiehost-VM zijn afgemeld, wordt de vm afgesloten. Nadat de VM is afgesloten, wordt de sessiehostmodus opnieuw ingesteld.

Notitie

Als u de sessiehost-VM handmatig instelt op de leegloopmodus, beheert de taak de sessiehost-VM niet. Als de sessiehost-VM wordt uitgevoerd en is ingesteld op de leegloopmodus, wordt deze behandeld als niet beschikbaar, waardoor de taak extra VM's start om de belasting te verwerken. U wordt aangeraden virtuele Azure-machines te taggen voordat u ze handmatig instelt op de afvoermodus. U kunt de tag een naam geven met de parameter MaintenanceTagName wanneer u later Azure Logic App Scheduler maakt. Met tags kunt u deze VM's onderscheiden van de vm's die door het schaalprogramma worden beheerd. Als u de onderhoudstag instelt, voorkomt u ook dat het schaalprogramma wijzigingen aanbrengt in de VIRTUELE machine totdat u de tag verwijdert.

Als u de parameter LimitSecondsToForceLogOffUser instelt op nul, staat de taak de instelling voor sessieconfiguratie in het opgegeven groepsbeleid toe om het afmelden van gebruikerssessies af te handelen. Als u deze groepsbeleid wilt zien, gaat u naar Computerconfiguratiebeleid>> Beheer istratieve sjablonen>Windows-onderdelen>Extern bureaublad-services>Extern bureaublad-sessie host>sessie tijdlimieten. Als er actieve sessies zijn op een sessiehost-VM, laat de taak de sessiehost-VM actief. Als er geen actieve sessies zijn, wordt de sessiehost-VM afgesloten.

Op elk gewenst moment neemt de taak ook de MaxSessionLimit van de hostgroep in aanmerking om te bepalen of het huidige aantal sessies meer dan 90% van de maximale capaciteit is. Als dat zo is, start de taak vm's met extra sessiehosts.

De taak wordt periodiek uitgevoerd op basis van een set terugkeerpatroon. U kunt dit interval wijzigen op basis van de grootte van uw Azure Virtual Desktop-omgeving, maar vergeet niet dat het starten en afsluiten van VM's enige tijd kan duren, dus vergeet niet om rekening te houden met de vertraging. U wordt aangeraden het terugkeerinterval in te stellen op elke 15 minuten.

Het hulpprogramma heeft echter ook de volgende beperkingen:

  • Deze oplossing is alleen van toepassing op gepoolde sessiehost-VM's met meerdere sessies.
  • Deze oplossing beheert VM's in elke regio, maar kan alleen worden gebruikt in hetzelfde abonnement als uw Azure Automation-account en Azure Logic App.
  • De maximale runtime van een taak in het runbook is 3 uur. Als het starten of stoppen van de VM's in de hostgroep langer duurt, mislukt de taak. Zie Gedeelde resources voor meer informatie.
  • Ten minste één VM of sessiehost moet zijn ingeschakeld om het schaalalgoritmen goed te laten werken.
  • Het hulpprogramma voor schalen biedt geen ondersteuning voor schalen op basis van CPU of geheugen.
  • Schalen werkt alleen met bestaande hosts in de hostgroep. Het hulpprogramma voor schalen biedt geen ondersteuning voor het schalen van nieuwe sessiehosts.

Notitie

Het schaalprogramma bepaalt de taakverdelingsmodus van de hostgroep die momenteel wordt geschaald. Het hulpprogramma maakt gebruik van de breedte-eerste taakverdelingsmodus voor zowel piekuren als buiten piekuren.

Volgende stappen