Create Windows Desktop BYOL Images in Omnissa Horizon 8 on Amazon WorkSpace Core

This post covers importing Windows 11 BYOL image and creating the bundle in Amazon WorkSpaces for Horizon 8 pool. We will use EC2 image builder tool to create the windows 11 image. The image creation steps will be same for windows 10 as well.

Prerequisites for BYOL image

    • BYOL is enabled and configured in amazon account

A screenshot of a computer

Description automatically generated

    • Directory Service is configured with dedicate workspace BYOL option

A screenshot of a computer

Description automatically generated

    • Supported Windows Version for BYOL (AWS Ref)

Image creation tasks

    • Obtain windows 11 ISO image
    • Create S3 bucket and upload the windows 11 ISO image
    • Create IAM role for importing image with EC2 image builder
    • Create Infrastructure Configuration for importing image with EC2 image builder
    • Import image with EC2 image builder
    • Create image and bundle with Horizon Agent
    • Create pool in Horizon 8

Image creation workflow

Creating S3 bucket and upload the windows 11 ISO image

1. Login to AWS console and find [S3] service > [Create bucket] > [Ggeneral Purpose] > give the name of your choice to bucket > [Create].

A screenshot of a web page

Description automatically generated A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated

2. Expand your newly create S3 bucket > select [Upload] to upload the windows 11 ISO image > [Add files] > locate the downloaded Windows 11 ISO image > select [Upload].

Note: Ensure that the .ISO format is in ALL CAP.

A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A blue rectangular object with red border

Description automatically generated

3. Confirm that the ISO image upload is succeeded.

A screenshot of a computer

Description automatically generated

Create IAM role for importing image with EC2 builder

4. In AWS console, navigate to [IAM] > [Role] > [Create Role]

A screenshot of a search box

Description automatically generated

A screenshot of a computer

Description automatically generated

5. Select [AWS Service] as trusted entity > select [EC2] in use case > [Next]

A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated

6. Select below  permissions from the drop down > give the name to the role > [Create Role] > confirm the role has been created successfully.

AmazonSSMManagedInstanceCore
EC2InstanceProfileForImageBuilder
EC2InstanceProfileForImageBuilderECRContainerBuilds

A screenshot of a computer Description automatically generated

A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated

Creating Infrastructure Configuration for importing image with EC2 image builder

7. Find [EC2 Image Builder] in AWS console and navigate to [Infrastructure Configuration] in the left pane of console > select [Create Infrastructure Configuration]

A screenshot of a computer

Description automatically generated

A screenshot of a screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

8. In general section, give the [Name] of your choice > select the [IAM role] you created in previous section > define [AWS infrastructure] as you needed > create [SNS topic] with default setting.

A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated

9. In VPC, Subnet and Security Group section, select the VPC, Subnet and Security Group as per your setup > [Create]

A screenshot of a computer

Description automatically generated

10. Confirm that [Infrastructure Configuration] is successfully configured.

A screenshot of a computer

Description automatically generated

Import image with EC2 Image Builder

11. Select [Images] in EC2 image builder > [Import image] > give the [Name] and [version]

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

12. In Base image operating system section, select [ISO Import] > Browse S3 bucket and located the previously uploaded Windows 11 ISO image.

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

13. Select the previously created [Infrastructure Configurations] from the drop down > [Import Image]

A screenshot of a computer

Description automatically generated

14. Importing image has been started. This may take some time depending on the ISO image file size. Wait until ISO image file to be uploaded successfully.

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

15. Confirm that an image has been imported successfully. Click in the image name hyperlink and note down the [AMI ID] of imported image. This ID will be used in next steps.

A screenshot of a facebook page

Description automatically generated

A screenshot of a computer

Description automatically generated

Importing image to Amazon Workspaces

16. We will execute below script to import the image to Amazon workspace. Open the AWS Cloud shell and execute the script.

Sample Script

aws workspaces import-workspace-image --ec2-image-id <your ami id> --ingestion-process BYOL_REGULAR_BYOP --image-name <your-image-name> --image-description <your-image-description>
--ec2-image-id        replace the ami id from previous step

--image-name          you can give any name

--image-description   you can give any description

Note: if the script is executed successfully, it returns the [ImageId] as seen in above screenshot “ImageId”: “wsi-1t1d7ld61”

17. Navigate to Amazon Workspaces Console > [Images] > find a newly created image named “Windows11” > click in image name hyperlink > you will see image creation is in [pending] state. This may take up 30+ mins.

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

18. Confirm image status is now [Available] > select the image > [Actions] > [Create Bundle].

A screenshot of a phone

Description automatically generated

A screenshot of a box

Description automatically generated

Note: this bundle is not for Horizon 8 pool creation. With this bundle we will create another Workspace (machine) and install the Horizon Agent on it and we will create another image/ bundle for Horizon 8 pool creation.

19. Give the [Name] and [Description] to the bundle > choose the appropriate [Bundle Hardware type] and [Storage] > select [Create Bundle] > confirm that a bundle has been created successfully and status is [Available].

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

Creating a Workspace (machine) on which we install Horizon Agent

20. We will use Amazon Cloud-shell command to create the Workspace. Replace [DirectoryId], [BundleId] and [WorkspaceName] matching with your configuration. Open the Cloud-shell from AWS console and execute the command.

Note: you could create the Workspace from console UI as well but it only allows you to select the monthly billing. For the test purpose, may not want to opt for monthly billing. If you create the workspace machine with cloud-shell, it allows you to choose the hourly billing option while creating the automated desktop pool in Horizon admin console.

Script format:

aws workspaces create-workspaces --workspaces DirectoryId=<your-directory-id>,UserName="'[UNDEFINED]'",BundleId=<bundle-name-in workspace>,WorkspaceProperties={RunningMode=MANUAL},WorkspaceName=<name-of-your-choice>

A screenshot of a computer

Description automatically generated

21. Navigate to Workspaces > [Personal] an confirm workspace (machine) creation is in pending stat. It may take some time until the status become [Available]. Once the status becomes [Available], note down the IP address allocated to workspace.

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated
Installing Horizon Agent in Workspace machine

22. RDP to Workspace machine from one of the EC2 instance by using domain administrator credential > download or copy the Horizon 8 Agent installer to Workspace machine.

Note: To be able to RDP to Workspace machine you need to add the RDP rule on security group which is associated with bundle network interface. Follow this link for detail.

Execute the Horizon Agent installer and follow the on screen instructions.

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

Note: To avoid the multiple reboots of image machine, I would recommend to complete the pairing (step 23) before clicking in [Finish] but  if you accidentally selected [Finish], that’s ok too. You can continue to step-23 after the image reboot is completed.

23. In Horizon8 administration console, navigate to [Registered Machines] > [Others] > you should see the workspace machine in the list. Select the [Workspace] name > [Set the Golden Image] > [OK]. This will initiate the agent paring with bundle machine and Horizon Connection Server.

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a video game

Description automatically generated

24. Return the Workspace machine RDP session and click [Finish] > [Yes]. Once the image is rebooted, again RDP to Workspace machine and check if the appropriate Horizon Agent is installed correctly.

A screenshot of a computer

Description automatically generated

A screenshot of a computer error

Description automatically generated

A screen shot of a computer

Description automatically generated

25. Navigate to Amazon WorkSpaces console > [Personal] > click on hyperlink of [Workspace Name] where you have installed the Horizon Agent > select [Create Image] > give the name of your choice to the image > [Create Image].

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated A screenshot of a computer

Description automatically generated

26. Confirm that the image is created successfully, and the status is [Available]. Image creation may take 30-40 minutes. If you can

A screenshot of a software package

Description automatically generated

Create a bundle for Horizon 8 pool consumption

27. Once the image creation is completed and status becomes [available], select [Image] > [Action] > [Create Bundle] > give the name of your choice to the bundle in [Bundle Name] > select [Bundle hardware type] and [Storage] as you need > select [Create Bundle].

Note: This is the bundle we use to create the desktops pool in Horizon 8.

A screenshot of a box

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

Create a pool in Horizon 8 admin console

In previous step, we have created a bundle name “gp-image01”. Now we can create the desktops pool with this bundle.

28. Login to Horizon 8 admin console > [Desktops] > [Add] > [Automated Desktop Pool] > [Next].

A screenshot of a computer

Description automatically generated A screenshot of a chat

Description automatically generated A screenshot of a computer

Description automatically generated

29. Select the Amazon WorkSpaces Core capacity provider which have registered during the installation and configuration (part-I step#29,) > [Next] > set the assignment type as [Floating] or [Dedicated]. I am selection dedicated for my testing purpose.

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

30. Define the [Pool ID] > select the [Directory] and [Bundle] which you have created in Amazon WorkSpaces.

Note: Since we are creating the Windows 11 BYOL pool, the directory we are going to choose here MUST have dedicated workspace BYOL associated/enabled if you have multiple directories in your setup.

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

32. Select [Monthly Billing] or [Hourly Billing] as per your requirement. I am selecting [Power Optimised Hourly Billing] > [Next] > [Submit].

A screenshot of a computer

Description automatically generated

A screenshot of a computer

Description automatically generated

Note: You can set the [Idle timeout suspend] as per your use-case and requirement.

A screenshot of a remote display

Description automatically generated

A screenshot of a computer

Description automatically generated

33. Pool creation task has started. This may take 10-12 mins until the Horizon agent status becomes [Available] and ready for consumption.

A screenshot of a computer

Description automatically generated

34. Click on hyperlink of [Pool Name] > [Machines] > Agent status is not showing as [available].

A screenshot of a computer

Description automatically generated

Loading