创建 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] 实例容量的物理服务器,允许您按套接字或 VM 使用现有软件许可证。
专用主机具有基于实例类型的预设利用率。 例如,针对 C4 大型实例类型分配的一个专用主机最多运行 16 个实例。 请参阅 AWS 站点以了解详细信息。
用于预配到 AWS 主机的要求包括:
- 导入的 BYOL(自带许可)映像 (AMI)。 通过专用主机,使用并管理您的现有许可证。
- 分配了具有足够利用率的专用主机,可满足预配请求。
- 启用自动放置。
要使用 PowerShell 预配到 AWS 中的专用主机,请使用参数 TenancyType 设置为主机的 New-ProvScheme cmdlet。
请参阅 Citrix 开发人员文档以了解详细信息。
从计算机配置文件中捕获计算机属性
创建目录以使用 MCS 预配 AWS 计算机时,可以使用计算机配置文件来预设特定的计算机属性设置。
为此,请遵循以下步骤:
- 将计算机配置文件存储在与创建此目录的资源相同的可用性区域中。
- 在目录创建向导的计算机模板页面上,选择使用计算机配置文件。 将显示与您选择的资源位于同一可用区域中的计算机配置文件。
- 根据需要选择计算机配置文件。
标记 AWS 运行资源
在创建目录以使用 MCS 在 AWS 中预配计算机时,可以控制是否将 IAM 角色和标记属性应用到这些计算机。 还可以控制是否将计算机标记应用到运行资源。
Amazon Machine Image (AMI) 表示用于在 Amazon 云环境中创建虚拟机的一种虚拟设备,通常称为 EC2。 可以使用 AMI 部署使用 EC2 环境的服务。 创建目录以使用适用于 AWS 的 MCS 预配计算机时,可以选择 AMI 作为该目录的黄金映像。
重要:
使用运行资源标记要求同时使用计算机配置文件和启动模板创建目录。
要创建 AWS 目录,必须首先为希望成为黄金映像的实例创建 AMI。 MCS 从该实例读取标记并将其合并到启动模板中。 然后,启动模板标记将应用于在 AWS 环境中创建的所有 Citrix® 资源,包括:
- 虚拟机
- VM 磁盘
- VM 网络接口
- S3 存储桶
- S3 对象
- 启动模板
- AMI
使用 Web Studio 标记运行资源
使用 MCS 创建目录以在 AWS 中预配计算机时,可以通过选择计算机模板页面上的将计算机标记应用到运行资源选项来控制是否将计算机标记应用到运行资源。
此选项控制是否将计算机标记应用到在 AWS 环境中创建的每个项目,以便于预配计算机。 运行资源是作为目录创建的副产品创建的。 它们包括临时资源和永久性资源,例如准备 VM 实例和 AMI。
使用 PowerShell 标记运行资源
要使用 PowerShell 标记资源,请执行以下操作:
- 从 DDC 主机打开 PowerShell 窗口。
- 运行命令
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 控制台上,您在 Launch Template Version Resource Tags(启动模板版本资源标记)下看不到Tag Network Interfaces(标记网络接口)值。 但是,您可以运行 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。 除非重置 ID 磁盘,否则在此功能之前创建的现有 VM 将继续具有卷类型为 GP2 的 ID 磁盘。
重要注意事项
创建 MCS 计算机目录时的重要注意事项:
- 如果您在
New-ProvScheme和Set-ProvScheme命令中添加计算机硬件属性参数,则参数中提供的值将覆盖计算机配置文件中的值。 - 如果您将
AwsCaptureInstanceProperties设置为true,但未设置MachineProfile属性,则仅捕获 IAM 角色和标记。 -
您不能同时设置
AwsCaptureInstanceProperties和MachineProfile。注意:
AwsCaptureInstanceProperties已被弃用。 -
如果未提供计算机配置文件,则必须明确提供以下属性的值:
- 安全组
- ENI 或虚拟网络
- 仅当启用了
AwsCaptureInstanceProperties或者指定了计算机配置文件时才能启用AwsOperationalResourcesTagging。
创建 MCS 计算机目录后的重要注意事项:
- 您无法将目录从基于计算机配置文件的目录更改为基于非计算机配置文件的目录。
使用计算机配置文件创建计算机目录
要使用计算机配置文件创建计算机目录,请执行以下操作:
- 打开 PowerShell 窗口。
- 运行
asnp citrix* 以加载特定于 Citrix 的 PowerShell 模块。 -
创建标识池(如果尚未创建)。 例如,
New-AcctIdentityPool -IdentityPoolName idPool -NamingScheme ms## -Domain abcdf -NamingSchemeType Numeric <!--NeedCopy--> -
运行 New-ProvScheme 命令。 例如:
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--> - 完成目录创建。 有关详细信息,请参阅 Citrix PowerShell SDK。
更新计算机配置文件
要更新最初使用计算机配置文件预配的目录上的计算机配置文件,请执行以下操作。 在编辑 MCS 计算机目录时,还可以更改计算机配置文件源的租赁类型和休眠功能。
-
运行
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-ProvScheme 或 Set-ProvScheme 命令中作为参数明确提供。 如果这些属性是在 New-ProvScheme 或 Set-ProvScheme 命令中提供的,它们将优先于这些属性的计算机配置文件值。
- 服务方案
- 网络
- 安全组
- 租赁类型
注意:
如果未在计算机配置文件启动模板中提供服务产品,也未将其作为
New-ProvScheme命令中的参数提供,则会出现相应的错误。
要使用启动模板版本作为计算机配置文件输入来创建目录,请执行以下操作:
- 打开 PowerShell 窗口。
- 运行
asnp citrix* 以加载特定于 Citrix 的 PowerShell 模块。 -
获取启动模板的启动模板版本列表。 例如:
XDHyp:\HostingUnits\test\test-mp-sard (lt-01xxxxx).launchtemplate> ls | Select FullPath <!--NeedCopy--> -
创建标识池(如果未创建)。 例如:
New-AcctIdentityPool ` -IdentityPoolName "abc11" ` -NamingScheme "abc1-##" ` -NamingSchemeType Numeric ` -Domain "citrix-xxxxxx.local" ` -ZoneUid "xxxxxxxx" ` <!--NeedCopy--> -
使用启动模板版本作为计算机配置文件输入来创建预配方案。 例如:
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--> -
将预配方案注册为代理目录。 例如:
New-BrokerCatalog -Name "MPLT1" ` -AllocationType Random ` -Description "Machine profile catalog" ` -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx ` -ProvisioningType Mcs ` -SessionSupport MultiSession ` -PersistUserChanges Discard <!--NeedCopy--> - 完成目录创建。 有关详细信息,请参阅 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 的目录
在 New-ProvScheme PowerShell 命令中添加的四个参数如下:
-
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 的非永久性目录:
- 打开 PowerShell 窗口。
- 运行
asnp citrix* 以加载特定于 Citrix 的 PowerShell 模块。 - 创建代理目录和标识池。
-
创建预配方案。 例如:
$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--> - 将 VM 添加到目录中。
使用 MCSIO 提高启动性能
如果启用 MCSIO 并将 PersistWBC 和 PersistOSDisk 自定义属性设置为 true,则可以提高 VM 的启动性能。 通过此类设置,VM 可以更快地启动,因为这些 VM 不需要初始化新的缓存磁盘或从其模板重新创建根磁盘。
加密操作系统和 ID 磁盘
可以使用可用于加密操作系统磁盘和身份磁盘的 AWS KMS 密钥(客户管理的密钥和 AWS 管理的密钥)创建 VM 的永久性和非永久性目录。
- AWS 管理的密钥每年自动轮换。
- 客户管理的密钥是自动轮换的可选密钥,可以手动进行管理。
可以查看以下 AWS 文档,了解有关 KMS 密钥的详细信息:
要对操作系统和 ID 磁盘进行加密,请配置以下选项之一:
- 使用加密的主映像(例如,从包含使用 KMS 密钥加密的 EBS 根卷的实例或快照创建的 AMI)
- 使用包含加密的 EBS 根卷的计算机配置文件源(VM 或启动模板)。
限制
请注意以下限制:
- MCS 目前仅支持主映像 AMI 上的一个磁盘。
-
您无法直接加密现有的未加密 EBS 卷或快照,也无法修改现有加密卷的 KMS 密钥。 为此,您必须:
- 创建该卷的新快照。
- 基于该快照创建新卷。
- 加密新卷。
请参阅以下 AWS 文档:
- 加密未加密的资源
- 自动或默认加密 EBS 卷的限制:自动加密现有的和新的 Amazon EBS 卷。
创建具有磁盘加密的目录
可以使用以下方法创建具有磁盘加密的 MCS 计算机目录:
- 主映像
- 计算机配置文件
使用计算机配置文件输入进行磁盘加密时的注意事项:
- 计算机配置文件输入的 KMS 密钥优先于主映像的 KMS 密钥。
- 如果未提供计算机配置文件输入,则使用主映像 AMI 的 KMS 密钥来加密目录 VM 的磁盘。
- 如果计算机配置文件存在块设备映射,则主映像模板 (AMI) 中存在的块设备和计算机配置文件必须匹配。 例如,如果 AMI 在
/dev/sda1上定义了一个设备,Machine Profile 也必须在/dev/sda1上定义了一个设备。 - 如果计算机配置文件源中没有密钥,并且主映像未加密,则不会加密目录 VM 的磁盘。
- 加密主映像后,计算机配置文件源 VM 或启动模板必须具有加密的根卷才能被视为有效输入。
修改现有目录
可以使用 Set-ProvScheme 修改现有目录以拥有:
- 卷包含新 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(美国)区域)同时使用 NitroTPM 和安全引导。
- 您无法在现有目录上启用 NitroTPM 和 UEFI 安全引导。 如果您想要一个启用了 NitroTPM 和 UEFI 安全引导的目录,请创建一个新目录。
关键步骤
- 设置您的 AWS 环境。
- 创建与 AWS 的连接。
- 创建启用了 NitroTPM 和/或 UEFI 安全引导的主映像 (AMI)。
- 通过在 Web Studio 目录创建菜单中选择启用了 NitroTPM 和 UEFI 安全引导的主映像或在使用 PowerShell 命令创建预配方案时创建计算机目录。
添加到创建的目录中的 VM 已启用 NitoTPM 和 UEFI 安全引导。
创建支持 NitroTPM 和 UEFI 安全引导的 AMI
-
可以从启用了 NitroTPM 和/或 UEFI 安全引导的 VM 创建 AMI。
- 使用 AWS Marketplace 映像创建实例。 例如,搜索
TPM-Windows_Server-2022-English-Full-Base on the aws-marketplace。 - 下载单会话或多会话 VDA。
- 从该 VM 创建 AMI。
- 使用 AWS Marketplace 映像创建实例。 例如,搜索
-
使用 register-image 命令:
--boot-mode (string) --tpm-support (string) <!--NeedCopy-->有关详细信息,请参阅 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 安全引导? |
|---|---|---|
| UEFI | 否 | 否 |
| 传统 BIOS | 是 | 否 |
| UEFI | 是 | 否 |
| 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:返回紧随其后(如果ForwardDirection设置为 false,则在其前面)的项目,但不包括ContinuationToken中给出的项目。
-
分页示例:
-
返回名称排在最后的计算机模板的单条记录。
AdditionalData字段包括TotalItemsCount和TotalFilteredItemsCount: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": If the given string matches part of an AMI name, then the AMI is included in theGetresult. 例如:Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -ContainName ‘apollo’ | select Name <!--NeedCopy--> -
-Tags '{ "Key0": "Value0", "Key1": "Value1", "Key2": "Value2" }': If an AMI has at least one of these tags, it is included in theGetresult. 例如:Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -Tags '{"opex owner": "Not tagged"}' | select Name <!--NeedCopy-->注意:
支持两个标记值。 未标记的标记值匹配标记列表中没有给定标记的项目。 无论标记的值为何,所有值标记值都会匹配具有该标记的项目。 否则,仅当项目带标记且值等于过滤器中给出的值时才会进行匹配。
-
-Id "ami-0a2d913927e0352f3": If the AMI matches the given ID, it is included in theGetresult. 例如:Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -Id ami-xxxxxxxxxxxxx <!--NeedCopy-->
根据 AdditionalData 参数进行筛选:
AdditionalData 筛选参数根据模板或 VM 的功能、服务产品或 AdditionalData 中的任何属性列出模板或 VM。 例如:
(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200).AdditionalData
<!--NeedCopy-->
也可以添加一个 -Warn 参数来指明不兼容的 VM。 VM 中包含一个名为警告的 AdditionalData 字段。 例如:
(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,而备份列表中指定的服务产品不支持,则目录创建或更新在预检查期间将失败。
- 可以使用
Set-ProvSchemePowerShell 命令修改现有目录的备份 SKU 列表。 可以使用Set-ProvVM和Set-ProvVMUpdateTimeWindowPowerShell 命令修改现有的 VM。
配置备份 EC2 实例
- 打开 PowerShell 窗口。
- 运行
asnp citrix\*以加载 Citrix 特定的 PowerShell 模块。 - 创建 Broker 目录。
- 创建标识池。
-
使用自定义属性
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--> - 通过预配方案的唯一 ID 更新 Broker 目录。
- 创建 VM 并将其添加到目录中。