创建 AWS 目录

创建计算机目录 介绍了创建计算机目录的向导。以下信息涵盖了 AWS 虚拟化环境特有的详细信息。

注意:

在创建 AWS 目录之前,您需要完成与 AWS 的连接创建。请参阅连接到 AWS

局限性

从 Citrix Virtual Apps and Desktops™ 2203 LTSR 及更高版本开始,MCS AWS 插件会进行 DescribeInstanceTypes AWS API 调用,如果调用成功,则 MCS 会使用从 API 响应创建的清单名称。

因此,当您从 Citrix Virtual Apps and Desktops 1912 升级到 2203 或更高版本时,请禁用 AWS 上的 DefineInstanceType 权限,然后使用 Set-ProvScheme 命令更新现有目录以匹配 AWS 命名方案。然后,在目录更新完成且服务产品与 AWS 命名方案匹配后,重新添加 DescribeInstanceType 权限。

映像准备期间的网络设置

在映像准备期间,会根据原始 VM 创建一个准备虚拟机 (VM)。此准备 VM 与网络断开连接。为了将网络与准备 VM 断开连接,会创建一个网络安全组以拒绝所有入站和出站流量。此网络安全组会持久存在并被重复使用。该网络安全组的名称为 Citrix.XenDesktop.IsolationGroup-GUID,其中 GUID 是随机生成的。

配置 AWS 租用

AWS 提供以下租用选项:

  • 共享租用(默认类型):来自不同客户的多个 Amazon EC2 实例可能驻留在同一物理硬件上。
  • 专用租用:您的 EC2 实例仅在您已部署的其他实例所在的硬件上运行。其他客户不使用同一物理硬件。

您可以使用 MCS 通过 PowerShell 预配 AWS 专用主机。

使用 PowerShell 配置 AWS 专用主机租用

您可以通过 PowerShell 创建具有主机租用定义的计算机目录。

Amazon [EC2] 专用主机是具有 [EC2] 实例容量的物理服务器,该容量完全专用,允许您使用现有的按插槽或按虚拟机软件许可证。

专用主机具有基于实例类型的预设利用率。例如,单个分配的 C4 Large 实例类型的专用主机仅限于运行 16 个实例。有关详细信息,请参阅 AWS 站点

预配到 AWS 主机的要求包括:

  • 导入的 BYOL(自带许可证)映像 (AMI)。使用专用主机,您可以使用和管理现有许可证。
  • 已分配的专用主机资源,其利用率足以满足预配请求。
  • 启用 自动放置

若要使用 PowerShell 在 AWS 中预配到专用主机,请使用 New-ProvScheme cmdlet,并将参数 TenancyType 的值设置为 Host

有关详细信息,请参阅 Citrix 开发人员文档

从计算机配置文件捕获计算机属性

使用 MCS 创建目录以预配 AWS 计算机时,您可以使用计算机配置文件预设某些计算机属性设置。

为此,请执行以下步骤:

  1. 将计算机配置文件存储在与您正在创建此目录的资源相同的可用区中。
  2. 在目录创建向导的“计算机模板”页面上,选择“使用计算机配置文件”。将显示与您选择的资源位于同一可用区中的计算机配置文件。
  3. 根据需要选择计算机配置文件。

标记 AWS 操作资源

使用 MCS 在 AWS 中创建目录以预配计算机时,您可以控制是否将 IAM 角色和标签属性应用于这些计算机。您还可以控制是否将计算机标签应用于操作资源。

Amazon Machine Image (AMI) 表示一种虚拟设备,用于在 Amazon 云环境(通常称为 EC2)中创建虚拟机。您可以使用 AMI 部署使用 EC2 环境的服务。当您创建目录以使用 MCS for AWS 预配计算机时,您选择 AMI 作为该目录的黄金映像。

重要:

使用计算机配置文件和启动模板创建目录是使用操作资源标记所必需的。

要创建 AWS 目录,您必须首先为您希望作为黄金映像的实例创建 AMI。MCS 从该实例读取标签并将其合并到启动模板中。然后,启动模板标签将应用于在您的 AWS 环境中创建的所有 Citrix® 资源,包括:

  • 虚拟机器
  • 虚拟机磁盘
  • 虚拟机网络接口
  • S3 存储桶
  • S3 对象
  • 启动模板
  • AMI

使用 Web Studio 标记操作资源

使用 MCS 在 AWS 中创建目录以预配计算机时,您可以通过在“计算机模板”页面上选择“将计算机标签应用于操作资源”选项来控制是否将计算机标签应用于操作资源。

此选项控制是否将计算机标签应用于在您的 AWS 环境中创建的每个项目,以方便计算机预配。操作资源是目录创建的副产品。它们包括临时资源和持久资源,例如准备 VM 实例和 AMI。

使用 PowerShell 标记操作资源

要使用 PowerShell 标记资源:

  1. 请从 DDC 主机上打开 PowerShell 窗口。
  2. 运行命令 asnp citrix 以加载 Citrix 特定的 PowerShell 模块。

要为预配的 VM 标记资源,请使用自定义属性 AwsOperationalResourcesTagging。示例:

New-ProvScheme -ProvisioningSchemeName test
-CustomProperties “AwsOperationalResourcesTagging,true”
-MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxxx).launchtemplate\lt-01xxxxx (1).launchtemplateversion"
... <Other <standard provscheme parameters>
<!--NeedCopy-->

复制 VM 上的标签

您可以将计算机配置文件中指定的 NIC 和磁盘(身份磁盘、回写缓存磁盘和操作系统磁盘)上的标签复制到 MCS 计算机目录中新创建的 VM。您可以在任何计算机配置文件源(AWS VM 实例或 AWS 启动模板版本)中指定这些标签。此功能适用于持久和非持久计算机目录和 VM。

注意:

  • 在 AWS EC2 控制台中,您无法在 启动模板版本资源标签 下看到 标记网络接口 值。但是,您可以运行 PowerShell 命令 aws ec2 describe-launch-template-versions --launch-template-id lt-0bb652503d45dcbcd --versions 12 来查看标签规范。
  • 如果计算机配置文件源(VM 或启动模板版本)有两个网络接口(eni-1 和 eni-2),并且 eni-1 具有标签 t1,eni-2 具有标签 t2,则 VM 将获得这两个网络接口的标签。

使用计算机配置文件创建目录

您可以使用计算机配置文件从 EC2 实例 (VM) 或启动模板版本捕获硬件属性,并将其应用于预配的计算机。捕获的属性可以包括例如 EBS 卷属性、实例类型、EBS 优化、CPU 选项、租用类型、休眠功能以及其他受支持的 AWS 配置。

您可以使用 AWS EC2 实例 (VM) 或 AWS 启动模板版本作为计算机配置文件输入。

注意:

  • EBS 卷属性仅从计算机配置文件派生。
  • MCS 为 VM 配置 GP3 卷类型的身份磁盘。由于 GP3 卷类型是 AWS 提供的最便宜的选项,此功能可最大限度地降低成本。此实现仅适用于添加到新目录的 VM 和添加到现有目录的新 VM。在此功能之前创建的现有 VM 将继续使用 GP2 卷类型的 ID 磁盘,除非重置 ID 磁盘。

重要注意事项

创建 MCS 计算机目录时的重要注意事项:

  • 如果您在 New-ProvSchemeSet-ProvScheme 命令中添加计算机硬件属性参数,则参数中提供的值将覆盖计算机配置文件中的值。
  • 如果您将 AwsCaptureInstanceProperties 设置为 true 并且未设置 MachineProfile 属性,则仅捕获 IAM 角色和标签。
  • 您不能同时设置 AwsCaptureInstancePropertiesMachineProfile

    注意:

    AwsCaptureInstanceProperties 已弃用。

  • 如果未提供计算机配置文件,则必须明确提供以下属性的值:

    • 安全群组
    • ENI 或虚拟网络
  • 仅当您启用 AwsCaptureInstanceProperties 或指定计算机配置文件时,才能启用 AwsOperationalResourcesTagging

创建 MCS 计算机目录后的重要注意事项:

  • 您无法将目录从基于计算机配置文件的目录更改为非基于计算机配置文件的目录。

使用计算机配置文件创建计算机目录

要使用计算机配置文件创建计算机目录,请执行以下操作:

  1. 打开一个 PowerShell 命令行窗口。
  2. 执行 asnp citrix* 命令,以便加载与 Citrix 相关的 PowerShell 模块。
  3. 如果尚未创建身份池,请创建一个。例如,

    New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain abcdf -NamingSchemeType Numeric
    <!--NeedCopy-->
    
  4. Run New-ProvScheme command. For example:

    New-ProvScheme -ProvisioningSchemeName demet-test-1
    -HostingUnitUid aa633238-9xxd-4cf6-80e8-232a758a1xx1
    -IdentityPoolUid 34d5b088-e312-416f-907d-16573xxxxxc4
    -CleanOnBoot
    -MasterImageVM 'XDHyp:\HostingUnits\cvad-test-scalestress\citrix-demet-ami.0 (ami-0ca813xxxxxx061ef).template'
    -MachineProfile 'XdHyp:\HostingUnits\cvad-test-scalestress\us-east-1a.availabilityzone\machine-profile-instance i (i-0xxxxxxxx).vm'
    <!--NeedCopy-->
    
  5. 完成目录创建。有关详细信息,请参阅 Citrix PowerShell SDK

更新计算机配置文件

要更新最初使用计算机配置文件预配的目录上的计算机配置文件,请执行以下操作。您还可以在编辑 MCS 计算机目录时更改计算机配置文件源的租用类型和休眠功能。

  1. 运行 Set-ProvScheme 命令。例如,

    Set-ProvScheme `
    -ProvisioningSchemeUid "<ID" `
    -MachineProfile "XDHyp:\HostingUnits\abc\us-east-1a.availabilityzone\citrix-cvad-machineprofile-instance (i-0xxxxxxxx).vm"
    <!--NeedCopy-->
    

使用启动模板版本创建目录

您可以使用启动模板版本作为计算机配置文件输入来创建 MCS 计算机目录。您还可以将计算机配置文件目录的输入从 VM 更新为启动模板版本,以及从启动模板版本更新为 VM。

在 AWS EC2 控制台中,您可以提供启动模板的实例配置信息以及版本号。当您在创建或更新计算机目录时将启动模板版本指定为计算机配置文件输入时,该启动模板版本的属性将复制到预配的 VDA VM。

以下属性可以使用计算机配置文件输入提供,也可以作为 New-ProvSchemeSet-ProvScheme 命令中的参数显式提供。如果它们在 New-ProvSchemeSet-ProvScheme 命令中提供,则它们优先于这些属性的计算机配置文件值。

  • 服务产品
  • 网络
  • Security Groups
  • 租用类型

注意:

如果在计算机配置文件启动模板中未提供服务产品,或者未在 New-ProvScheme 命令中将其作为参数提供,则会收到相应的错误。

要使用启动模板版本作为计算机配置文件输入来创建目录:

  1. 打开一个 PowerShell 命令行窗口。
  2. Run asnp citrix* to load the Citrix-specific PowerShell modules.
  3. 获取启动模板的启动模板版本列表。例如:

    XDHyp:\HostingUnits\test\test-mp-sard (lt-01xxxxx).launchtemplate> ls | Select FullPath
    <!--NeedCopy-->
    
  4. 如果尚未创建身份池,请创建一个。例如:

    New-AcctIdentityPool `
    -IdentityPoolName "abc11" `
    -NamingScheme "abc1-##" `
    -NamingSchemeType Numeric `
    -Domain "citrix-xxxxxx.local" `
    -ZoneUid "xxxxxxxx" `
    <!--NeedCopy-->
    
  5. 使用启动模板版本作为计算机配置文件输入来创建预配方案。例如:

    New-ProvScheme `
    -ProvisioningSchemeName "MPLT1" `
    -HostingUnitUid "c7f71f6a-3f45-4xxx-xxxx-xxxxxxxxxx" `
    -IdentityPoolUid "bf3a6ba2-1f80-4xxx-xxxx-xxxxxxxxx" `
    -MasterImageVM "XDHyp:\HostingUnits\xxxd-ue1a\apollo-non-persistent-vda-win2022 (ami-0axxxxxxxxxxx).template" `
    -CleanOnBoot `
    -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-01xxxxx).launchtemplate\lt-01xxxxx (1).launchtemplateversion"
    <!--NeedCopy-->
    
  6. 将预配方案注册为代理目录。例如:

    New-BrokerCatalog -Name "MPLT1" `
    -AllocationType Random `
    -Description "Machine profile catalog" `
    -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx `
    -ProvisioningType Mcs `
    -SessionSupport MultiSession `
    -PersistUserChanges Discard
    <!--NeedCopy-->
    
  7. 完成目录创建。有关详细信息,请参阅 Citrix PowerShell SDK

您还可以将计算机配置文件目录的输入从 VM 更新为启动模板版本,以及从启动模板版本更新为 VM。例如:

  • 要将计算机配置文件目录的输入从 VM 更新为启动模板版本:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\xxxx-ue1a\machineprofiletest (lt-0bxxxxxxxxxxxx).launchtemplate\lt-0bxxxxxxxxxxxx (1).launchtemplateversion"
     <!--NeedCopy-->
    
  • 要将计算机配置文件目录的输入从启动模板版本更新为 VM:

     Set-ProvScheme -ProvisioningSchemeName "CloudServiceOfferingTest" `
     -MachineProfile "XDHyp:\HostingUnits\sard-ue1a\us-east-1a.availabilityzone\apollo-non-persistent-vda-win2022-2 (i-08xxxxxxxxx).vm"
     <!--NeedCopy-->
    

启用 MCSIO 的目录

MCS 存储优化 (MCSIO) 通过将磁盘操作缓存在内存中或小型高速磁盘上,从而提高 VM 的性能。您可以使用 PowerShell 命令创建启用 MCSIO 的非持久性目录。要创建此类目录,您必须在准备 AMI 实例期间安装或升级 VDA 时安装 MCSIO 驱动程序。默认情况下,该驱动程序未安装。

准备好 MCSIO AMI 后,您可以创建启用 MCSIO 的非持久性目录。

创建启用 MCSIO 的目录

The four parameters added to the New-ProvScheme PowerShell command are:

  • UseWriteBackCache:为给定预配方案启用缓存(回写缓存)
  • WriteBackCacheDiskSize:指定用于缓存的临时磁盘的大小(以 GB 为单位)
  • WriteBackCacheMemorySize:指定用于缓存的内存量(以 MB 为单位)。这是一个可选参数。
  • WriteBackCacheDriverLetter:指定用于缓存存储磁盘的驱动器号。这是一个可选参数。

注意:

  • WriteBackCacheDiskSize 的值必须大于零,因为至少需要 1 GB 的缓存磁盘存储。缓存磁盘大小不得大于操作系统磁盘大小。
  • WriteBackCacheMemorySize 的值必须为非零且小于计算机目录内存大小。

影响 MCSIO 的自定义属性包括:

  • WBCDiskStorageType:定义用于 AWS 中临时磁盘的卷类型。此参数采用 volume-type[:iops][:throughput] 格式的字符串参数。以下是卷类型:

    • gp2: 对于此卷类型,请勿使用 iops 和吞吐量参数
    • gp3: 对于此卷类型,请使用 iops 和吞吐量参数
    • io1: 对于此卷类型,请仅使用 iops 参数
    • io2: 对于此卷类型,请仅使用 iops 参数

    默认卷类型为 gp2

  • PersistWBC:控制在 AWS 实例关闭时是保留还是丢弃缓存磁盘。如果设置为 true,则保留缓存磁盘。如果设置为 false(默认值),则仅在 AMI 实例开机时创建并保留缓存磁盘。
  • PersistOSDisk:控制在 AWS 实例关闭时是保留还是丢弃操作系统磁盘。如果设置为 true,则保留操作系统磁盘。如果设置为 false(默认值),则仅在 AMI 实例开机时创建并保留操作系统磁盘。

在 PowerShell 窗口中执行以下步骤以创建启用 MCSIO 的非持久性目录:

  1. Open the PowerShell window.
  2. 运行 asnp citrix* 以加载思杰专用 PowerShell 模块。
  3. 创建一个代理目录和一个身份池。
  4. 创建预配方案。具体示例如下:

    $HostingUnitUid = '0xxxx1d9-bbfc-xxxf-bxxb-exxxxxe008b2'
    $MasterImageVM = 'XDHyp:\HostingUnits\ctx-test\aws-apollo-non-persistent-multi-mcsio-vda-win2022 (ami-0bf1810488acbxxxb).template'
    $NetworkMap = @{ 'NetworkPath' = 'XDHyp:\HostingUnits\ctx-test\us-east-1a.availabilityzone\10.0.128.0`/17 (vpc-0fa6e41d72507fxxx).network' }
    $SecurityGroup = $( 'XDHyp:\HostingUnits\ctx-test\us-east-1a.availabilityzone\private.securitygroup' )
    $ServiceOffering = 'XDHyp:\HostingUnits\ctx-test\T3 Medium Instance.serviceoffering'
    $CustomProperties = 'WBCDiskStorageType,gp3:6000:250;PersistWBC,false'
    
    
    $provScheme = New-ProvScheme -ProvisioningSchemeName $CatalogName -HostingUnitUid $HostingUnitUid `
    -IdentityPoolUid $acctPool.IdentityPoolUid -CleanOnBoot `
    - MasterImageVM $MasterImageVM `
    -NetworkMap $NetworkMap `
    -ServiceOffering $ServiceOffering `
    -SecurityGroup $SecurityGroup `
    -CustomProperties $CustomProperties `
    -UseWriteBackCache -WriteBackCacheDiskSize 16 -WriteBackCacheMemorySize 256
    <!--NeedCopy-->
    
  5. 将 VM 添加到目录。

使用 MCSIO 提高启动性能

如果启用 MCSIO 并将 PersistWBCPersistOSDisk 自定义属性设置为 true,则可以提高 VM 的启动性能。通过此设置,VM 可以更快地启动,因为它们无需初始化新的缓存磁盘或从其模板重新创建根磁盘。

加密操作系统、ID 和 WBC 磁盘

您可以使用 AWS KMS 密钥(客户管理密钥和 AWS 管理密钥)创建持久和非持久的 VM 目录,这些密钥可用于加密操作系统磁盘、身份磁盘 (ID) 和回写缓存磁盘 (WBC)。

  • AWS 管理密钥每年自动轮换。
  • 客户管理的密钥可以选择自动轮换,也可以手动管理。

有关 KMS 密钥的更多信息,请参阅以下 AWS 文档:

对于操作系统、ID 和 WBC 磁盘的加密,请配置以下其中一项:

  • 使用已加密的主映像(例如,从包含使用 KMS 密钥加密的 EBS 根卷的实例或快照创建的 AMI)
  • 使用包含加密 EBS 根卷的计算机配置文件源(VM 或启动模板)。

局限性

请考虑以下局限性:

  • MCS 目前仅支持主映像 AMI 上的一个磁盘。
  • 您无法直接加密现有的未加密 EBS 卷或快照,也无法修改现有加密卷的 KMS 密钥。为此,您必须:

    1. 对该卷创建一个新的快照。
    2. 从该快照创建一个新卷
    3. 加密这个新卷。

请参阅以下 AWS 文档:

创建具有磁盘加密的目录

您可以使用以下方式创建具有磁盘加密的 MCS 计算机目录:

  • 主映像
  • 计算机配置文件

使用计算机配置文件输入时的注意事项包括:

  • 计算机配置文件输入的 KMS 密钥优先于主映像的 KMS 密钥。
  • 如果未提供计算机配置文件输入,则使用主映像 AMI 的 KMS 密钥来加密目录 VM 的磁盘。
  • 如果计算机配置文件中存在块设备映射,则主映像模板 (AMI) 和计算机配置文件中存在的块设备必须匹配。例如,如果 AMI 在 /dev/sda1 上定义了一个设备,则计算机配置文件也必须在 /dev/sda1 上定义一个设备。
  • 如果计算机配置文件源中没有密钥且主映像未加密,则目录 VM 的磁盘不会被加密。
  • 当主映像已加密时,计算机配置文件源 VM 或启动模板必须具有加密的根卷才能被视为有效输入。

对现有目录进行修改

您可以使用 Set-ProvScheme PowerShell 命令修改现有目录,以使其具有:

  • 包含新 KMS 密钥的卷的计算机配置文件输入。
  • 使用新 KMS 密钥加密的主映像模板 AMI。

重要注意事项:

  • 添加到目录的新 VM 的卷使用新的 KMS 密钥进行加密。
  • 要在存在现有计算机配置文件时更新加密设置,请使用新的计算机配置文件运行 Set-ProvScheme
  • 您无法将现有目录从加密卷修改为未加密卷。 您无法从加密的主 AMI 更新映像到未加密的主 AMI。

为 VM 实例启用 NitroTPM 和 UEFI 安全启动

创建目录时,您现在可以选择启用 NitroTPM 和/或 UEFI 安全启动的主映像 (AMI)。因此,目录中预配的 VM 也将启用 NitroTPM 和/或 UEFI 安全启动。此实现可确保 VM 的安全性和可信度。有关 NitroTPM 和 UEFI 安全启动的更多信息,请参阅 Amazon 文档

限制条件

  • 目前,您可以在除中国以外的所有 AWS 区域(包括 AWS GovCloud (US) 区域)中使用 NitroTPM 和安全启动。
  • 您无法在现有目录上启用 NitroTPM 和 UEFI 安全启动。如果您需要启用 NitroTPM 和 UEFI 安全启动的目录,请创建一个新目录。

关键步骤

  1. 设置您的 AWS 环境。
  2. 创建到 AWS 的连接。
  3. 创建启用 NitroTPM 和/或 UEFI 安全启动的主映像 (AMI)(#create-an-ami-that-supports-nitrotpm-and-uefi-secure-boot)。
  4. 在 Web Studio 目录创建菜单中选择启用 NitroTPM 和 UEFI 安全启动的主映像,或者在使用 PowerShell 命令创建预配方案时,创建计算机目录。

添加到所创建目录的 VM 已启用 NitoTPM 和 UEFI 安全启动。

创建支持 NitroTPM 和 UEFI 安全启动的 AMI

  1. 您可以从已启用 NitroTPM 和/或 UEFI 安全启动的 VM 创建 AMI。

    1. 使用 AWS Marketplace 映像创建实例。例如,搜索 TPM-Windows_Server-2022-English-Full-Base on the aws-marketplace
    2. 下载单会话或多会话 VDA。
    3. 从该 VM 创建 AMI。
  2. Use the register-image command:

    --boot-mode (string)
    --tpm-support (string)
    <!--NeedCopy-->
    

    For more information, see register-image.

请参阅以下 AWS 文档:

您可以从 Delivery controller™ 主机打开 PowerShell 窗口,以便检查以下特定内容:

  • 服务产品支持 NitroTPM 或 UEFI 安全启动

     (Get-Item -Path “XDHyp:\HostingUnits\aws\T3 Medium Instance.serviceoffering”).AdditionalData.BootMode
     (Get-Item -Path “XDHyp:\HostingUnits\aws\T3 Medium Instance.serviceoffering”).AdditionalData.NitroTpmSupportVersions
     <!--NeedCopy-->
    
  • 模板支持 NitroTPM 或 UEFI 安全启动

     (Get-HypInventoryItem -LiteralPath “XDHyp:\HostingUnits\aws” -ResourceType “template -Id “ID”).AdditionalData.BootMode
    
     (Get-HypInventoryItem -LiteralPath “XDHyp:\HostingUnits\aws” -ResourceType “template -Id “ID”).AdditionalData.TpmSupport
     <!--NeedCopy-->
    

更新现有目录的服务产品配置

您可以使用 Set-ProvScheme 更改现有目录的服务产品。此更改适用于新添加的 VM。但是,在以下情况下会收到错误:

AMI 启动模式 AMI 映像是否支持 Nitro TPM 功能? 服务产品支持 NitroTPM 和 UEFI 安全启动吗?
统一可扩展固件接口
传统基本输入输出系统
统一可扩展固件接口
统一可扩展固件接口 优先

筛选 VM 实例

您用作计算机配置文件 VM 的 AWS EC2 实例必须兼容,才能使计算机目录正确创建和运行。要列出可用作计算机配置文件输入 VM 的 AWS EC2 实例,可以使用 Get-HypInventoryItem 命令。该命令可以对托管单元上可用的 VM 清单进行分页和筛选。

分页:

Get-HypInventoryItem 支持两种不同的数据分页模式:

  • 分页模式使用 -MaxRecords-Skip 参数返回项目集:
    • -MaxRecords:默认值为 1。这控制要返回的项目数。
    • -Skip:默认值为 0。这控制从管理程序列表中绝对开头(或绝对结尾)跳过的项目数。
  • 滚动模式使用 -MaxRecords-ForwardDirection-ContinuationToken 参数来允许记录滚动:
    • -ForwardDirection:默认值为 True。这与 -MaxRecords 一起使用,以返回下一组匹配记录或上一组匹配记录。
    • -ContinuationToken:返回紧随其后(如果 ForwardDirectionfalse 则为之前)但不包括 ContinuationToken 中给定项目的项目。

分页的示例:

  • 返回名称最低的机器模板的单个记录。AdditionalData 字段包含 TotalItemsCountTotalFilteredItemsCount

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template
     <!--NeedCopy-->
    
  • 返回名称最低的机器模板的 10 条记录:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • 返回以最高名称结尾的记录数组:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ForwardDirection $False -MaxRecords 10 | select Name
     <!--NeedCopy-->
    
  • 返回从与给定 ContinuationToken 关联的机器模板开始的记录数组:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -ContinuationToken "ami-07xxxxxxxxxx" -MaxRecords 10
     <!--NeedCopy-->
    

筛选:

以下是支持筛选功能的附加可选参数。您可以将这些参数与分页选项结合使用。

  • -ContainsName "my_name":如果给定字符串与 AMI 名称的一部分匹配,则该 AMI 将包含在 Get 结果中。例如:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -ContainName ‘apollo’ | select Name
     <!--NeedCopy-->
    
  • -Tags '{ "Key0": "Value0", "Key1": "Value1", "Key2": "Value2" }':如果 AMI 至少具有其中一个标签,则它将包含在 Get 结果中。例如:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -Tags '{"opex owner": "Not tagged"}' | select Name
     <!--NeedCopy-->
    

    注意:

    支持两种标签值。未标记标签值匹配其标签列表中没有给定标签的项目。所有值标签值匹配具有该标签(无论标签值如何)的项目。否则,仅当项目具有该标签且其值与筛选器中给定的值相等时,才会发生匹配。

  • -Id "ami-0a2d913927e0352f3":如果 AMI 与给定 ID 匹配,则它将包含在 Get 结果中。例如:

     Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -Id ami-xxxxxxxxxxxxx
     <!--NeedCopy-->
    

根据附加数据参数进行筛选:

AdditionalData 筛选器参数根据模板或 VM 的功能、服务产品或 AdditionalData 中的任何属性列出它们。例如:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200).AdditionalData
<!--NeedCopy-->

您还可以添加 -Warn 参数以指示不兼容的 VM。VM 将包含一个名为 WarningAdditionalData 字段。例如:

(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200 -Template "ami-015xxxxxxxxx" -Warn $true).AdditionalData
<!--NeedCopy-->

VM 的备份 SKU 列表

公有云有时可能会出现特定 EC2 实例类型(主 SKU)容量不足的情况。如果主 VM 配置不可用,则 VM 无法启动,从而导致时间损失和业务中断。为解决此类情况,请提供备用 EC2 实例类型列表(备用 SKU),以便 MCS 在出现容量相关问题时可以回退到这些类型。

在创建或更新 MCS 计算机目录时,使用自定义属性 BackupVmConfiguration 提供备用 EC2 实例类型列表(备用 SKU 列表)。

如果主 EC2 实例失败,MCS 会尝试按照您指定的顺序回退到备用 EC2 实例类型。如果 MCS 无法回退到任何提供的备用 EC2 实例类型,则会显示错误消息。然后,您可以尝试再次启动主 EC2 实例。如果此操作失败,MCS 会重试备用 EC2 实例类型。

备用 SKU 列表可以包含按需实例。

此功能适用于持久性和非持久性 MCS 计算机目录。

重要注意事项

  • 您可以在备用 SKU 列表中提供多个备用 EC2 实例类型。
  • 备用 SKU 列表必须是唯一的。
  • 备用 EC2 实例不能与主 EC2 实例相同。
  • 备用 EC2 实例必须是有效的 AWS 实例类型。
  • 请勿指定重复的服务产品。示例:BackupVmConfiguration,t2.small|t3.small|t2.small 无效。
  • 列表中指定的服务产品必须与计算机目录配置兼容。例如,如果目录使用 UEFI 且备用列表中指定的服务产品不支持 UEFI,则目录创建或更新将在预检期间失败。
  • 您可以使用 Set-ProvScheme PowerShell 命令修改现有目录的备用 SKU 列表。您可以使用 Set-ProvVMSet-ProvVMUpdateTimeWindow PowerShell 命令修改现有 VM。

配置备用 EC2 实例

  1. 打开一个 PowerShell 命令行窗口。
  2. 运行 asnp citrix\* 以加载思杰专用的 PowerShell 模块。
  3. 创建 Broker 目录。
  4. 创建身份池。
  5. 使用自定义属性 BackupVmConfiguration 添加备份 EC2 实例列表并创建预配方案。例如:

    $serviceOffering = "XDHyp:\HostingUnits\$hostingUnitName\T3 Medium Instance.serviceoffering"
    $customProperties = "AwsCaptureInstanceProperties,false;AwsOperationalResourcesTagging,false;BackupVmConfiguration,t2.small|t2.large|t3.small|t3.large;"
    $createdProvScheme = New-ProvScheme -ProvisioningSchemeName $provisioningSchemeName -HostingUnitName $hostingUnitName -IdentityPoolName $provisioningSchemeName -NetworkMapping $networkMapping -SecurityGroup $securityGroupPath -ServiceOffering $serviceOffering -MasterImageVM $masterImageVm -CustomProperties $customProperties
    <!--NeedCopy-->
    
  6. 使用预配方案的唯一 ID 更新 BrokerCatalog。
  7. 创建虚拟机并将其添加到目录。

后续步骤

更多信息