In the first post of this AppStream series, we created an AppStream Image using the Image Builder. With the image created, we will focus on the task of building our fleet.
Remember from the first post that a fleet consists of a number of “streaming instances” that service the streaming demand. If you’re familiar with Citrix, it may be helpful to think of fleets as you would machine catalogs. If your experience has focused on VMware Horizon, a fleet is similar in concept to a desktop pool. You have an image, now you build some number of virtual desktops using that base image.
With AppStream, you don’t have to know exactly how many streaming instances you’ll need when a fleet is created. You set a desired capacity which represents the minimal number of instances that will be available and then create a scaling policy which automatically scales your fleet, up or down, based on demand.
Building the Fleet!
- With the image complete, login to your AWS Account and launch the AppStream service dashboard.
2. Click Fleets | Create Fleet
3. On the Provide Fleet Details page, enter the following information and click Next.
- Display Name
- Click Add Tag and add any relevant tags
4. On the Choose an image page, select the image that will be used to stream a virtual desktop to then end users and click Next.
5. We’ll spend a little extra time on the Configure Fleet page as there are several decisions to make here. First, you must select your instance type. Because the image was created using a General Purpose instance, we can only select general purpose instance types when creating the fleet. Second, we must select the Fleet type, either On-Demand or Always-On.
- Always-on instances, as you might guess, run all the time even when there are no users streaming applications or a desktop. A benefit is that these instances are available almost instantly when needed but you pay for these instances even when they are no in use.
- On-Demand instances run only when users are accessing them. Based on the fleet configuration, some number of on-demand instances are idle and waiting for connections in a stopped state. When a user connects, they may have to wait up to 2 minutes for the instance to start up. One thing to keep in mind is that instances sitting idle are not free, but cost $.025/hr.
In this example, I’m going to select On-Demand as my Fleet type.
The next sections you’ll see as you continue down the Configure Fleet page are User session details and Fleet Capacity.
Within the user session details section you configure settings that do just as they sound:
- The Maximum session duration in minutes value allows you to specify the maximum time a streaming session can remain active.
- The Disconnect timeout in minutes value specifies the amount of time a streaming session remains active after a user is disconnected.
- The Idle disconnect timeout in minutes value specified the amount of time users can be idle before their streaming session is disconnected. Setting this value to 0 effectively disables this setting.
Within the Fleet capacity section use the Minimum and Maximum capacity settings to set the minimum and maximum number of streaming instances available to your fleet.
Continue scrolling down to see the Stream view, Scaling details, and IAM role sections:
- Use the Stream view to specify to scope of your streaming sessions. If you select Applications, an application window will be steamed to the user meaning they will not see the underlying desktop. Non-Persistent virtual desktops are “enabled” when you set the Stream view to Desktop….with Desktop as the view, users will have the entire Windows desktop streamed to them, and be able to run any applications installed onto that desktop image.
- On the Scaling details, you specify the means by which you want the fleet to scale from its Minimum to Maximum (scale up) and then Maximum to Minimum capacity (scale down) based on demand.
- On the IAM role section, you can assign an IAM role to the instances should you need to.
With the appropriate selections made, click Next to continue building the fleet.
6. On the Configure network page, specify the VPC and Subnet(s) in which to create the fleet’s streaming instances as well as the Security Group(s) to attach to them.
Expand the Active Directory Domain option to join the streaming instances to an Active Directory domain. In this example, I am not joining the instances to an AD domain. Make your selections and click Next to continue.
7. On the Review page, verify that the configured settings are correct and click Create.
8. If you selected On-Demand for the pricing model, you may see a message prompting you to acknowledge that you have read its pricing details. Acknowledge the message and click Create.
9. Be patient while your fleet is being built. The Status will read Starting while under construction and will change to Running when its complete. I hope you forgive me for not having exact figures, but for this build, I know it took between 11-20 minutes. I checked after 10 minutes and it was still starting and then when I check in 10 minutes later, the fleet was Running.
The Fleet is Built…now what?
With the fleet built, you’re ready to create a Stack and make the streaming desktop available to end users. To this point, we’ve created an image, deployed a fleet, and on the next post, we’ll create our stack and test end user access. Stay tuned!