In itopia's Cloud Automation Stack (CAS), Collection Pools allow you to create unique sets of RD Session Host servers and configuration settings for different workloads and users. Each Collection Pool lets you define the following:
- Whether to use persistent or non-persistent user profiles
- The regions in which to deploy the Session Host servers
- The disk image to use for the Session Host servers
- The size and capacity of RD Session Host servers
- Server autoscaling and Dynamic Uptime settings
- Session timeouts and other client connection options
When users are created (or imported) in CAS, they are assigned to a Collection Pool. Users can access their Collection Pool resources in several ways; refer to Connection Options for CAS RDS Deployments for more information.
Collection Pool Features and Settings
When you create a new deployment in CAS, the CAS Deployment Wizard walks you through configuring your first Collection Pool. To configure additional Collection Pools, log in to the itopia CAS Admin Portal and navigate to Cloud Desktops → Collection Pools.
To create a new Collection Pool, click Create. To view or change the settings of an existing pool, click on the Collection Pool name and then click the Edit button.
The sections below will describe the settings available for Collection Pools. Note that some Collection Pool settings cannot be changed after the Pool is created.
Provide the basic details for your Collection Pool.
- Name: Provide a concise, descriptive name for your Collection Pool. This is used to identify your Collection Pool in the CAS Admin Portal. End users will see this name in the RD Web Portal and RD Web Client. This setting cannot be edited once the Collection Pool is created.
- Description: Provide a helpful description of the Collection Pool. This is displayed only in the CAS Admin Portal.
If you have enabled Sole-tenant node support in the Deployment Settings, you can deploy the Collection Pool to a sole-tenant node group in your GCP project. If you enable this option, you will also see two additional Collection Pool Types for Windows 10 Session Hosts, as Windows 10 can only be deployed on sole-tenant nodes.
Collection Pool Type
CAS supports multiple Collection Pool types, offering different user experiences based on the requirements for your workload. For more information, refer to Collection Pool Types This setting cannot be edited once the Collection Pool is created.
- Shared Collection Pool: Multiple users share a single User Session Server (RD Session Host). Users are connected to any server in the collection.
- Dedicated Collection Pool: Each user is assigned a dedicated User Session Server (RD Session Host). Users always connect to their assigned server.
- Windows 10 - Dedicated Desktops: Each user is assigned a dedicated Windows 10 Session Host. Users always connect to their assigned host. This option is only visible if sole-tenant nodes have been configured in the deployment and are enabled in the Collection Pool.
- Windows 10 - Pooled Desktops: Users connect to single-session Windows 10 Session Hosts, but may connect to any available host in the collection. This option is only visible if sole-tenant nodes have been configured in the deployment and are enabled in the Collection Pool.
Each Collection Pool can be deployed across multiple regions. When creating a new Collection Pool, you will have the option to select the GCP regions to include in the Pool. For each region, CAS will create an RD Collection with identical settings, and users will have access to the RD Collection in each region. When users connect through the Cloud VDI Portal, they will be directed to their nearest region; refer to the Nearest Connection Point documentation for more information.
- GCP Region: Add one or more regions to which to deploy the Collection Pool. You cannot add or remove regions to a Collection Pool once it has been created.
- Region is active: When a region is active, the Cloud VDI Portal will route users to the region. Mark a region as inactive if you are performing maintenance or the region experiences a service interruption. This option is unavailable when you are creating the Collection Pool
- Sole-tenant configuration: If you enabled sole-tenant for the Collection Pool, you will see an option to select the sole-tenant node group for the region.
|NOTE: Your RDS deployment must be configured to support multiple regions during initial configuration in CAS. It is currently not possible to add or remove regions to your deployment.|
The Host Configuration section contains the parameters for the Session Host VM instances that will be created for your Collection Pool as well as autoscaling parameters.
Collection Scaling refers to the way in which CAS maintains the correct number of Session Hosts to support the users assigned to the Collection Pool. The behavior of this feature depends on the type of Collection Pool.
Shared Collection Pools
CAS offers two options for scaling the number of Session Hosts in a Shared Collection Pool or Windows 10 Pooled Collection: Autoscale and Fixed Collection Sizing.
When Autoscale is enabled, CAS will automatically create enough Session Hosts to support all users that are assigned to the Collection Pool based on the number of Users per instance that is configured in the Host Instance Configuration section above. For example, if you have configured 25 Users per instance and assign 100 users to the Collection Pool, CAS will create 4 Session Host servers (in each region).
Fixed Collection Sizing allows administrators to define the number of concurrent users for each region in a Collection Pool. If all users will not be connecting to the Collection Pool simultaneously, you can use Fixed Collection Sizing to set the number of concurrent users that CAS should target for its scaling configuration.
Using our previous example: you configure 25 Users per instance and you assign 100 users to the Collection Pool. However, you expect only 50 users to connect at any given time.
When you enable Fixed Collection Sizing, you can specify these limits in the Collection Pool, and CAS will automatically create the appropriate number of Session Hosts based on the sizing you specify. Therefore in this example, CAS will create only 2 Session Hosts rather than 4.
Fixed Collection Sizing is also useful for multi-region deployments. Continuing our example: let's say the new Collection Pool includes two regions; the first region, us-east4, will host approximately 75 users, and the secondary region, us-central1, will host 25.
You can enable Fixed Collection Sizing and specify the number of users per region, resulting in 3 Session Hosts in us-east4 and 1 Session Host in us-central1. If you don't specify per-region limits, CAS will create enough Session Hosts in each region to serve all 100 users in the deployment.
You can change the Fixed Collection Size at any time or switch to Autoscale, and CAS will create or delete Session Hosts to match the updated number of users automatically.
For Collection Pools configured as Dedicated or Windows 10 Dedicated Desktop, CAS will always maintain a 1:1 ratio of Session Hosts to the number of users assigned. Therefore, Autoscale and Fixed Collection Sizing options do not apply.
However, you can configure the Collection Pool to maintain a number of Unassigned Hosts, which are Session Hosts that are created, configured, and powered down until new users are added to the Collection Pool; this greatly reduces the amount of time required to assign users to the Pool, as their dedicated Session Hosts will only need to be powered on, rather than created from scratch.
For example, you create a Dedicated Collection Pool and configure it to maintain 10 Unassigned Hosts. You then assign 10 users to the Collection Pool. In this scenario, CAS will create and configure 10 Session Hosts and assign them to the 10 users; once the Session Hosts are configured and assigned, CAS will then create 10 additional Session Host VMs and power them down. These additional VMs will remain powered down until new users are added to the Collection Pool.
If you later add 20 users to the Collection Pool, CAS will:
- Power on the 10 Unassigned Hosts and assign them to 10 of the new users. These users will be able to access their Cloud Desktops as soon as the VMs are powered on.
- Create and configure 10 additional Session Hosts for the remaining 10 users. These users must wait for the Session Hosts to be created and configured before they can access their Cloud Desktops; this typically takes between 30-45 minutes depending on the OS image used for the Collection.
- Create and configure 10 new Unassigned Hosts that will be powered down until additional users are added
Thus, if you anticipate regularly adding users to Collection Pools, it is useful to enable Unassigned Hosts and specify a quantity larger than the number of users you normally add. This will ensure that Unassigned Hosts are always available for new users and they can begin using their Cloud Desktops very quickly.
Note that Unassigned Hosts incur storage costs in Google Cloud for their OS disk.
Host Instance Configuration
Each Collection Pool can be configured with a unique sizing and user density parameters.
- Host instance size: Select a predefined GCE VM instance type, or select Custom to provide your own sizing.
- Users per instance: Using this value, CAS will provision the appropriate number of Session Hosts based on the number of users assigned to the Collection Pool. CAS will create or delete Session Hosts as necessary based on the number of users assigned to the Collection Pool (or on the number of users specified in the Fixed Collection Sizing section below)
- Enable GPUs on Session Hosts: Enable this option to attach a graphics processing unit (GPU) to each Session Host in the Collection Pool.
- GPU Type: Select the GPU type to attach to each Session Host. The available GPUs will vary depending on the GCP region(s) and machine type you have selected.
NOTE: GPUs can incur significant cost and are subject to GCP availability and quotas. Additionally, GCP offers two types of GPUs: compute-acceleration and graphics-acceleration. To learn more about GPUs in Google Cloud, please refer to Google documentation.
Boot Disk and Boot Image
Each Collection Pool can use a unique disk image to provide different Session Host experiences for end-users. For example, you can prepare two different disk images-- one for your Accounting team and one for your Design team-- that have different applications and settings defined. You can assign each disk image to a different Collection Pool to ensure each team gets the best user experience on dedicated servers for their needs.
- Image: Select the GCE OS image to use for the boot disk. You can select public images (such as Windows Server 2019) or any custom images that you have imported into CAS.
- Type: Select whether to use Standard, Balanced, or SSD disks for the boot disk. Standard disks have the lowest cost and provide adequate performance for common workloads; SSD disks have the highest cost but excellent performance for demanding workloads. Balanced Disks offer near-SSD performance but at a fraction of the cost.
- Size: Specify the size, in gigabytes, for the boot disk on each Session Host.
|NOTE: When you change these settings for an existing Collection Pool, CAS will ask whether to redeploy existing Session Hosts with the new disk images. If you choose to redeploy, CAS will gradually shut down Session Hosts, reconfigure them with the new image or disk type, and then power them back on; this process will take some time and may impact the user capacity of your Collection Pool. When making your selection, CAS allows you to schedule this change for a future date.|
CAS allows you to specify custom GCP metadata labels for all Session Host VMs in a Collection Pool. Metadata labels can be used in a variety of ways in Google Cloud such as for billing reports and crafting custom policies. Add as many custom GCP labels as you wish; these labels will be applied to each Session Host VM in the Collection Pool.
|NOTE: CAS also supports assigning GCP metadata labels at the deployment level, which are applied to all Collection Pool VMs and infrastructure VMs. You can find this setting from your CAS dashboard, under Settings → General Settings.|
The Dynamic Uptime feature allows CAS to shut down and power on Session Hosts as required based on the number of active users. A detailed explanation of the feature is available in Understanding the Dynamic Uptime Feature.
- Enable Dynamic Uptime: When enabled, CAS will automatically shut down and power on Session Host servers based on the number of active user sessions.
- Excluded hosts: Specify the number of Session Hosts that will be excluded from Dynamic Uptime calculations (per region). Use this setting to allocate "always on" servers to handle sudden surges of user logons. The minimum value is 1.
Collection Pools simplify the installation of Google Cloud's Stackdriver agents on Session Hosts. In each Collection Pool, administrators can choose to separately enable the the Stackdriver Monitoring Agent and Stackdriver Logging Agents on Session Host servers. These agents can then be configured in the Google Cloud Console to provide metrics and alerting based on custom criteria.
To learn more, please review How to Use Stackdriver Logging.
When creating a new Collection Pool, administrators have several options for configuring user profile behavior. This setting cannot be edited once the Collection Pool is created.
- Users have persistent profiles - Session Hosts in the Collection Pool are configured with FSLogix Profile Containers. When users log in to different Session Hosts in the Collection Pool, they will have a unified, "roaming" profile with their documents and settings. If users are moved to a different Collection Pool that also has FSLogix Profile Containers enabled, their user profile will be preserved. Note that profiles do not roam across regions; if a user connects to the same Collection Pool in different GCP regions, each region will maintain its own profile. This behavior cannot currently be changed from the CAS Admin Portal but may be manually reconfigured; contact itopia Support for more information.
- Users have non-persistent profiles - Users' profiles are erased each time they log out of their Cloud Desktop, including any documents and settings stored in their profile (i.e. on their desktop or their My Documents folder). If users are configured with mapped drives or other document syncing applications such as Google Drive File Stream or Dropbox, content in those folders is not affected.
- Do not configure user profiles - CAS will not configure the behavior for user profiles. By default, users will maintain a unique local profile on each Session Host to which they connect. Select this option if you plan to configure your own roaming profile solution using group policy objects (GPOs) or third-party software.
Each Collection Pool allows administrators to configure the behavior of user sessions on Cloud Desktops. These settings are enforced using a combination of group policy objects (GPOs), registry keys (for Windows 10 Collections), and Connection Broker settings (for RDS Collections). These settings include:
- Allow clipboard (text and image copy/paste) between the Cloud Desktop and the user's local device
- Show user's local drives in the Cloud Desktop and allow file copy/paste to and from the Cloud Desktop
- Show client printers in Cloud Desktop
- Set the Cloud Desktop's time zone to match the user's local device
- Enable access to Task Manager in the Cloud Desktop
- Enable access to command shells (including the Command Prompt and PowerShell) in the Cloud Desktop
- Set parameters for the RDP connection, including:
- Start the RDP session in fullscreen and, optionally, span the RDP session across all the user's local monitors
- Color bit depth (higher bit depths require more bandwidth)
- RDP session resolution (if fullscreen is not enabled)
- RDP session bandwidth optimization
- Send Windows shortcuts to the Cloud Desktop (e.g. Win+R to open the Run dialog)
- Audio playback on the user's local device
- Audio capture (microphone redirection) from the user's local device to the Cloud Desktop
- Session timeouts:
- Disconnect idle sessions after a number of minutes
- Log off disconnected sessions after a number of minutes
Additionally, servers for each Collection Pool are created in a dedicated organizational unit (OU) in Active Directory. Administrators can define group policy objects (GPOs) and link them to the OU for specific Collection Pools to further customize the end-user experience for each collection.
Create or Update
If you're creating a new Collection Pool, click Create; if you're updating settings on an existing Collection Pool, click Save. The Collection Pool will appear in the list of Collection pools with an orange status icon. When the status icon is green, you may assign the Collection Pool to users; they will be configured to use the new Collection Pool the next time they download an RDP connection file from the Cloud VDI Portal.
Redeploying Collection Pools
CAS Collection Pools are persistent by default, meaning that Session Hosts are not regularly deleted and re-created. However, administrators can trigger a redeployment of the Session Hosts in one of two ways:
- Redeploy all Session Hosts by triggering a redeployment from the Collection Pool settings
- Redeploy a single Session Host by triggering a redeployment from the Session Host's settings
When a redeployment occurs, the Session Host VM instances are deleted and a new VM instance is created using the Boot Image specified for the Collection Pool; all data on the hosts is permanently deleted. However, the server names and IP addresses are reused.
Depending on the size of the Boot Image, this process typically takes between 30-60 minutes per Session Host. When redeploying an entire Collection Pool; CAS will redeploy several Session Hosts concurrently, but this process may still take considerable time for large Collection Pools.
Redeploy All Session Hosts
CAS can automatically redeploy all Session Hosts in a Collection Pool. This is useful if you have updated the base OS image for the Collection and wish to standardize the image across all hosts; however, you can also trigger a redeployment without changing the OS image to simply rebuild all servers using the existing OS image. Learn more about Boot Images in Creating OS Images.
To redeploy all Session Hosts in a Collection Pool:
- From the CAS admin console dashboard, navigate to Cloud Desktops > Collection Pools and select the desired Collection Pool
- On the Collection Pool's Details page, click Edit.
- Navigate to the Boot Disk Configuration section. If you wish to redeploy the servers with a new Boot Image, boot disk type, or boot disk size, change the respective values. If you wish to redeploy using the existing values, leave the settings unchanged.
- Enable the Redeploy existing Session Hosts with this configuration option.
- Click Save.
- You will be prompted whether to begin the redeployment now or to schedule it for a later time. Choose the desired option and click Save.
Redeploy a Single Session Host
If a specific Session Host has become corrupted or is experiencing issues, you can redeploy it individually. This will remove the Session Host from the Collection Pool, delete and recreate the VM instance using the same configuration and Boot Image specified in its Collection Pool settings, and then rejoin it to the Collection Pool. The new VM will have the same name and IP address, but all data and customization will be erased.
To redeploy a single Session Host:
- From the CAS admin console dashboard, navigate to Cloud Manager > VM Instances and select the desired Session Host (User Session Server).
- On the Cloud Instance details page, click the Re-deploy button.
- You will be prompted for confirmation. Unlike redeploying an entire Collection Pool, there is no option to schedule the redeployment of a single Session Host. The process will begin immediately.
- To proceed, click Continue.
You can monitor the status of the redeployment in the VM Instances module. the VM status icon will change to orange while it is being redeployed, and will change to green when it has been successfully re-added to the Collection Pool.