Citrix Virtual Apps and Desktops

为亚马逊 WorkSpaces Core 托管实例创建预备映像

创建准备好的映像以创建 MCS 计算机目录。您可以使用以下方法创建准备好的映像:

关键步骤

  1. 创建映像定义以及其初始映像版本。
  2. 从初始映像版本创建映像版本。

Use Web Studio

创建映像定义和初始映像版本

要创建映像定义和初始映像版本,请执行以下操作:

  1. 在 Web Studio 中,转到“映像”节点,然后单击“创建映像定义”。在“简介”页面上单击“下一步”。
  2. 在“映像定义”页面上,为映像定义指定“操作系统类型”和“会话类型”。
  3. 在“映像”页面上,选择“资源”(仅列出适用于所设置连接的资源)、用作创建映像版本模板的主映像,以及用于捕获硬件属性的计算机配置文件。选择一个计算机配置文件以从 VM 实例或启动模板版本捕获硬件属性。

    注意:

    • 在选择映像之前,请验证主映像是否已安装 VDA 2311 或更高版本,并且 VDA 上是否已安装 MCSIO 驱动程序。
    • 实例元数据服务 (IMDS) V2 受支持,而 IMDS V1 不受支持。有关信息,请参阅 实例元数据服务版本 2 的工作原理
  4. 计算机规范页面上,选择一个计算机大小。默认选择计算机配置文件(在映像页面上选择)的计算机大小。
  5. 网卡页面上,为准备映像选择或添加网卡。对于每个网卡,选择一个关联的 VPC 子网。
  6. 版本描述页面上,输入所创建的初始映像版本的描述。
  7. 摘要页面上,检查映像定义和所创建的初始映像版本的详细信息。输入映像定义的名称和描述。单击完成

创建映像版本

映像版本使得管理特定映像的不同迭代或更新成为可能。这项功能让您能够针对不同的用途维护映像的多个版本。

要从初始映像版本创建映像版本,请执行以下操作:

注意:

所有映像版本的托管单元必须相同。

  1. 转到映像节点,选择一个映像版本或映像定义,然后单击创建映像版本
  2. 映像定义页面上,您可以更改托管单元,并重新选择该映像版本的主映像和计算机配置文件。
  3. 如果您希望映像版本的配置与初始配置的映像版本不同,请在创建映像版本对话框的计算机规范网卡页面上配置设置。
  4. 添加映像版本的描述。单击完成

注意:

如果由于任何原因导致映像版本创建失败,底部的“故障排除”选项卡会提供“重试”选项。

使用 PowerShell 命令行工具

创建准备好的映像版本规范的详细 PowerShell 命令如下:

  1. 使用 Test-ProvImageDefinitionNameAvailable command 检查可用的映像定义名称。例如,

    Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]>
    <!--NeedCopy-->
    
  2. 使用 New-ProvImageDefinition 命令创建映像定义。例如,

    New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
    <!--NeedCopy-->
    
  3. 使用 Add-ProvImageDefinitionConnection 命令在指定的托管连接中为映像定义创建新配置。

    Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName test-conn
    <!--NeedCopy-->
    
  4. 使用 New-ProvImageVersion 命令创建映像版本。例如,

    New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
    <!--NeedCopy-->
    
  5. 使用 Add-ProvImageVersionSpec 命令将主映像版本规范添加到映像版本。例如,

    Add-ProvImageVersionSpec -ImageDefinitionName  image1  -ImageVersionNumber  1 -HostingUnitName wsc -MasterImagePath "XDHyp:\HostingUnits\wsc\win10-2411-ami (ami-00123456789abcdef).template”"
    <!--NeedCopy-->
    

    注意:

    对于一个托管单元,您只能向一个映像版本添加一个主映像版本规范。

  6. 使用 New-ProvImageVersionSpec 命令从主映像版本规范创建准备好的映像版本规范。SourceImageVersionSpecUid 参数派生自 Add-ProvImageVersionSpec 命令。例如,

    New-ProvImageVersionSpec
    -SourceImageVersionSpecUid  00000000-0000-0000-0000-00000000000
    -MachineProfile 'XDHyp:\HostingUnits\wsc\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion' -RunAsynchronously
    <!--NeedCopy-->
    

创建映像定义、映像版本和准备好的映像版本规范的完整 PowerShell 命令集示例

New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession


Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName wsc -CustomProperties $CustomProperties

$imageVersion = New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"

$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid `
    -HostingUnitUid $hostingunit.HostingUnitUid `
    -MasterImagePath "XDHyp:\HostingUnits\wsc\win10-2411-ami (ami-00123456789abcdef).template”

New-ProvImageVersionSpec -MachineProfile 'XDHyp:\HostingUnits\wsc\w2022-2411 (lt-00123456789abcdef).launchtemplate\lt-00123456789abcdef (1).launchtemplateversion' -SourceImageVersionSpecUid $SourceImageVersionSpec.ImageVersionSpecUid
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid 00000000-0000-0000-0000-00000000000-HostingUnitName wsc
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid | Where SourceImageVersionSpecUid-eq $SourceImageVersionSpec.ImageVersionSpecUid
<!--NeedCopy-->

注意:

  • 映像定义中的所有映像版本规范必须属于同一个托管单元。
  • 一个映像版本只能有一个主映像版本规范和一个准备好的映像版本规范。
  • 所有映像版本规范都必须具有计算机配置文件。

跨可用区和区域共享准备好的映像

现在,您可以为 Amazon WorkSpaces Core 托管实例在同一 AWS 区域或不同区域内,跨不同可用区(与不同托管单元关联)共享单个准备好的映像。这使您可以使用一个准备好的映像在各种可用区和区域中创建和更新 MCS 计算机目录。当在不同区域的不同可用区之间共享时,准备好的映像版本会从原始区域复制到目标区域。

您可以维护单个准备好的映像,并使用它在与不同托管单元关联的多个可用区和区域中创建和更新计算机目录。这显著降低了映像管理开销,确保了跨部署的一致性,并简化了预配过程。您还可以使用来自不同可用区或区域的准备好的映像无缝更新现有计算机目录。

使用场景

  • 集中式映像管理: 您在一个可用区(例如,us-east-1a)中创建准备好的映像。然后,您可以将此映像共享到同一 us-east-1 AWS 区域内的其他可用区(例如,us-east-1b),或共享到不同 us-west-1 区域中的 us-west-1a。这允许单个映像服务于多个托管单元,并为您简化维护。
  • 高效的目录创建和更新: 您可以使用在 AZ 1(例如,us-east-1a)中创建的准备好的映像在 AZ 1 中创建新目录。将此映像共享到 AZ 2(例如,us-east-1b)后,您可以在 AZ 2 中使用共享映像在 AZ 2 中创建和更新目录。
  • 跨托管单元和托管连接部署: 如果您的环境在相同或不同的 AWS 区域和 AWS 账户下有多个托管单元,您可以在这些托管单元之间高效地共享准备好的映像。

局限性

  • 在同一 AWS 账户内共享: 在当前实现中,您无法跨不同的 AWS 账户共享。

重要注意事项

  • 删除顺序: 要删除原始准备好的映像版本规范,您必须首先删除其所有共享映像版本规范。或者,您必须同时删除原始和共享规范。
  • 映像版本依赖性: 当您删除映像版本时,必须首先删除依赖于该特定映像版本的任何共享配置。您从原始(未共享)映像创建的目录可以保持不变。
  • 目录向后兼容性: 您可以更新在此功能引入之前部署的现有计算机目录。使用您在与最初部署目录的可用区或区域不同的可用区或区域中创建的准备好的映像。
  • 完全删除: 当您删除准备好的映像时,您将无法再在您共享或最初创建它的任何可用区中使用它。此外,在删除所有与该准备好的映像版本关联的目录之前,无法删除准备好的映像版本。

先决条件

在配置或使用此功能之前,请确保满足以下条件:

  • Your environment must be an Amazon WorkSpaces Core Managed Instances environment.
  • 您必须在同一个 AWS 账户下配置多个托管单元(每个单元可以绑定到不同的可用区)和主机连接(每个连接可以绑定到不同的区域)。

通过 Web Studio 用户界面进行配置

您可以使用 Web Studio UI 在绑定到不同托管单元的可用区之间共享准备好的映像。

共享准备好的映像

  1. 导航到 Web Studio 的“映像”节点,然后选择要与其他可用区共享的准备好的映像版本。
  2. 在顶部导航栏中选择“管理映像共享”,以管理所选映像版本的映像共享。
  3. 在“管理映像共享”页面上,选择一个或多个要共享映像版本的资源。这些资源可以位于与原始映像版本不同的可用区中。
  4. 单击“保存”以在其他可用区的资源中共享映像版本。映像版本将更新,以便在您选择的不同资源之间共享。完成后,使用该映像版本在共享映像版本的可用区中创建目录。

取消共享准备好的映像

  1. 在 Web Studio 的“映像”节点上,选择要取消共享的准备好的映像版本。
  2. 在顶部导航栏中选择“管理映像共享”,以管理所选映像版本的映像共享。
  3. 从您希望停止共享映像版本的一个或多个资源(可用区)中取消选中复选框。

    注意:

    资源不得再与共享映像版本关联或从共享映像版本创建任何目录。任何要删除的、从共享映像版本创建的目录都必须先删除。

  4. 单击 保存 以取消在已清除的可用区之间共享资源。映像版本将更新,使其不再在这些可用区中共享。

使用 PowerShell 来进行配置

或者,您可以使用 PowerShell 命令在绑定到不同托管单元的可用区之间共享准备好的映像。

共享准备好的映像

  1. 确保您拥有要共享的准备好的映像的 ImageVersionSpecUid。您可以使用 PowerShell 中的 Get-ProvImageVersionSpec 或类似的 Get- 命令检索此信息。
  2. 确定您希望在其中提供准备好的映像的可用区(可以是相同区域或不同区域)的 HostingUnitName。这是您为该特定可用区配置的托管单元的名称。
  3. 运行 Add-ProvImageVersionSpecHostingUnit 命令: 使用以下 PowerShell 命令。将 <ImageVersionSpecUid> 替换为映像的 Uid,并将 <targetHostingUnitName> 替换为目标可用区中您要共享映像版本规范的托管单元的名称:

    Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName>
    <!--NeedCopy-->
    
  4. 成功执行后,您可以在 Web Studio UI 中看到映像的状态,指示您已将其与指定的托管单元共享。

取消共享准备好的映像

  1. 确保您拥有要从中取消共享的准备好的映像的 ImageVersionSpecUid
  2. 确定您要从中删除共享映像的可用区的 HostingUnitName
  3. 运行 Remove-ProvImageVersionSpecHostingUnit 命令: 使用以下 PowerShell 命令。将 <ImageVersionSpecUid> 替换为映像的 Uid,并将 <targetHostingUnitName> 替换为目标可用区中您要从中取消共享映像版本规范的托管单元的名称:

    Remove-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <ImageVersionSpecUid> -HostingUnitName <targetHostingUnitName>
    <!--NeedCopy-->
    

后续步骤

更多信息

为亚马逊 WorkSpaces Core 托管实例创建预备映像