Citrix Virtual Apps and Desktops

Power manage AWS VMs

For information on required permissions, see Required AWS permissions.

Instance Hibernation

The hibernation process stores the in-memory state of the instance, along with its private, and elastic IP addresses, allowing it to pick up exactly where it left off.

When an instance is instructed to hibernate, it writes the in-memory state to a file in the root EBS volume, and then shuts itself down. An Amazon EBS volume is a durable, block-level storage device that you can attach to your instances. After you attach a volume to an instance, you can use it as you would use a physical hard drive. Encrypt the root EBS volume of the instance. The encryption ensures proper protection for sensitive data when it is copied from memory to the EBS volume. For information on EBS encryption, see Amazon EBS encryption.

Following are the limitations of the supported instance hibernation:

  • Instance memory (RAM) of only up to 150 GB is supported
  • UEFI boot mode is not supported
  • The General Purpose SSD and Provisioned IOPS SSD are only supported as EBS volume types.

Create hibernation supported VMs

To create hibernation supported VMs:

  1. Create a host connection. See Connection to AWS.
  2. Launch an instance with EBS root encrypted and the Stop-Hibernate property enabled. For more information on how to launch the instance, encrypt root EBS volume, and enable hibernation, see https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/launching-instance.html/. Use this instance as a master image to create an AMI.
  3. Prepare the master image:

    1. Install a VDA on the master image. Citrix recommends installing the latest version to allow access to the newest features. Failure to install a VDA on the master image causes the catalog creation to fail. For more information on how to install a VDA, see Install VDAs.
    2. Join the master image to the domain where applications and desktops are members. Ensure that the master image is available on the host where the machines are created.
  4. Create an AMI from that instance. For information on creating an AMI from an instance, see Create an AMI from an Amazon EC2 Instance.
  5. Create a machine catalog using New-ProvScheme command. Set the AwsCaptureInstanceProperties custom property as True. For information on enabling AWS instance properties in the Full configuration interface, see Applying AWS instance properties and tagging operational resources in the Full Configuration interface.

    New-ProvScheme  -AdminAddress "xxx" -CleanOnBoot
    -CustomProperties "AwsCaptureInstanceProperties,true;"
    -HostingUnitName "xxx" -IdentityPoolName $catalog_name -InitialBatchSizeHint 1
    -MasterImageVM "xyz.template" -NetworkMapping @{"0"="XDHyp:\HostingUnits\MyConn\\us-east-2a.availabilityzone\10.0.0.0``/24 (vpc-0f1771e45671aedcd).network"}
    -ProvisioningSchemeName $catalog_name
    -RunAsynchronously -Scope @() -SecurityGroup @("xxx") -ServiceOffering "xxx"
    <!--NeedCopy-->
    

    For information on creating machine catalog using PowerShell commands, see https://developer-docs.citrix.com/projects/citrix-daas-sdk/en/latest/.

VMs that can be hibernated are created if:

  • You select an AMI created from a master image that has the Stop-Hibernate property enabled.
  • The master VM is domain joined and has the VDA installed.
  • You select the correct VM size (service offering) that can handle hibernation.

The New-ProvScheme command fails with an appropriate error message if:

  • The master VM is hibernation enabled but the service offering is not capable of handling hibernation.
  • If the master VM is not domain joined and has no VDA installed.

Hibernation status of service offerings and AMI

To get the hibernation status of the service offerings and AMI (templates), run the following commands:

  • Get-HypConfigurationObjectForItem 'XDHyp:\HostingUnits\MyConn\WIN2016-ADDC-2021.09.10.145334-a1968709-10c4-47d5-9642-21e743159a7b (ami-0e6c5b33a52d2a6b6).template'
  • Get-HypConfigurationObjectForItem 'XDHyp:\HostingUnits\MyConn\R6i Sixteen Extra Large Instance.serviceoffering'

Update service offering of an existing hibernation supported provisioning scheme

  1. Run the Set-ProvScheme command. For example,

    Set-ProvScheme -ProvisioningSchemeName <String> -ServiceOffering <String>
    <!--NeedCopy-->
    

The system displays an exception message if the service offering is not compatible.

Update machine catalog that supports hibernation

If you try to update an existing machine catalog with a machine catalog that does not support hibernation, the update fails with an appropriate error message.

Power management of hibernated VMs

You can do the following power management operations on the hibernated VMs:

  1. Suspend VM from the running state.
  2. Resume VM from the suspended state.
  3. Restart VM from the suspended state.
Power manage AWS VMs