Condividi tramite


Ridimensionare gli host di sessione usando Automazione di Azure e App per la logica di Azure per Desktop virtuale Azure

È possibile ridurre il costo totale di distribuzione di Desktop virtuale Azure ridimensionando le macchine virtuali. Ciò significa arrestare e deallocare le VM host di sessioni nelle ore non di punta, quindi riattivarle e riallocarle nelle ore di punta.

Questo articolo illustra lo strumento di ridimensionamento creato con l'account Automazione di Azure e App per la logica di Azure che ridimensiona automaticamente le macchine virtuali host di sessione nell'ambiente Desktop virtuale Azure. Per informazioni su come usare lo strumento di ridimensionamento, vedere Configurare il ridimensionamento degli host sessione usando Automazione di Azure e App per la logica di Azure.

Nota

La soluzione nativa di Scalabilità automatica di Desktop virtuale Azure è disponibile a livello generale per i pool di host in pool e personali e ridimensiona automaticamente le macchine virtuali host di sessione in base alla pianificazione del ridimensionamento. È consigliabile usare la scalabilità automatica per semplificare la configurazione. Per altre informazioni, vedere Piani di ridimensionamento automatico.

Funzionamento dello strumento di dimensionamento

Lo strumento di dimensionamento offre un'opzione di automazione a basso costo per i clienti che vogliono ottimizzare i costi delle VM host di sessioni.

È possibile usare lo strumento per:

  • Pianificare l'avvio e l'arresto delle macchine virtuali in base alle ore lavorative di punta e non di punta.
  • Aumentare le VM in base al numero di sessioni per core di CPU.
  • Ridimensionare le macchine virtuali durante le ore di minore attività, lasciando il numero minimo di macchine virtuali host di sessione in esecuzione.

Lo strumento di ridimensionamento usa una combinazione di un account Automazione di Azure, un runbook di PowerShell, un webhook e un'app per la logica per funzionare. Quando lo strumento viene eseguito, l'app per la logica chiama un webhook per avviare il runbook. Il runbook crea quindi un processo.

Le ore di picco e di minore attività sono definite come:

  • Picco: ora in cui si prevede di raggiungere la concorrenza massima della sessione utente.
  • Off-peak: l'ora in cui si prevede che venga raggiunta la concorrenza minima della sessione utente.

Durante le ore di punta, il processo verifica il numero corrente di sessioni e la capacità di VM dell'host di sessioni attualmente in esecuzione per ogni pool di host. Usa queste informazioni per calcolare se le macchine virtuali host sessione in esecuzione possono supportare sessioni esistenti in base al parametro SessionThresholdPerCPU definito per il file CreateOrUpdateAzLogicApp.ps1 . Se le macchine virtuali host di sessione non possono supportare sessioni esistenti, il processo avvia macchine virtuali host sessione aggiuntive nel pool di host.

Nota

Il parametro SessionThresholdPerCPU non limita il numero di sessioni nella VM. Determina solo quando è necessario avviare nuove VM per bilanciare il carico delle connessioni. Per limitare il numero di sessioni, è necessario seguire le istruzioni per configurare il parametro MaxSessionLimit di conseguenza.

Durante il periodo di minore attività di utilizzo, il processo determina il numero di macchine virtuali host sessione da arrestare in base al parametro MinimumNumberOfRDSH . Se si imposta il parametro LimitSecondsToForceLogOffUser su un valore positivo diverso da zero, il processo imposterà la modalità di svuotamento delle macchine virtuali dell'host di sessione per impedire la connessione di nuove sessioni agli host. Il processo invia quindi una notifica a tutti gli utenti attualmente connessi per salvare il proprio lavoro, attende il tempo configurato e quindi forza gli utenti a disconnettersi. Dopo che tutte le sessioni utente nella macchina virtuale host sessione sono state disconnesse, il processo arresterà la macchina virtuale. Dopo l'arresto della macchina virtuale, il processo reimposta la modalità di svuotamento dell'host di sessione.

Nota

Se si imposta manualmente la macchina virtuale host sessione sulla modalità di svuotamento, il processo non gestirà la macchina virtuale host sessione. Se la macchina virtuale host sessione è in esecuzione e impostata sulla modalità di svuotamento, verrà considerata non disponibile, in modo che il processo avvii macchine virtuali aggiuntive per gestire il carico. È consigliabile contrassegnare tutte le macchine virtuali di Azure prima di impostarle manualmente sulla modalità di svuotamento. È possibile assegnare un nome al tag con il parametro MaintenanceTagName quando si crea l'Utilità di pianificazione dell'app per la logica di Azure in un secondo momento. I tag consentono di distinguere queste macchine virtuali da quelle gestite dallo strumento di ridimensionamento. L'impostazione del tag di manutenzione impedisce inoltre allo strumento di ridimensionamento di apportare modifiche alla macchina virtuale fino a quando non si rimuove il tag.

Se si imposta il parametro LimitSecondsToForceLogOffUser su zero, il processo consente all'impostazione di configurazione della sessione nei criteri di gruppo specificati di gestire la disconnessione delle sessioni utente. Per visualizzare questi criteri di gruppo, passare a Criteri>di configurazione>computer Modelli>amministrativi Componenti di Windows Servizi>>Desktop remoto Sessione Host>sessione Desktop remoto Limiti di tempo. Se sono presenti sessioni attive in una VM host di sessioni, il processo lascerà tale VM in esecuzione. Se non sono presenti sessioni attive, il processo arresterà la macchina virtuale host sessione.

In qualsiasi momento, il processo prende in considerazione anche maxSessionLimit del pool di host per determinare se il numero corrente di sessioni è superiore al 90% della capacità massima. In caso affermativo, il processo avvierà macchine virtuali host sessione aggiuntive.

Il processo viene eseguito periodicamente in base a un intervallo di ricorrenza impostato. È possibile modificare questo intervallo in base alle dimensioni dell'ambiente Desktop virtuale Azure, ma tenere presente che l'avvio e l'arresto delle macchine virtuali possono richiedere del tempo, quindi ricordarsi di tenere conto del ritardo. È consigliabile impostare l'intervallo di ricorrenza su ogni 15 minuti.

Tuttavia, lo strumento presenta anche le limitazioni seguenti:

  • Questa soluzione si applica solo alle macchine virtuali host multisessione in pool.
  • Questa soluzione gestisce le macchine virtuali in qualsiasi area, ma può essere usata solo nella stessa sottoscrizione dell'account Automazione di Azure e dell'app per la logica di Azure.
  • Il runtime massimo di un processo nel runbook è di 3 ore. Se l'avvio o l'arresto delle macchine virtuali nel pool di host richiede più tempo, il processo avrà esito negativo. Per altre informazioni, vedere Risorse condivise.
  • Per il corretto funzionamento dell'algoritmo di ridimensionamento, è necessario attivare almeno una macchina virtuale o un host di sessione.
  • Lo strumento di ridimensionamento non supporta il ridimensionamento in base alla CPU o alla memoria.
  • Il ridimensionamento funziona solo con gli host esistenti nel pool di host. Lo strumento di ridimensionamento non supporta il ridimensionamento di nuovi host di sessione.

Nota

Lo strumento di ridimensionamento controlla la modalità di bilanciamento del carico del pool di host che sta attualmente ridimensionando. Lo strumento usa la modalità di bilanciamento del carico in ampiezza sia per le ore di punta che per le ore di punta.

Passaggi successivi