创建 AWS 目录
创建计算机目录介绍了用于创建计算机目录的向导。 以下信息涵盖了特定于 AWS 虚拟化环境的详细信息。
注意:
在创建 AWS 目录之前,您需要完成创建与 AWS 的连接。 看 连接到 AWS.
映像准备期间的网络设置
在映像准备期间,将基于原始 VM 创建准备虚拟机 (VM)。 此准备 VM 与网络断开连接。 为了断开网络与准备 VM 的连接,需要创建一个网络安全组以拒绝所有入站和出站流量。 此网络安全组将保留并重复使用。 网络安全组的名称为 Citrix.XenDesktop.IsolationGroup-GUID
,其中 GUID 是随机生成的。
AWS 租赁
AWS 提供以下租赁选项:共享租赁 (默认类型) 和专用租赁。 共享租赁意味着来自不同客户的多个 Amazon EC2 实例可能驻留在同一个物理硬件上。 专用租赁意味着您的 EC2 实例仅在具有您部署的其他实例的硬件上运行。 其他客户不会使用相同的硬件。
您可以通过 MCS 来预置 AWS 专用主机 演播室 或 PowerShell.
预置到 AWS 主机的要求
- 导入的 BYOL (自带许可) 映像 (AMI)。 使用专用主机,使用和管理现有许可证。
- 分配具有足够利用率的专用主机,以满足预置请求。
- 使 自动放置.
使用 Studio 配置 AWS 专用主机租赁
当您使用 MCS 创建目录以在 AWS 中预置计算机时, 计算机目录设置 > 安全 页面显示以下选项:
- 使用共享硬件. 此设置适用于大多数部署。 多个客户共享硬件,即使他们彼此之间没有交互。 使用共享硬件是运行 Amazon EC2 实例的成本最低的选项。
- 使用专用主机. Amazon EC2 专用主机是具有完全专用的 EC2 实例容量的物理服务器,允许您使用现有的按套接字或按 VM 的软件许可证。 专用主机根据实例类型预设了利用率。 例如,单个分配的 C4 大型实例类型的专用主机限制为运行 16 个实例。 请参阅 AWS 站点 了解更多信息。
-
使用专用实例. 此设置更适合具有特定安全性或合规性要求的部署。 使用专用实例,您仍然可以享受拥有独立于其他 AWS 客户的主机的好处,但无需为整个主机付费。 您无需担心主机的容量,但您需要为实例支付更高的费率。
此设置适用于需要您使用专用主机的许可限制或安全要求的部署。 使用专用主机,您可以拥有整个物理主机,并按小时计费。 拥有该主机可让您在该主机允许的情况下启动尽可能多的 EC2 实例,而无需支付额外的费用。
注意:
如果没有正在进行的目录创建或映像更新任务,您可以删除任何可用的准备身份磁盘。
使用 PowerShell 配置 AWS 专用主机租赁
或者,您可以通过 PowerShell 预置 AWS 专用主机。 使用 New-ProvScheme 新提案
cmdlet 中,参数为 租赁类型
设置为 主机
.
标记 AWS 运营资源
Amazon 系统映像 (AMI) 表示一种用于在 Amazon Cloud 环境中创建虚拟机的虚拟设备,通常称为 EC2。 您使用 AMI 部署使用 EC2 环境的服务。 当您创建目录以使用 MCS for AWS 置备计算机时,请选择 AMI 以充当该目录的黄金映像。
-priority
要使用操作资源标记,需要同时使用计算机配置文件和启动模板创建目录。
要创建 AWS 目录,您必须首先为要成为黄金映像的实例创建一个 AMI。 MCS 从该实例中读取标签并将其合并到启动模板中。 然后,启动模板标签将应用于在 AWS 环境中创建的所有 Citrix 资源,包括:
- 虚拟机
- VM 磁盘
- VM 网络接口
- S3 存储桶
- S3 对象
- 启动模板
- 阿美语
使用 Studio 标记运营资源
使用 MCS 创建目录以在 AWS 中预置计算机时,您可以通过选择 将机器标签应用于运营资源 选项中的 机器模板 页。
此选项控制是否将计算机标签应用于在 AWS 环境中创建的每个项目,以便于预置计算机。 运营资源是作为目录创建过程的副产品创建的。 它们包括临时资源和持久性资源,例如准备 VM 实例和 AMI。
使用 PowerShell 标记操作资源
要使用 PowerShell 标记资源,请执行以下操作:
- 从 DDC 主机打开 PowerShell 窗口。
- 运行命令
ASNP Citrix
以加载特定于 Citrix 的 PowerShell 模块。
要为已置备的 VM 标记资源,请使用自定义属性 AwsOperationalResources标记
. Example:
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-->
已启用 MCSIO 的目录
MCS Storage Optimization (MCSIO) 通过将磁盘操作缓存在内存或小型高速磁盘上来提高 VM 的性能。 您可以使用 PowerShell 命令创建启用了 MCSIO 的非持久性目录。 要创建此类目录,必须在准备 AMI 实例期间安装或升级 VDA 时安装 MCSIO 驱动程序。 默认情况下,未安装该驱动程序。
准备好 MCSIO AMI 后(安装 VDA 时,选择在安装中包含 MCSIO 驱动程序的选项),您可以创建启用了 MCSIO 的非持久性目录。
注意:
在所有虚拟机管理程序和云服务环境中,已删除使用 Studio 仅使用磁盘缓存(无内存缓存)配置 MCSIO 的选项。
创建启用了 MCSIO 的目录
添加到 New-ProvScheme PowerShell 命令的四个参数是:
-
使用WriteBackCache
:为给定的预置方案启用缓存(回写式缓存) -
WriteBackCacheDiskSize
:指定用于缓存的临时磁盘的大小(以 GB 为单位) -
WriteBackCacheMemorySize
:指定用于缓存的内存量(以 MB 为单位)。 这是一个可选参数。
注意:
WriteBackCacheDiskSize
的值必须大于零,因为至少需要 1 GB 缓存磁盘存储空间。 缓存磁盘大小不得大于 OS 磁盘大小。- 的值
WriteBackCacheMemorySize
必须为非零且小于计算机目录内存大小。
影响 MCSIO 的自定义属性包括:
-
WBCDiskStorageType
:定义用于 AWS 中的临时磁盘的卷类型。 此参数采用格式为卷类型\[:IOPS\]\[:吞吐量\]
. 以下是卷类型:- gp2:不要对此卷类型使用 IOPS 和吞吐量参数
- gp3:对此卷类型使用 IOPS 和吞吐量参数
- io1 :仅对此卷类型使用 iops 参数
- io2:仅对此卷类型使用 iops 参数
默认卷类型为 gp2.
-
持续白细胞
:控制在 AWS 实例关闭时是保留还是丢弃缓存磁盘。 如果设置为真
,则保留缓存磁盘。 如果设置为假
(默认),则仅在 AMI 实例开机时创建和保留缓存磁盘。 -
PersistOSDisk
:控制在 AWS 实例关闭时是保留还是丢弃操作系统磁盘。 如果设置为真
,则保留 OS 磁盘。 如果设置为假
(默认),则仅在 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 并将 持续白细胞
和 PersistOSDisk
自定义属性作为 特鲁
e. 使用此类设置,VM 可以更快地启动,因为它们不需要初始化新的缓存磁盘或从其模板重新创建根磁盘。
使用 PowerShell 创建基于计算机配置文件的计算机目录
您可以使用计算机配置文件从 EC2 实例 (VM) 或启动模板版本捕获硬件属性,并将其应用于预置的计算机。 捕获的属性可以包括 EBS 卷属性、实例类型、EBS 优化、CPU 选项、租赁类型、休眠功能和其他支持的 AWS 配置等。
您可以使用 AWS EC2 实例 (VM) 或 AWS Launch Template 版本作为计算机配置文件输入。
注意:
EBS 卷属性仅从计算机配置文件派生。
重要注意事项
创建 MCS 计算机目录时的重要注意事项:
- 如果您在
New-ProvScheme 新提案
和Set-ProvScheme
命令,则参数中提供的值将覆盖计算机配置文件中的值。 - 如果您将
AwsCaptureInstanceProperties
如真
并且不设置机器配置文件
属性,则仅捕获 IAM 角色和标签。 -
不能同时设置
AwsCaptureInstanceProperties
和机器配置文件
同时。注意:
这
AwsCaptureInstanceProperties
已弃用。 -
如果未提供计算机配置文件,则必须显式提供以下属性的值:
- 安全组
- ENI 或虚拟网络
- 您可以启用
AwsOperationalResources标记
仅当启用AwsCaptureInstanceProperties
或指定计算机配置文件。
创建 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-->
- 完成目录创建。
更新计算机配置文件
要更新最初使用计算机配置文件配置的目录上的计算机配置文件,请执行以下操作。 您还可以在编辑 MCS 计算机目录时更改计算机配置文件源的租户类型和休眠功能。
-
跑
Set-ProvScheme
命令。 例如,Set-ProvScheme ` -ProvisioningSchemeUid "<ID" ` -MachineProfile "XDHyp:\HostingUnits\abc\us-east-1a.availabilityzone\citrix-cvad-machineprofile-instance (i-0xxxxxxxx).vm" <!--NeedCopy-->
使用 PowerShell 创建包含启动模板版本的目录
您可以创建将启动模板版本作为计算机配置文件输入的 MCS 计算机目录。 您还可以将计算机配置文件目录的输入从 VM 更新为启动模板版本,并从启动模板版本更新为 VM。
在 AWS EC2 控制台上,您可以提供启动模板的实例配置信息以及版本号。 如果在创建或更新计算机目录时将启动模板版本指定为计算机配置文件输入,则该版本的启动模板中的属性将复制到预配的 VDA VM。
可以使用机器配置文件输入提供以下属性,也可以将其显式作为 New-ProvScheme 新提案
或 Set-ProvScheme
命令。 如果它们在 New-ProvScheme 新提案
或 Set-ProvScheme
命令,则它们优先于这些属性的 Machine Profile 值。
- 服务方案
- 网络
- 安全组
- 租赁类型
注意:
如果服务产品未在计算机配置文件启动模板中提供,也未作为
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-->
-
将供应方案注册为 Broker 目录。 例如:
New-BrokerCatalog -Name "MPLT1" ` -AllocationType Random ` -Description "Machine profile catalog" ` -ProvisioningSchemeId fe7df345-244e-4xxxx-xxxxxxxxx ` -ProvisioningType Mcs ` -SessionSupport MultiSession ` -PersistUserChanges Discard <!--NeedCopy-->
- 完成目录创建。
更新计算机配置文件源
您还可以将计算机配置文件目录的输入从 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-->
加密 OS 和 ID 磁盘
您可以使用 AWS KMS 密钥(客户管理的密钥和 AWS 托管的密钥)创建虚拟机的持久性和非持久性目录,这些密钥可用于加密操作系统磁盘和身份磁盘 (ID)。
- AWS 托管式密钥每年都会自动轮换。
- 客户管理的密钥对于自动轮换是可选的,可以手动管理。
有关 KMS 密钥的更多信息,请参阅以下 AWS 文档:
要对操作系统和 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
PowerShell 命令具有:
- 一个计算机配置文件输入,其卷包含新的 KMS 密钥。
- 使用新 KMS 密钥加密的主映像模板 AMI。
重要注意事项:
- 添加到目录中的新 VM 的卷使用新的 KMS 密钥进行加密。
- 要在存在现有计算机配置文件时更新加密设置,请运行
Set-ProvScheme
替换为新的机床配置文件。 - 您不能将现有目录从具有加密卷修改为未加密卷。 您无法执行从加密的主 AMI 到未加密的主 AMI 的映像更新。
在 VM 上复制标记
您可以将计算机配置文件中指定的 NIC 和磁盘(身份磁盘、回写缓存磁盘和操作系统磁盘)上的标记复制到 MCS 计算机目录中新创建的 VM。 您可以在任何计算机配置文件源(AWS VM 实例或 AWS 启动模板版本)中指定这些标签。 此功能适用于永久计算机目录和非永久性计算机目录和 VM。
注意:
- 在 AWS EC2 控制台上,您无法看到 标记网络接口 值 Launch Template Version 资源标签. 但是,您可以运行 PowerShell 命令
AWS EC2 描述-launch-template-versions --launch-template-id lt-0bb652503d45dcbcd --versions 12
以查看标签规格。- 如果计算机配置文件源(VM 或启动模板版本)有两个网络接口(eni-1 和 eni-2),并且 eni-1 具有标记 t1,eni-2 具有标记 t2,则 VM 将同时获取这两个网络接口的标记。
使用 PowerShell 筛选 VM 实例
用作计算机配置文件 VM 的 AWS VM 实例必须与计算机目录兼容,才能正确创建和运行。 要列出可用作计算机配置文件输入 VM 的 AWS VM 实例,您可以使用 Get-HypInventoryItem
命令。 该命令可以对托管单元上可用的 VM 清单进行分页和筛选。
分页:
Get-HypInventoryItem 支持两种分页模式:
- 分页模式使用
-MaxRecords
和-跳
parameters 返回项目集:-
-MaxRecords
:默认值为 1. 这控制要返回的项目数。 -
-跳
:默认值为 0. 这控制从虚拟机管理程序中列表的绝对开始(或绝对结束)跳过的项目数。
-
- 滚动模式使用
-MaxRecords
,-向前方向
和-ContinuationToken
参数以允许滚动记录:-
-向前方向
:默认值为 真. 这与-MaxRecords
返回下一组匹配记录或上一组匹配记录。 -
-ContinuationToken
:返回紧跟在 (或 ifForwardDirection (向前方向)
是 假),但不包括ContinuationToken
.
-
分页示例:
-
返回具有最低名称的计算机模板的单个记录。 这
附加数据
field 具有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 theGet
result. 例如: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 theGet
result. 例如:Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -MaxRecords 100 -Tags '{"opex owner": "Not tagged"}' | select Name <!--NeedCopy-->
注意:
支持两个标签值。 未标记 tag 值匹配其标签列表中没有给定标签的项目。 所有值 tag 值匹配具有 tag 的项目,而不管 tag 的值如何。 否则,仅当项目具有 tag 且值等于 filter 中给定的值时,才会发生匹配。
-
-Id "ami-0a2d913927e0352f3"
: If the AMI matches the given ID, it is included in theGet
result. 例如:Get-HypInventoryItem -LiteralPath "XDHyp:\HostingUnits\ctx-test" -ResourceType template -Id ami-xxxxxxxxxxxxx <!--NeedCopy-->
Filtering on AdditionalData 参数:
这 附加数据
filter 参数根据模板或 VM 的功能、服务产品或 AdditionalData 中的任何属性列出模板或 VM。 例如:
(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200).AdditionalData
<!--NeedCopy-->
您还可以添加 -警告
参数以指示不兼容的 VM。 这些 VM 包含在 附加数据
字段名称 警告. 例如:
(Get-HypInventoryItem -ResourceType "launchtemplateversion" -LiteralPath "XDHyp:\HostingUnits\aws" -MaxRecords 200 -Template "ami-015xxxxxxxxx" -Warn $true).AdditionalData
<!--NeedCopy-->