Introduzione a Azure Virtual Desktop

Azure Virtual Desktop è un servizio di virtualizzazione di app e desktop eseguito nel cloud. Il servizio permette di eseguire macchine virtuali con sistema operativo Windows 7, Windows 10, Windows Server 2012 R2, 2016, 2019 direttamente in Azure senza doversi preoccupare di preparare l’infrastruttura di accesso, che come ben sapete è particolarmente impegnativa da gestire e da mettere in sicurezza.

Già un paio di anni fa ho annunciato la preview di Windows Virtual Desktop – Il Desktop As A Service di Microsoft – ICT Power e devo dire che tanta strada è stata fatta e molte funzionalità sono state rese disponibili:

  • Possibilità di configurare un ambiente scalabile e flessibile
  • Creare un ambiente di virtualizzazione desktop completo nella sottoscrizione di Azure senza dover eseguire server gateway aggiuntivi.
  • Pubblicare tutti i pool di host necessari per gestire i diversi carichi di lavoro.
  • Portare la propria immagine per i carichi di lavoro di produzione o sceglierne una di prova dalla Raccolta di Azure.
  • Ridurre i costi grazie alle risorse in pool multisessione
  • Assegnare desktop personali
  • Virtualizzare Microsoft 365 Apps for enterprise e ottimizzarlo per l’esecuzione in scenari virtuali multiutente
  • Fornire ai desktop virtuali di Windows 7 aggiornamenti della sicurezza estesi gratuiti
  • Virtualizzare sia i desktop che le app
  • Gestire i desktop e le app di Windows 10, Windows Server e Windows 7 con un’esperienza di gestione unificata

NOTA: il 7 giugno 2021 Windows Virtual Desktop ha cambiato nome in Azure Virtual Desktop. L’annuncio ufficiale è disponiible alla pagina Azure Virtual Desktop: The flexible cloud VDI platform for the hybrid workplace

Figura 1: Architettura di Windows Virtual Desktop

Licenze

È bene però ricordare che per utilizzare Azure Virtual Desktop è necessario possedere le licenze corrette:

OS

Licenza richiesta

Windows 10 Enterprise multisessione o Windows 10 Enterprise Microsoft 365 E3, E5, A3, A5, F3, Business Premium
Windows E3, E5, A3, A5
Windows 7 Enterprise Microsoft 365 E3, E5, A3, A5, F3, Business Premium
Windows E3, E5, A3, A5
Windows Server 2012 R2, 2016, 2019 Licenza CAL Servizi Desktop remoto con Software Assurance

Maggiori informazioni sul pricing sono disponibili al link Prezzi di Desktop virtuale Windows | Microsoft Azure

Requisiti

Poiché l’autenticazione di Azure Virtual Desktop si basa su Azure Active Directory, è possibile avere utenti solo cloud oppure sincronizzare l’Active Directory on-premises con il tool Azure AD Connect.

Per configurare Azure Virtual Desktop e collegare correttamente gli utenti ai relativi desktop e applicazioni Windows sono necessari alcuni requisiti:

  • Un’istanza di Azure Active Directory.
  • Un’istanza di Windows Server Active Directory sincronizzata con Azure Active Directory. È possibile eseguirne la configurazione con Azure AD Connect (per organizzazioni ibride) o Azure AD Domain Services (per organizzazioni ibride o cloud).
  • Una sottoscrizione di Azure, associata allo stesso tenant di Azure AD padre, che contiene una rete virtuale contenente l’istanza di Windows Server Active Directory o Azure AD DS o connessa a tale istanza.
  • L’utente deve essere originato dalla stessa istanza di Active Directory che è connessa ad Azure AD. Desktop virtuale Windows non supporta account del servizio gestito o B2B.

Client per la connessione

La connessione ad Azure Virtual Desktop viene effettuata tramite un apposito client, disponibile per i seguenti sistemi operativi:

Creare un pool di host con il portale di Azure

I pool di host sono una raccolta di una o più macchine virtuali identiche all’interno degli ambienti Azure Virtual Desktop. Ogni pool di host può contenere un gruppo di app con cui gli utenti possono interagire come farebbero in un desktop fisico.

Dal portale di Azure cercate Virtual Desktop e lanciate la creazione di un nuovo pool dal pulsante Create a host pool

Figura 2: Lancio del wizard di creazione di un nuovo host pool di Azure Virtual Desktop

Inserite le informazioni richieste relative alla sottoscrizione, al resource group, all’host pool name e scegliete il tipo di host pool. Io ho deciso di creare un host pool condiviso, quindi ho scelto Pooled.

Figura 3: Scelta del tipo di host pool: Personal oppure Pooled

È possibile definire anche il metodo di bilanciamento del carico sui vari Session Host ed è possibile scegliete tra due modalità:

  • Breadth-first: questa modalità (che è quella impostata di default) esegue prima una query sugli host e seleziona quindi il Session Host con il minor numero di sessioni;
  • Depth-first: i nuovi utenti vengono assegnati al primo host disponibile una volta che quello precedente ha superato il numero massimo di sessioni;

Figura 4: Scelta dell’algoritmo di bilanciamento delle sessioni utente tra i diversi host del pool

Indicate anche il numero massimo delle connessioni consentite verso il pool.

Figura 5: Configurazioni Basic dell’host pool

Nella scheda Virtual Machines scegliete il prefisso che verrà assegnato alle VM che verranno create e l’immagine da utilizzare.

  • Scelta del tipo di immagine da utilizzare: Potete scegliere un’immagine dal Marketplace di Azure tra quelle disponibili oppure potete utilizzare una vostra immagine precedentemente realizzata. Vi rimando alla lettura dell’articolo Preparare e personalizzare un’immagine del disco rigido virtuale Master-Azure | Microsoft Docs per le istruzioni corrette su come realizzare un’immagine specifica per Azure Virtual Desktop. Io ho scelto Windows 10 Enterprise multi-session, Version 20H2 + Microsoft 365 Apps (GEN2).

Attualmente le immagini disponibili nella Gallery sono:

  • Windows 10 Enterprise multi-session, Version 1909
  • Windows 10 Enterprise multi-session, Version 1909 + Microsoft 365 Apps
  • Windows 10 Enterprise multi-session, Version 1909 + Microsoft 365 Apps (GEN2)
  • Windows Server 2019 Datacenter
  • Windows 10 Enterprise multi-session, Version 2004
  • Windows 10 Enterprise multi-session, Version 2004 + Microsoft 365 Apps
  • Windows 10 Enterprise multi-session, Version 2004 + Microsoft 365 Apps (GEN2)
  • Windows 10 Enterprise multi-session, Version 20H2
  • Windows 10 Enterprise multi-session, Version 20H2 + Microsoft 365 Apps
  • Windows 10 Enterprise multi-session, Version 20H2 + Microsoft 365 Apps (GEN2)

Figura 6: Scelta del tipo di immagine da utilizzare nel pool

In Number of VMs specificare il numero di macchine virtuali (al massimo 400) che si vuole creare nel pool di host. Poiché ho scelto di creare 3 macchine virtuali e nella scheda Basics ho limitato a 10 il numero di sessioni verso il pool, ogni macchina virtuale (host) del pool ospiterà 3 o al massimo 4 utenti.

Figura 7: Configurazioni scelte per le macchine virtuali

Scegliete a quale virtual network connettere l’host pool, assicurandovi che la rete virtuale possa connettersi al domain controller (se decidete come domain join Active Directory), poiché sarà necessario joinare le macchine virtuali al dominio aziendale. I server DNS della rete virtuale selezionata devono essere quindi configurati per l’uso degli indirizzi IP dei controller di dominio.

Se volete permettere l’accesso da Internet potete dare un IP pubblico alle VM. Vi consiglio di selezionare No, perché un IP privato è più sicuro. Gli utenti, infatti, si potranno collegare anche da Internet attraverso il client di Azure Virtual Desktop anche se non assegnate un indirizzo IP pubblico alle macchine che compongono l’Host Pool.

Specificate il dominio locale della vostra infrastruttura a cui devono essere aggiunte le VM che saranno create e inserite le credenziali corrette per effettuare il join.

Inserite le credenziali di un amministratore locale per le VM e proseguite col wizard cliccando su Workspace.

Figura 8: Le macchine del pool verranno aggiunte ad AD locale

Nella schermata Workspace è possibile registrare un gruppo di applicazioni che saranno poi utilizzate dai nostri utenti. Scegliere quindi se volete creare una nuova area di lavoro o selezionare un’area di lavoro esistente. È possibile registrare il gruppo di app in un secondo momento, ma è consigliabile eseguire la registrazione dell’area di lavoro appena possibile, in modo che il pool di host funzioni correttamente.

Figura 9: Creazione del Workspace

Figura 10: Verifica delle informazioni inserite

Dopo aver fatto clic su Create verrà lanciato il processo di distribuzione, che creerà:

  • Un nuovo pool di host.
  • Un gruppo di app desktop.
  • Un’area di lavoro, se si è scelto di crearla.
  • Se si sceglie di registrare il gruppo di app desktop, la registrazione verrà completata.
  • Le macchine virtuali, che verranno aggiunte al dominio locale e registrate con il nuovo pool di host.

Figura 11: Creazione del nuovo Azure Virtual Desktop Host Pool completata

Visualizzando il resource group nel quale avete deciso di creare Azure Virtual Desktop è possibile verificare tutte le risorse di Azure che sono state create:

Figura 12: Risorse di Azure che sono state create dal wizard di Azure Virtual Desktop

Se vi collegate ad uno dei vostri domain controller potete verificare che le macchine virtual del pool sono state aggiunte al vostro dominio locale.

Figura 13: Le macchine virtual del pool sono state aggiunte al vostro dominio locale

Gestire i gruppi di applicazioni

Il gruppo di app predefinito creato per un nuovo pool di host di Azure Virtual Desktop pubblica il desktop completo. È inoltre possibile creare uno o più gruppi di applicazioni RemoteApp.

Figura 14: Gruppo di applicazioni predefinito che pubblica l’intero desktop

Figura 15: Applicazioni pubblicate

Prima che i vostri utenti possano connettersi ad Azure Virtual Desktop è necessario assegnare gli utenti al Desktop Application Group (DAG) che è stato creato attraverso l’HostPool wizard. Il nome è in genere <HostPoolname>-DAG. Selezionate il Desktop Application Group dal pannello di Azure e nel nodo Assignment procedete ad aggiungere gli utenti, o meglio ancora i gruppi, che potranno accedere alle applicazioni offerta da Azure Virtual Desktop Host Pool.

Figura 16: Aggiunta di utenti e gruppi che potranno acceder al Desktop Application Group

Figura 17: Gruppo di utenti aggiunti al Desktop Application Group

Aggiunta di un nuovo gruppo di applicazioni

È possibile aggiungere gruppi di applicazioni dal portale di Azure cercando Virtual Desktop e selezionando Application Groups. Fate clic su Create per creare un nuovo gruppo di applicazioni e nella scheda Basics completate i campi come richiesto.

Figura 18: Creazione di un nuovo Application group

Nella scheda Applications aggiungete le applicazioni. Come sorgente potete scegliere il menu di avvio di uno degli host del pool e visualizzare l’elenco delle applicazioni, come mostrato nella figura sotto:

Figura 19: aggiunta di una nuova applicazione pubblicata nel menu di avvio di uno degli host del pool

Figura 20: Scelta dell’applicazione Word

Aggiungete una alla volta tutte le applicazioni che volete pubblicare.

Figura 21: Aggiunta di tutte le applicazioni da pubblicare

Nella scheda Assignment aggiungete il gruppo di utenti di Azure AD che avranno accesso al gruppo di applicazioni.

Figura 22: Aggiunta del gruppo di utenti di Azure AD che avranno accesso al gruppo di applicazioni

Registrate le applicazioni in un Workspace. È possibile registrare il gruppo di app solo nelle aree di lavoro create nella stessa area di Azure del pool di host.

Figura 23: Registrazione delle applicazioni in uno spazio di lavoro

Verificate le informazioni inserite e procedete alla creazione del gruppo di applicazioni.

Figura 24: verifica delle informazioni per la creazione del nuovo gruppo di applicazioni

Adesso nel portale di Azure saranno visualizzati i due gruppi di applicazioni, quello creato dal wizard e quello aggiunto successivamente da noi.

Figura 25: Gruppi di applicazioni visibili nel portale di Azure

Configurare MSIX app attach  in Azure Virtual Desktop

MSIX è un formato di pacchetto di app di Windows (introdotto in Windows 10 versione 1709 (10.0.16299.0)) che permette di distribuire e gestire le app in maniera moderna. Le applicazioni vengono racchiuse all’interno di un unico file e possono essere distribuite in maniera molto semplice nei sistemi operativi Windows. Trovate maggiori informazioni al link https://docs.microsoft.com/it-it/windows/msix/overview

MSIX app attach è una nuova modalità di distribuzione delle applicazioni alle macchine fisiche o alle macchine virtuali. C’è differenza però con le classiche applicazioni MSIX perché MSIX app attach è stata pensata ed ottimizzata appositamente per Azure Virtual Desktop.

Invece che installare le applicazioni direttamente nell’immagine delle macchine del nostro Host Pool di Windows Virtual Desktop, abbiamo la possibilità di distribuirle sotto forma di MSIX Containers (file VHD oppure VHDX), che vengono agganciati agli utenti che hanno il diritto di accdere alle app, semplificando moltissimo la fase di distribuzione ed aggiornamento delle nostre applicazioni.

Trovate la procedura completa per Configurare MSIX app attach (preview) in Windows Virtual Desktop – ICT Power in un’altra guida scritta da me.

Figura 26: Funzionamento di MSIX app attach – Credits: https://christiaanbrinkhoff.com/

Connessione ad Azure Virtual Desktop Host Pool

Per poter accedere a Azure Virtual Desktop è possibile utilizzare il client web HTML 5 disponibile all’indirizzo https://rdweb.wvd.microsoft.com/arm/webclient oppure è possibile utilizzare il client Windows dedicati, che potete trovare alla pagina Connettersi a desktop virtuale Windows 10 o 7-Azure | Microsoft Docs. Potete installare il client per l’utente corrente, nel qual caso non sono richiesti diritti di amministratore, oppure l’amministratore può installare e configurare il client in modo che tutti gli utenti del dispositivo possano accedervi. Dopo l’installazione, il client può essere avviato dal menu Start cercando Desktop remoto.

Nel mio caso ho utilizzato il client web e dopo l’autenticazione mi sono collegato al WorkSpace (Produzione) che avevo creato durante il wizard. Come si può vedere dalla figura sotto, sono visibili i due gruppi di applicazioni creati: W10-Prod-DAG, il gruppo predefinito che pubblica solo il desktop e Microsoft365Apps, il gruppo di applicazioni che ho creato successivamente e che pubblica le RemoteApp.

Figura 27: Connessione al Workspace tramite client web

Cliccando su SessionDesktop avrete a possibilità di vedere l’intero desktop remoto con Windows 10 e lavorare con tutte le applicazioni.

Figura 28: Richiesta di consentire l’accesso alle stampanti locali e ai dischi del dispositivo da cui si sta effettuando la connessione

Inserite le credenziali per poter accedere al desktop remoto e sarete pronti per cominciare a lavorare!

i metodi di accesso attualmente supportati:

  • Client desktop di Windows
    • Nome utente e password
    • Smart card
    • Windows Hello for business (solo attendibilità del certificato)
  • Client Windows Store, Client Web, Android, iOS, macOS
    • Nome utente e password

Figura 29: Inserimento delle credenziali per poter accedere al desktop remoto

Adesso siete pronti per lavorare col vostro Desktop remoto e potrete accedere a tutte le risorse, anche a quelle on-premises grazie alle connessioni VPN Site-To-Site oppure grazie ad ExpressRoute.

Figura 30: Connessione al Desktop remoto effettuata con successo

Se invece volete utilizzare semplicemente l’applicazione in modalità RemoteApp, dopo aver cliccato sull’icona dell’applicazione scelta vi verrà chiesto di autenticarvi e vi apparirà solo la finestra dell’applicazione.

Figura 31: Avvio della RemoteApp di Excel

Figura 32: Lancio dell’applicazione in modalità RemoteApp

Figura 33: Invece che accedere all’intero desktop remoto possiamo accedere alla sola applicazione scelta, in modalità RemoteApp

Molto comodo è anche il client Windows , che potete scaricare dal link https://docs.microsoft.com/en-us/azure/virtual-desktop/connect-windows-7-10. L’installazione è molto semplice.

Figura 34: Installazione del client Windows di Azure Virtual Desktop

Figura 35: Installazione in corso

Figura 36: Installazione del client Windows completata

Quando lancerete il client Windows di Azure Virtual Desktop vi verrà chiesto di autenticarvi ad Azure AD. Cliccate sul pulsante Subscribe per effettuare la connessione.

Figura 37: Connessione a Azure Virtual Desktop

Una volta che vi sarete autenticati, vi appariranno tutte le applicazioni a cui vi è stato concesso di accedere. Cliccando sull’applicazione o sul SessionDesktop vi verrà chiesto di autenticarvi al Session Host Remoto. A differenza del client web avrete la possibilità di salvare le credenziali.

Figura 38: Il client Windows di Azure Virtual Desktop permette di salvare le credenziali

Figura 39: Connessione ad Azure Virtual Desktop effettuata dal client Windows

Grazie al client di Azure Virtual Desktop vengono creati nel menu avvio di Windows anche i collegamenti alle applicazioni remote ospitate sui Session Host, rendendo più comode le successive connessioni.

Figura 40: Nel menu Avvio di Windows vengono create le connessioni alle applicazioni ospitate in Azure Virtual Desktop

Conclusioni

Azure Virtual Desktop consente di lavorare in maniera remota e sicura e permette di sfruttare la scalabilità del Cloud per semplificare la distribuzione e la gestione dell’infrastruttura. È possibile creare un ambiente di virtualizzazione desktop completo nella sottoscrizione di Azure senza dover eseguire server gateway aggiuntivi e pubblicare tutti i pool di host necessari per gestire i diversi carichi di lavoro. Utilizzando anche la propria immagine personalizzata è possibile avere il massimo della flessibilità e della personalizzazione delle proprie applicazioni in maniera davvero rapidissima!