In itopia's Cloud Automation Stack (CAS), RD 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:
- The size and capacity of RD Session Host servers
- The disk image to use for the Session Host servers
- The regions in which to deploy the Session Host servers
- Session Timeouts and other client connection options
- Server Autoscaling and Scheduled Uptime settings
- Custom Collection Sizing
- Nearest Connection Point settings for end-users (multi-region deployments only)
Users are assigned to Collection Pools, and they will connect to their assigned Collection Pool after downloading their RDP client using myrdp.download. This allows administrators to create Remote Desktop environments for different groups of users, such as departments or business units that have differing needs.
Collection Pool Features and Settings
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 myrdp.download, they will be directed to their nearest region (refer to the Nearest Connection Point feature below for more information).
NOTE: Your RDS deployment must be configured to support multiple regions during initial configuration in CAS. It is currently not possible to convert a single-region deployment to a multi-region deployment after it has been created.
In a multi-region deployment, Collection Pools that are deployed to multiple regions will automatically configure users to connect to the RD Collection in their nearest region. Using IP geolocation, when a user visits myrdp.download to receive their customized RDP connection file, CAS will configure the user's client to connect to the RD Collection in the nearest region.
In a multi-region Collection Pool, administrators can selectively enable and disable connections to the RD Collection in specific regions. For example, if the Session Hosts in a particular region are experiencing issues or are down for maintenance, administrators can edit the Collection Pool to exclude that region from the Collection Pool. Users visiting myrdp.download will then be directed to the next-nearest region based on their IP geolocation data. It is not possible to disable all regions in a Collection Pool; each Collection Pool must have at least one enabled region.
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.
GPO and Client Settings
Each Collection Pool allows administrators to configure basic client connection settings, including:
- User session timeouts for active and disconnected sessions
- Local device redirection settings
- End-user (non-admin) access to the Windows Task Manager
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 RDS experience for each Pool.
Custom Collection Sizing
Custom Collection Sizing allows administrators to define the number of concurrent users for each region in a Collection Pool. For example: you have an RDS deployment with 100 users, and you want to create a new Collection Pool for two regions; the first region, us-east4, will host approximately 75 users, and the secondary region, us-central1, will host 25. You want each Session Host to serve a maximum of 25 users.
When you enable Custom Collection Sizing, you can specify these limits in the Collection Pool, and CAS will automatically create the appropriate number of RD Session Hosts based on the sizing you specify. Therefore in this example, CAS will create three Session Hosts in us-east4 and one 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.
Custom Collection Sizing also applies to deployments in only one region. For example, if you have 1000 users in the deployment but only need to support a maximum of 500 concurrent connections, you can enable Custom Collection Sizing and specify 500 users; CAS will build and size your Session Hosts for 500 users. You can change the Custom Collection Size at any time, and CAS will create or delete Session Hosts to match the number of users you specify.
Each Collection Pool can be configured with a unique set of Autoscaling parameters. With Autoscaling, you can define a tiered sizing model for your RD Session Host servers and specify a maximum number of users for each server. Using the previous example, if you want each Session Host to serve a maximum of 25 users, you can define Autoscaling tiers for ranges of users, up to 25. So, if your workload requires 0.75 vCPU and 2 GB of RAM per user, you can define the following tiers:
- 0 - 5 users - 4 vCPU and 15GB RAM (n1-standard-4)
- 6 - 10 users - 8 vCPU and 30GB RAM (n1-standard-8)
- 11 - 20 users - 16 vCPU and 60GB RAM (n1-standard-16)
- 21 -25 users - 20 vCPU and 60GB RAM (custom instance size)
CAS will automatically size your VM appropriately based on the number of users in the Collection Pool, either using the total number of users or the Custom Collection Sizing feature described above.
Collection Pools also 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.
Using Collection Pools
When you create a new deployment in CAS, a single Collection Pool is created using the settings you specified in the Deployment Wizard. This Collection Pool, named default, is deployed across all regions configured in the Deployment Wizard and is assigned to all users automatically. The default Collection Pool cannot be deleted.
To configure additional Collection Pools, log in to the itopia CAS console and navigate to Cloud Desktops → Collection Pools.
From here, you can edit existing Collection Pools, or click the + icon to create a new Pool.
Configure the settings for the new Collection Pool as needed.
Start with the Collection Name and Description.
Then select the Regions that will be included in the collection pool and available to users assigned to the new collection pool.
Note: If you don't mark the region with a check-mark as "Active", users that are assigned to the collection will not be able to login to this collection.
Continue selecting the settings for the Boot disk:
Autoscaling will be enabled for the new collection with the default settings. You can customize them for your needs.
If you enable Custom collection sizing for your autoscaling settings, CAS will calculate the right amount of resources based of the number of users you define under your custom collection sizing. If custom sizing stays disabled, the resources in your collection are calculated taking into account the total number of users assigned to the collection. If you have several regions assigned to the collection, custom sizing must be defined separately per region. Otherwise the resources created by autoscale in every region will be calculated to serve the total number of users in the collection.
Enable Stackdriver monitoring and/ or logging agent if you want CAS to install the agents in the Session Host servers in the collection.
Client connection settings section allows you define basic GPOs for client connection:
Click Save to start the collection creation process.
Once the Pool is configured, the status icon will be orange while the new RD Session Hosts are prepared. 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 myrdp.download.
Collection Pool Limitations
Because Collection Pools rely on unique RD Collections in each region, Collection Pools will generate a separate User Profile Disk (UPD) for a user in each region. Thus, if the RDS deployment is configured to use UPDs, a user that connects to a different region (for example, if they are traveling to a different office) will have a new user profile and will not have access to the files and documents stored in their primary UPD. Similarly, if a user is configured to use a different Collection Pool (for example, if they transition between departments), they will also receive a new UPD when they log in to the new RD Collection.
Therefore, if you wish to use Collection Pools in these scenarios and wish to allow users to retain their profiles and data across multiple regions or different Connection Pools, the RDS environment must be configured with an alternative profile solution, such as Windows roaming profiles and folder redirection or a third-party solution such as LiquidWare's ProfileUnity solution.
Alternatively, Collection Pools can be configured with non-persistent user profiles for environments that require stateless RDS, such as kiosk terminals or RemoteApp environments that provide application-level user sessions.