In this blog we are going to learn about deploying Windows Virtual desktop using Citrix Cloud. As you may be aware that WVD is an Azure only service and customers who are looking for hybrid cloud VDI need to adapt to Citrix Cloud to perform the Hybrid Cloud VDI strategy. Microsoft allows WVD to be provisioned via Citrix Cloud as part of the Microsoft Citrix Partnership and new Cloud based VDI strategy.
The below diagram represents a high level architecture of Citrix Cloud integrated with WVD. The Citrix VDA will be deployed on WVD Golden image and we will leverage Citrix machine creation services to provision WVD VDIs in Azure environment. The users will access the WVD VDIs via Citrix HDX Protocol.
The Cloud Connectors will act as the gateway/broker between the Citrix Virtual Apps and Desktop Service from Citrix Cloud and the WVD desktops. Let us see the steps involved in configuring a citrix cloud + WVD environment.
The Citrix Cloud+WVD Integration consists of the below steps:-
- Creating a WVD Master Image
- Creating Service Principal for Citrix Cloud and Azure Integration
- Creating Hosting Connection to Azure from Citrix Cloud
- Deploy Cloud Connectors
- Create Machine Catalog using the WVD Master Image and Provision VMs using MCS
- Create Delivery Groups to publish WVD desktop to users
- Assign Users to “WVD desktop” via Citrix Cloud Library
- And finally Login to “WVD desktop via Citrix Workspace App
Create the WVD Master Image
The first and foremost step is to create a Windows 10 Multi session VM in Azure which can be leveraged as the Citrix MCS Master Image.
- Navigate to Azure portal and Click on “+Create a resource”
- Follow the “Create a virtual machine” Azure wizard to complete the VM creation. Please make sure to select the proper “Windows 10 multi session” image from the drop down
Once the VM is created and added to domain, install the core applications which you need to be incorporated as part of the WVD Desktop. I am skipping the installation of FSLogix profiles here, but you can either deploy FSLogix or Citrix UPM to support your profile management solution.
Follow the below steps to install MS teams for WVD environment.
Before installing teams on a WVD machine, please make sure you create a registry entry like shown in the below image.
|Key:-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Teams DWORD:- IsWVDEnvironment Value:- 1|
Download the x64 bit teams executable from the below location.
Execute the below command to install “Microsoft teams” for all users.
|msiexec /i <path_to_msi> /l*v <install_logfile_name> ALLUSER=1 ALLUSERS=1|
Install the Virtual desktop agent to convert the WVD VM to an MCS master image. Download the Citrix Virtual Apps and Desktop ISO and Mount it on your WVD VM
Double click on the “Auto Select” executable to start the installation wizard.
In the welcome screen select “Start” under “Virtual Apps and Desktops” Section
Click on “Virtual Delivery Agent for Windows Multi-session OS”
In the environment tab, select “Create a Master MCS Image” and Click Next
Under the core components by default “Virtual delivery agent” will be selected, click next
In the “additional components for Master MCS Image”, select the “Citrix Health Assistant” optionally and Click Next
In the delivery controller tab, select the “Do it manually” option and enter the “Cloudconnector FQDN”. Perform Test connection to verify the connectivity and Click on Add,
Click Next once both the controllers are added.
In the features tab, select all the options and click Next
In the firewall tab, select “automatically” configure firewall rules
In the diagnostics tab, unselect the “collect diagnostic information and click Next.
Click on “Finish” to begin the installation. The VM will restart automatically once the VDA is installed.
Download and run the Citrix Optimizer software to optimize the WVD Image. I am not covering the Citrix Optimizer execution here.
Cloud Connectors act like broker between your WVD machines and Citrix Cloud. All traffic between Citrix Cloud and Cloud Connector is encrypted and over 443. The Citrix Article stats about opening TCP 9350-9354 outbound ports from Cloud connectors to Citrix Cloud which is not true. Only 443 outbound port is required for the Cloud connector to Citrix Cloud Communication.
To Start installing Cloud connector, login to Citrix Cloud portal via https://citrix.cloud.com and navigate to Resource locations.
Consider Resource location as a region or a virtual data center.
In the resource location, create a new resource location and provide name.
Once your resource location is created, click on “+ Cloud connector” to download the Cloud connectors.
The Cloud connector download window will pop-up from where the Cloud connector executable can be downloaded.
Install via GUI
Double click on the Cloud connector executable. The software will perform a basic health check and ask the user to sign in to Citrix Cloud account
If you have multiple Customers and resource locations in your cloud connector, you need to select the ones which we are going to host WVD machines. Click on Install to start the installation.
The cloud connector will install and report to Citrix Cloud automatically.
Install via command line
If you want to automate the installation of cloud connectors then below are the switches. You need the below mandatory parameters to configure the cloud connector via command line.
To identify the customer ID, navigate to “Identity and Access Management” pane and click on API Access.
To create a new Client ID and Secret , from the same pane, click on Create Client and download the credentials for later use.
To obtain the resource location ID, navigate to your “resource location” and click on the “ID” button beneath your Resource location name.
Once your cloud connector is installed, navigate to resource location and verify if the cloud connector is showing under your resource location. Citrix recommends deploying 2 cloud connectors in a resource location for high availability.
In order to provision machines in Azure, Citrix Cloud must be granted access to your Azure subscription via an application service account (Azure Active Directory “App registration”) that has been assigned permissions to the relevant Azure resources within your Azure Tenant account. You can either login with a subscription owner ID and provide access to Citrix Cloud API to create an Azure Application registration on behalf of you. But in real world Azure will be managed by a separate team and it is advised to create a custom Application registration and assign the permissions in Azure subscription and provide the App ID and secret to create the hosting connection.
Create a New App registration
- Login to your Azure Tenant
- Select the Azure Active Directory blade
- Select App Registrations
- Select “+ New application registration”
- Provide a friendly name, make sure you select the account type to Single tenant.
Scroll down to the “Re-direct URI section and select “web” from the drop down and give the URL as https://citrix.cloud.com and click on Create
Once the application is created, under “API permissions” select the required permissions as shown in the below table. Please note, as per Citrix article they request you to provide access to “Azure Active Directory Graph” but Azure Active Directory graph is going to get decommissioned in couple of months. Instead add the same policies in “Microsoft Graph”
|Azure Service management||User_impersonation||Delegated|
Once you provide required API permissions, navigate to Client Secrets and create a new Client Secret. Download the Client Secret to be used in the Citrix Cloud console.
Navigate to subscriptions–> IAM and Click on “role assignment”
Search for the newly created App name and provide contributor access.
Creating a Hosting Connection in Citrix Cloud
The next step is to create a hosting connection in Citrix Cloud.
Go to Citrix Cloud portal and select “Virtual Apps and desktop Service” and click on manage.
Click on Hosting and Click on “Add connection and resources”
Click on “Create a new connection” and select the connection type as “Microsoft Azure”
Select the Azure environment and Zone name( zone name is logical name of resource location where your cloud connectors are deployed)
In the connection details tab, enter the below details:-
- Connection name:- A friendly name for your Hosting connection
- Subscription ID:- Azure Subscription ID
- Azure Directory ID:- Azure AD tenant ID
- Application ID:- The Application ID of the newly created application in Azure
- Application Secret:- The client secret you created earlier during the app registration
In the region pane, select the region where you need to deploy your WVD VDIs.
Under Network, provide a friendly name for your vnet and select the vnet and subnet where you want your resources to be created
Review the settings in summary and Click on create
Machine Catalog Creation
In the Citrix Portal, click on “Virtual Apps and desktop Service” and Select Machine catalogs.
Click on create machine catalog.
Skip the Introduction tab and click Next
In the operating system tab, select “Multi Session OS and Click Next
In the machine management, select the “machines that are power managed” option and delivery using “Machine creation services” and select the hosting connection from the drop down under resources and Click next.
Navigate to the resource group and click on the master image disk we created earlier.
Please make sure to select the minimum functional level to the latest one. This is to obtain all the latest available features in the VDA. Eg:- if you select 7.6 as the functional level, MCSIO will not be available for the users.
Please click on close to accept the warning to shut down your master image which we already did earlier
Under the storage and license types, select the disk type you need for your MCS VMs and also select the license as “use my windows 10 licenses” and Click Next
Select the number of VMs to create and the size of the VM and Click Next
In the disk settings, please select the write cache methods. For Azure, to get the best performance it is advised to select both Disk cache and memory cache. It is advised to select the Disk size as same as your OS disk(ie,127GB) and RAM as per your sizing requirements.
Uncheck the others and click next. You need to be careful while selecting the “persistent write cache” disk and “retain system disk” options. It is advised to uncheck these until unless you have specific reasons to check them.
Under the resource group, you can either let Citrix create the target resource group for your WVD VMs or you an existing RG. Citrix will only display the empty RGs from your subscription.
Select the network cards you need to attach to your VMs and Click next
In the Active directory computer accounts tab, click on “Create new active directory accounts” and select the OU and also the naming convention you need to create. Please make sure to add ‘##’ after your naming prefix as Citrix will create device names from 01.
In the Citrix Cloud, there is an additional tab, where the user need to provide the domain credentials again which will be used during the AD account creation and domain join. Click on “Enter credentials to enter the user name and password and click next.
In the summary tab, Provide a name and description for your machine catalog and click on Create.
The MCS process will clone your master image snapshot and create your WVD VMs. Citrix will create 3 disks for each VM.
- Difference disk
- Identity disk
- MCS Cache temporary disk
Delivery Group Creation
Delivery groups are used to provision Applications and Desktops to users. Navigate to Delivery group and click on “Create delivery group”.
Skip the introduction page by clicking on next
In the machines tab, select the machine catalog you created and select the number of VMs to be added to delivery group and Click Next
In the users tab, you can either provide the user assignment in this tab or else click on “leave user management to Citrix cloud” . This will allow you to manage Application/desktop subscriptions via “Library Offering” tab in Citrix Cloud.
In the Applications tab, you can select any Remote Apps which need to be provided to users.
Note:- By default desktop will be provisioned from a delivery group.
In the “AutoScale” you can select schedules and capacity planning and click next. I am writing another document explaining how Autoscale works in action.
On the summary page, click on create to create the delivery Group.
Library offering is a new fancy place in Citrix Cloud from where you can provide access to users. Library offering can be viewed once you login to Citrix Cloud.
Under Library offering, Navigate to the newly created delivery group and click on the threedots to manage subscribers.
Click on manage subscribers to add users/groups to your desktop.
In the “manage subscribers” tab, Click on the domain and select the AD users and Group. Citrix Cloud will show as “subscribed” once the user/group is successfully added to the desktop/applications.
Access the Desktop and verify the Teams optimization
Open the Citrix Workspace URL and login with your domain credentials to view the applications/desktops subscribed for you.
I am successfully logged into the WVD desktop, my onedrive got auto logged in and my teams is showing as HDX Optimized which means my teams meetings are get offloaded from my VDI.
Hope this blog helps you. Please let me know your comments and feedbacks.