Citrix Virtual Apps and Desktops 服务

Google 云端平台虚拟化环境

Citrix Virtual Apps and Desktops 服务允许您在 Google 云端平台 (GCP) 上预配和管理计算机。本文将指导您使用 Machine Creation Services (MCS) 在您的 Citrix Virtual Apps 或 Citrix Virtual Desktops 服务部署中预配虚拟机。

要求

  • Citrix Cloud 帐户。本文中介绍的功能仅在 Citrix Cloud 中提供。
  • Citrix Virtual Apps and Desktops 服务订阅。有关详细信息,请参阅快速入门
  • GCP 项目。该项目存储与计算机目录关联的所有计算资源。它可以是现有项目或新项目。
  • 在您的 Google 云项目中启用四个 API。有关详细信息,请参阅启用 Google 云 API
  • GCP 服务帐户。此服务帐户对 Google 云进行身份验证,以启用对项目的访问权限。有关详细信息,请参阅配置 Google 云帐户
  • 启用 Google 专用访问权限。有关详细信息,请参阅Enable-private-google-access

启用 Google 云 API

要通过Citrix Virtual Apps and Desktops 的“完整配置”界面中使用 Google 云功能,请在 Google 云项目中启用这些 API。

  • 计算引擎 API
  • 云资源管理器 API
  • 身份识别和访问管理 (IAM) API
  • 云构建 API

在 GCP 控制台中,完成以下步骤:

  1. 在左上角菜单中,选择 API 和服务 > 控制板

    API 和服务控制板选择示意图

  2. Dashboard(控制板)屏幕中,确保计算引擎 API 处于启用状态。如果未启用, 请按照以下步骤进行操作:

    1. 导航到 APIs and Services(API 和服务)> Library(库)

      API 和服务库示意图

    2. 在搜索框中,键入 Compute Engine(计算引擎)。

    3. 从搜索结果中,选择 Compute Engine API(计算引擎 API)。

    4. Compute Engine API(计算引擎 API) 页面上,选择 Enable(启用)。

  3. 启用云资源管理器 API。

    1. 导航到 APIs and Services(API 和服务)> Library(库)

    2. 在搜索框中,键入 Cloud Resource Manager(云资源管理器)。

    3. 在搜索结果中,选择 Cloud Resource Manager API(云资源管理器 API)。

    4. Cloud Resource Manager API(云资源管理器 API)页面中,选择 Enable(启用)。此时将显示 API 的状态。

  4. 同样,启用身份识别和访问管理 (IAM) API云构建 API

配置 Google 云帐户

在 Google 云服务帐户中,您可以在 GCP 项目中创建和管理资源。如本文所述,需要使用 Google 云服务帐户来预配和管理计算机。Google 云帐户使用 Google 云生成的 key 对 Citrix Cloud 进行身份验证。每个帐户(个人或服务)包含定义项目管理的各种角色。

我们建议您创建服务帐户。为此,请遵循以下步骤:

  1. 在 GCP 中,导航至 IAM & Admin(IAM 和管理员)> Service accounts(服务帐户)

  2. Service accounts(服务帐户)页面上,选择 CREATE SERVICE ACCOUNT(创建服务帐户)。

  3. Create service account(创建服务帐户)页面上,键入所需的信息,然后选择 CREATE(创建)。

创建服务帐户时,请注意以下事项:

  • 可以选择 CANCEL(取消)保存并退出 Service account details(服务帐户详细信息)页面,而无需完成 Grant this service account access to project(授予此服务帐户访问项目的权限)和 Grant users access to this service account(授予用户访问此服务帐户的权限)页面。可以稍后执行这些可选步骤。

  • 如果选择跳过这些可选配置步骤,新创建的服务账号不会显示在 IAM & Admin(IAM 和管理) > IAM 页面中。

  • 要显示与服务帐户关联的角色,请在不跳过可选步骤的情况下添加角色。此过程可确保为配置的服务帐户显示角色。

创建服务帐户时,可以选择为该帐户创建密钥。在 Citrix 服务中创建连接时,您需要此密钥。密钥包含在凭据文件 (.json) 中。创建密钥后,文件会自动下载并保存到下载文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Citrix 的“完整配置”界面无法进行解析。

提示:

使用 GCP 控制台中的 Service accounts(服务帐户)页面创建密钥。出于安全考虑,我们建议您定期更改密钥。通过编辑现有 GCP 连接,可以向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。

此外,您需要授予您的服务帐户访问 GCP 项目所需的权限:

  1. 在 GCP 控制台中,导航到 IAM & Admin(IAM 和管理员)> IAM。在 IAM 页面上,找到您创建的服务帐户,然后选择铅笔图标以编辑服务帐户。

  2. Edit permissions(编辑权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将以下角色逐个添加到您的服务帐户,然后选择 SAVE(保存)。

    • 计算管理员
    • 存储管理员
    • 云构建编辑者
    • 服务帐户用户
    • 云数据存储用户
  3. 更新分配给项目的云构建服务帐户的角色:

    1. 在 GCP 控制台中,导航到 IAM & Admin(IAM 和管理员)> IAM
    2. IAM 页面上,找到云构建服务帐户,然后选择铅笔图标以编辑服务帐户。可以通过云构建服务帐户的用户名(格式为 <your_gcp_project_ID_number>@cloudbuild.gserviceaccount.com)来识别云构建服务帐户。
    3. Edit permissions(编辑权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将以下角色逐个添加到您的云构建服务帐户,然后选择 SAVE(保存)。
      • 云构建服务帐户
      • 计算实例管理员
      • 服务帐户用户

启用 Google 专用访问权限

当 VM 缺少分配给其网络接口的外部 IP 地址时,数据包仅发送到其他内部 IP 地址目标。启用专用访问时,VM 将连接到 Google API 和相关服务使用的外部 IP 地址集。要确保子网中的 VM 能够在没有公用 IP 地址的情况下访问 Google API 以进行 MCS 预配,请执行以下操作:

  1. 在 GCP 中,访问 VPC network configuration(VPC 网络配置)。
  2. 在“Subnet details”(子网详细信息)屏幕中,打开 Private Google access(Google 专用访问权限)。

Google 专用访问权限

有关详细信息,请参阅配置 Google 专用访问权限

重要 : 如果您的网络配置为阻止 VM 访问 Internet,请确保贵组织承担与启用 VM 所连接到的子网的专用 Google 访问权限相关的风险。

添加连接

在“完整配置”界面中,按照创建连接和资源中的指导进行操作。以下说明将指导您完成设置托管连接的过程:

  1. 管理 > 完整配置中,选择左侧窗格中的托管

  2. 在操作栏中选择添加连接和资源

  3. 连接页面上,选择创建新连接Studio 工具,然后选择下一步

    • 连接类型。从菜单中选择 Google 云端平台
    • 服务帐户密钥。导入您的 Google 凭据文件 (.json) 中包含的密钥。为此,请找到您的凭据文件,使用记事本(或任何文本编辑器)打开该文件,然后复制内容。之后,请返回到连接页面,选择导入密钥,粘贴内容,然后选择保存
    • 服务帐户 ID。此字段将自动填充来自导入的密钥的信息。
    • 连接名称。键入连接的名称。
  4. 区域页面上,从菜单中选择项目名称,选择包含要使用的资源的区域,然后选择下一步

  5. 网络网络上,键入资源的名称,从菜单中选择虚拟网络,选择子集,然后选择下一步。资源名称可帮助您识别此区域和网络的组合名称后面附加了 (Shared) 后缀的虚拟网络表示共享 VPC。如果您为共享 VPC 配置了子网级别的 IAM 角色,则子网列表中仅显示共享 VPC 的特定子网。

    注意:

    -  资源名称可以包含 1-64 个字符,不能仅包含空格或字符 `\ / ; : # . * ? = < > | [ ] { } " ' ( ) ' )`。
    
  6. 摘要页面上,确认信息,然后选择完成退出添加连接和资源窗口。

创建连接和资源后,系统将列出您创建的连接和资源。要配置连接,请选择该连接,然后选择操作栏中的适用选项。

同样,可以删除、重命名或测试在连接下创建的资源。为此,请选择连接下的资源,然后选择操作栏中的适用选项。

准备主 VM 实例和永久磁盘

提示:

永久磁盘是虚拟磁盘的 GCP 术语。

要准备主 VM 实例,请使用与您计划的计算机目录中克隆的 VDA 实例所需的配置匹配的属性创建和配置 VM 实例。配置不仅适用于实例大小和类型。它还包括实例属性,例如元数据、标记、GPU 分配、网络标记和服务帐户属性。

作为控制过程的一部分,MCS 使用您的主 VM 实例创建 GCP 实例模板。然后,实例模板将用于创建组成计算机目录的克隆 VDA 实例。克隆的实例继承创建实例模板的所基于的主 VM 实例的属性(VPC、子网和永久磁盘属性除外)。

根据具体情况配置主 VM 实例的属性后,启动实例,然后为实例准备永久磁盘。

我们建议您手动创建磁盘的快照。这样做可以使用有意义的命名约定来跟踪版本,为您提供更多选项来管理早期版本的主映像,并节省创建计算机目录的时间。如果您不创建自己的快照,MCS 将为您创建一个快照。可以使用该快照在 GCP 映像库中创建自定义映像。

创建计算机目录

注意:

请在创建计算机目录之前创建您的资源。配置计算机目录时,请使用 GCP 建立的命名约定。有关详细信息,请参阅存储桶和对象命名指南

请按照创建计算机目录中的指导进行操作。下面的说明是 GCP 目录独有的。

  1. 管理 > 完整配置中,选择左窗格中的计算机目录

  2. 然后在操作栏中选择创建计算机目录

  3. 操作系统页面上,选择多会话操作系统,然后选择下一步

    • Citrix Virtual Apps and Desktops 服务还支持单会话操作系统。
  4. 计算机管理页面上,选择进行电源管理的计算机Citrix Machine Creation Services 选项,然后选择下一步。如果有多种资源,请从菜单中选择一种资源。

  5. 主映像页面上,为目录选择 VM 和最低功能级别,然后选择下一步。如果要使用唯一租赁功能,请务必选择已正确配置节点组属性的映像。请参阅启用区域选择

  6. 虚拟机页面上,指定要创建的 VM 数量,查看 VM 的详细规范,然后选择下一步。如果将唯一租户节点组用于计算机目录,请确保选择预留的唯一租户节点可用的区域。请参阅启用区域选择

  7. 磁盘设置页面上,选择是否使用自己的密钥来保护磁盘内容。要使用该功能,您必须首先创建自己的客户管理的加密密钥 (CMEK)。有关详细信息,请参阅使用客户管理的加密密钥 (CMEK)

    注意:

    此功能可作为预览版使用。它仅在管理 > 完整配置界面中可用。

    创建密钥后,可以从列表中选择其中一个密钥。创建目录后无法更改注册表项。Google 云端平台不支持在现有的永久性磁盘或映像中轮换密钥。因此,在预配目录之后,该目录将与密钥的特定版本绑定。如果该密钥处于禁用状态或被销毁,则在重新启用或恢复密钥之前,使用该密钥加密的实例和磁盘将无法使用。

  8. 计算机标识页面上,选择一个 Active Directory 帐户,然后选择下一步

    • 如果选择创建新的 Active Directory 帐户,请选择一个域,然后输入表示在 Active Directory 中创建的已预配的 VM 计算机帐户的命名方案的字符序列。帐户命名方案可以包含 1-64 个字符,不能包含空格,也不能包含非 ASCII 字符或特殊字符。
    • 如果选择使用现有的 Active Directory 帐户,请选择浏览以导航到所选计算机的现有 Active Directory 计算机帐户。
  9. 域凭据页面上,选择输入凭据,键入用户名和密码,选择保存,然后选择下一步

    • 键入的凭据必须具有执行 Active Directory 帐户操作的权限。
  10. 作用域页面上,选择计算机目录的作用域,然后选择下一步

    • 可以选择可选作用域或选择自定义作用域以根据需要自定义作用域。
  11. 摘要页面上,确认信息,指定目录的名称,然后选择完成

    注意:

    目录名称可以包含 1-39 个字符,不能仅包含空格或字符 \ / ; : # . * ? = < > | [ ] { } " ' ( ) ' )

完成计算机目录创建可能需要很长时间。完成后,系统将列出目录。可以验证计算机是否在 GCP 控制台中的目标节点组上创建。

向目录中添加计算机

要将计算机添加到目录中,请执行以下步骤:

  1. 管理 > 完整配置中,选择左窗格中的计算机目录

  2. 选择要向其中添加计算机的计算机目录。

  3. 在操作栏中选择添加计算机

  4. 虚拟机页面上,指定要添加的计算机数量,然后选择下一步

  5. 计算机帐户页面上,选择一个 Active Directory 帐户,然后选择下一步

  6. 域凭据页面上,选择输入凭据,键入用户名和密码,选择保存,然后选择下一步

  7. 摘要页面上,确认信息,然后选择完成

更新计算机

此功能在您想要更新主映像或最低功能级别的情况下非常有用。

要更新计算机,请按照以下步骤进行操作:

  1. 管理 > 完整配置中,选择左窗格中的计算机目录

  2. 选择包含要更新的计算机的计算机目录。

  3. 在操作栏中选择更新计算机

  4. 主映像页面上,为目录选择 VM 和最低功能级别,然后选择下一步

  5. 前滚策略页面上,指定要更新计算机的时间,然后选择下一步

  6. 摘要页面上,确认信息,然后选择完成

要回滚计算机更新,请按照以下步骤进行操作:

重要 : 请勿重命名、删除或移动主映像。否则,您将无法回滚更新。

  1. 管理 > 完整配置中,选择左窗格中的计算机目录

  2. 选择包含要回滚计算机更新的计算机目录。

  3. 在操作栏中选择回滚计算机更新

  4. 概览页面上,确认信息,然后选择下一步

  5. 前滚策略页面上,配置前滚策略,然后选择下一步

  6. 摘要页面上,确认信息,然后选择完成

电源管理

Citrix Virtual Apps and Desktops 服务允许您对 GCP 计算机进行电源管理。使用导航窗格中的搜索节点查找要进行电源管理的计算机。以下电源操作可用:

  • 删除
  • 启动
  • 重新启动
  • 强制重新启动
  • 关闭
  • 强制关闭
  • 添加到交付组
  • 管理标记
  • 打开维护模式

还可以使用 AutoScale 来管理 GCP 计算机的电源。为此,请将 GCP 计算机添加到交付组,然后为该交付组启用 AutoScale。有关 AutoScale 的详细信息,请参阅 AutoScale

导入手动创建的 GCP 计算机

可以创建与 GCP 的连接,然后创建包含 GCP 计算机的目录。然后,可以通过 Citrix Virtual Apps and Desktops 服务手动关闭并打开 GCP 计算机的电源。使用此功能,您可以:

  • 将手动创建的 GCP 多会话操作系统计算机导入到 Citrix Virtual Apps and Desktops 计算机目录中。
  • 从 Citrix Virtual Apps and Desktops 目录中删除手动创建的 GCP 多会话操作系统计算机。
  • 使用现有的 Citrix Virtual Apps and Desktops 电源管理功能对 GCP Windows 多会话操作系统计算机进行电源管理。例如,为这些计算机设置重新启动计划。

此功能不需要更改现有的 Citrix Virtual Apps and Desktops 预配工作流程,也不需要删除任何现有功能。我们建议您使用 MCS 在 Citrix 服务的“完整配置”界面中预配计算机,而非导入手动创建的 GCP 计算机。

共享虚拟私有云

共享虚拟私有云 (VPC) 包括一个主机项目(可以从中使用共享子网)以及一个或多个使用该资源的服务项目。共享 VPC 是较大型安装的理想选项,因为它们可以集中控制、使用和管理共享的企业 Google 云资源。有关详细信息,请参阅 Google 文档站点

借助此功能,Machine Creation Services (MCS) 可以支持预配和管理部署到共享 VPC 的计算机目录。这种支持在功能上等同于当前在本地 VPC 中提供的支持,在两个方面有所差别:

  1. 必须向用于创建主机连接的服务帐户授予额外的权限。此过程允许 MCS 访问和使用共享 VPC 资源。
  2. 必须创建两条防火墙规则,每条规则分别用于入口和出口。这些防火墙规则将在映像控制过程中使用。

需要新权限

创建主机连接时,需要具有特定权限的 GCP 服务帐户。必须向用于创建基于共享 VPC 的主机连接的任何服务帐户授予这些额外的权限。

提示:

这些额外的权限并不是 Citrix Virtual Apps and Desktops 服务的新增权限。它们用来促进本地 VPC 的实施。对于共享 VPC,这些额外的权限允许访问其他共享 VPC 资源。

为了支持共享 VPC,必须向与主机连接关联的服务帐户授予最多四个额外权限:

  1. compute.firewalls.list - 此权限是强制性的。它允许 MCS 检索共享 VPC 上存在的防火墙规则的列表。
  2. compute.networks.list - 此权限是强制性的。它允许 MCS 识别服务帐户可用的共享 VPC 网络。
  3. compute.subnetworks.list - 此权限是可选的,具体取决于您使用 VPC 的方式。它允许 MCS 识别可见的共享 VPC 中的子网。使用本地 VPC 时已需要此权限,但也必须在共享 VPC 主机项目中进行分配。
  4. compute.subnetworks.use - 此权限是可选的,具体取决于您使用 VPC 的方式。必须在预配的计算机目录中使用子网资源。使用本地 VPC 已需要此权限,但也必须在共享 VPC 主机项目中进行分配。

使用这些权限时,请考虑根据用于创建计算机目录的权限类型有不同的方法:

  • 项目级别权限:
    • 允许访问主机项目中的所有共享 VPC。
    • 要求权限 #3 和 #4 必须分配给服务帐户。
  • 子网级别权限:
    • 允许访问共享 VPC 中的特定子网。
    • 权限 #3 和 #4 是子网级别分配所固有的,因此无需直接分配给服务帐户。

请选择符合贵组织需求和安全标准的方式。

提示:

有关项目级别权限和子网级别权限之间的差异的详细信息,请参阅 Google Cloud 文档

防火墙规则

在准备计算机目录期间,将准备计算机映像作为目录的主映像系统磁盘。发生此过程时,磁盘将临时连接到虚拟机。此 VM 必须在隔离的环境中运行,以阻止所有入站和出站网络流量。这是通过一对 deny-all 防火墙规则实现的:一条规则用于入口流量,一条规则用于出口流量。使用 GCP 本地 VCP 时,MCS 会在本地网络中创建此防火墙,并将其应用到计算机以进行控制。控制操作完成后,将从映像中删除防火墙规则。

我们建议您将使用共享 VPC 所需的新权限的数量保持在最低限度。共享 VPC 是更高级别的企业资源,通常具有更严格的安全协议。因此,在共享 VPC 资源的主机项目中创建一对防火墙规则,一条用于入口,一条用于出口。请为其分配最高优先级。使用以下值将新目标标记应用到这些规则中的每一个规则:

citrix-provisioning-quarantine-firewall

创建或更新计算机目录时,MCS 会搜索包含此目标标记的防火墙规则。然后,它会检查规则的正确性,并将其应用到用于准备目录的主映像的计算机。如果未找到防火墙规则,或者找到规则,但规则或其优先级不正确,则会出现类似以下内容的消息:

"Unable to find valid INGRESS and EGRESS quarantine firewall rules for VPC <name> in project <project>. " Please ensure you have created 'deny all' firewall rules with the network tag ‘citrix-provisioning-quarantine-firewall' and proper priority." "Refer to Citrix Documentation for details."

配置共享 VPC

在 Citrix 服务的“完整配置”界面中添加共享 VPC 作为主机连接之前,请完成以下步骤,以将您计划预配的项目中的服务帐户添加到:

  1. 创建 IAM 角色。
  2. 将用于创建 CVAD 主机连接的服务帐户添加到共享 VPC 主机项目 IAM 角色。
  3. 将要预配到项目中的云构建服务帐户添加到共享 VPC 主机项目 IAM 角色。
  4. 创建防火墙规则。

创建 IAM 角色

确定角色的访问级别 - 项目级别的访问权限或使用子网级别的访问权限的限制更严格的模型。

IAM 角色的项目级别的访问权限。对于项目级别的 IAM 角色,包括以下权限:

  • compute.firewalls.list
  • compute.networks.list
  • compute.subnetworks.list
  • compute.subnetworks.use

要创建项目级别的 IAM 角色,请执行以下操作:

  1. 在 GCP 控制台中,导航到 IAM & Admin(IAM 和管理员)> Roles(角色)
  2. 角色页面上,选择创建角色
  3. Create Role(创建角色)页面上,指定角色名称。选择添加权限
    1. Add permissions(添加权限)页面上,单独向角色添加权限。要添加权限,请在筛选器表字段中键入权限的名称。选择权限,然后选择添加
    2. 选择创建

子网级别的 IAM 角色。此角色将在选择 CREATE ROLE(创建角色)后省略添加权限 compute.subnetworks.listcompute.subnetworks.use。对于此 IAM 访问级别,权限 compute.firewalls.listcomputer.networks.list 必须应用到新角色。

要创建子网级别的 IAM 角色,请执行以下操作:

  1. 在 GCP 控制台中,导航到 VPC network(VPC 网络)> Shared VPC(共享 VPC)。此时将显示 Shared VPC(共享 VPC)页面,其中显示主机项目所包含的共享 VPC 网络的子网。
  2. Shared VPC(共享 VPC)页面上,选择要访问的子网。
  3. 在右上角,选择 ADD MEMBER(添加成员)以添加服务帐户。
  4. Add members(添加成员)页面上,完成以下步骤:
    1. New members(新成员)字段中,键入服务帐户的名称,然后在菜单中选择您的服务帐户。
    2. 选择 Select a role(选择角色)字段,然后单击 Compute Network User(计算网络用户)。
    3. 选择保存
  5. 在 GCP 控制台中,导航到 IAM & Admin(IAM 和管理员)> Roles(角色)。
  6. 角色页面上,选择创建角色
  7. Create Role(创建角色)页面上,指定角色名称。选择添加权限
    1. Add permissions(添加权限)页面上,单独向角色添加权限。要添加权限,请在筛选器表字段中键入权限的名称。选择权限,然后选择添加
    2. 选择创建

将服务帐户添加到主机项目 IAM 角色

创建 IAM 角色后,请执行以下步骤以便为主机项目添加服务帐户:

  1. 在 GCP 控制台中,导航到主机项目,然后导航到 IAM & Admin(IAM 和管理员)> IAM
  2. IAM 页面上,选择 ADD(添加)以添加服务帐户。
  3. Add members(添加成员)页面上:
    1. New members(新成员)字段中,键入服务帐户的名称,然后在菜单中选择您的服务帐户。
    2. 选择“Select a role”(选择角色)字段,键入您创建的 IAM 角色,然后选择菜单中的角色。
    3. 选择保存

现在已为主机项目配置服务帐户。

将云构建服务帐户添加到共享 VPC

每个 Google 云订阅都有一个服务帐户,该帐户以项目 ID 号命名,后跟 cloudbuild.gserviceaccount。例如:705794712345@cloudbuild.gserviceaccount

您可以通过在 Google 云控制台中选择 Home(主页)和 Dashboard(控制板)来确定项目的项目 ID 编号:

Google 云控制台导航窗格

在屏幕的 Project Info(项目信息)区域下查找 Project Number(项目编号)。

请执行以下步骤以将云构建服务帐户添加到共享 VPC:

  1. 在 Google 云控制台中,导航到主机项目,然后导航到 IAM & Admin(IAM 和管理员)> IAM
  2. Permissions(权限)页面上,选择 ADD(添加)以添加帐户。
  3. Add members(添加成员)页面上,完成以下步骤:
    1. New members(新成员)字段中,键入云构建服务帐户的名称,然后在菜单中选择您的服务帐户。
    2. 选择选择角色字段,键入 Computer Network User,然后在菜单中选择角色。
    3. 选择保存

创建防火墙规则

作为映像控制过程的一部分,MCS 会复制选定的计算机映像,并使用该映像为目录准备主映像系统磁盘。在映像控制过程中,MCS 将磁盘附加到临时虚拟机,然后该虚拟机将运行准备脚本。此 VM 必须在隔离的环境中运行,以禁止所有入站和出站网络流量。要创建隔离环境,MCS 需要两个 deny all(全部拒绝)防火墙规则(入口规则和出口规则)。因此,请在 Host Project(主机项目)中创建两个防火墙规则,如下所示:

  1. 在 GCP 控制台中,导航到主机项目,然后导航到 VPC network(VPX 网络)> Firewall(防火墙)
  2. Firewall(防火墙)页面上,选择 CREATE FIREWALL RULE(创建防火墙规则)。
  3. Create a firewall rule(创建防火墙规则)页面上,完成以下操作:
    • 名称。键入规则的名称。
    • Network(网络)。选择入口防火墙规则应用到的共享 VPC 网络。
    • Priority(优先级)。值越小,规则的优先级就越高。我们建议使用较小的值(例如 10)。
    • Direction of traffic(流量方向)。选择 Ingress(入口)。
    • Action on match(针对匹配项的操作)。选择 Deny(拒绝)。
    • Targets(目标)。使用默认的 Specified target tags(指定的目标标记)。
    • Target tags(目标标记)。键入 citrix-provisioning-quarantine-firewall
    • Source filter(源筛选器)。使用默认的 IP ranges(IP 范围)。
    • Source IP ranges(源 IP 范围)。键入匹配所有流量的范围。键入 0.0.0.0/0
    • Protocols and ports(协议和端口)。选择 Deny all(全部拒绝)。
  4. 选择创建以创建规则。
  5. 重复步骤 1-4 以创建另一个规则。对于 Direction of traffic(流量方向),请选择 Egress(出口)。

添加连接

将网络接口添加到 Cloud Connector 实例后,添加连接

启用区域选择

Citrix Virtual Apps and Desktops 服务支持区域选择。通过区域选择,您可以指定要在其中创建 VM 的区域。通过区域选择,管理员可以在其选择的区域之间放置唯一的租户节点。必须在 GCP 上完成以下操作,才能配置唯一租赁

  • 预留 Google 云端平台唯一租户节点
  • 创建 VDA 主映像

保留 Google 云端平台唯一租户节点

要预留单租户节点,请参阅 Google Cloud Platform 文档

重要 : 节点模板用于指示节点组中预留的系统的性能特征。这些特征包括 vGPU 的数量、分配给节点的内存量以及用于在节点上创建的计算机的计算机类型。有关详细信息,请参阅 Google Cloud Platform 文档

创建 VDA 主映像

要在唯一租户节点上成功部署计算机,您需要在创建主 VM 映像时执行额外的步骤。GCP 上的计算机实例具有名为节点关联性标签的属性。用作部署到唯一租户节点的目录的主映像的实例需要一个与目标节点组名称匹配的节点关联性标签。为实现这一目标,请记住以下几点:

注意:

如果您打算将唯一租赁与共享 VPC 结合使用,请参阅 共享虚拟私有云

创建实例时设置节点关联性标签

要设置节点关联性标签,请执行以下操作:

  1. 在 GCP 控制台中,导航到 Compute Engine(计算引擎)> VM instances(VM 实例)

  2. VM instances(VM 实例)页面上,选择 Create instance(创建实例)。

  3. Instance creation(实例创建)页面上,键入或配置所需的信息,然后选择 management, security, disks, networking, sole tenancy(管理、安全性、磁盘、网络连接、唯一租户)以打开设置面板。

  4. Sole tenancy(唯一租赁)选项卡上,选择 Browse(浏览)以查看当前项目中的可用节点组。此时将显示 Sole-tenant node(唯一租户节点)页面,其中显示可用节点组的列表。

  5. Sole-tenant node(唯一租户节点)页面上,从列表中选择适用的节点组,然后选择 Select(选择)以返回到 Sole tenancy(唯一租赁)选项卡。节点关联性标签字段将使用您选择的信息进行填充。此设置可确保从实例创建的计算机目录将部署到选定的节点组。

  6. 选择创建以创建实例。

为现有实例设置节点关联性标签

要设置节点关联性标签,请执行以下操作:

  1. 在 Google 云 Shell 终端窗口中,使用 gcloud compute instances 命令设置节点关联性标签。在 gcloud 命令中包含以下信息:

    • VM 的名称。例如,使用名为 s*2019-vda-base 的现有 VM。*
    • 节点组的名称。使用之前创建的节点组名称。例如 mh-sole-tenant-node-group-1
    • 实例所在的区域。例如,VM 位于 *us-east-1b* zone 中。

    例如,在终端窗口中键入以下命令:

    • gcloud compute instances set-scheduling "s2019-vda-base" --node-group="mh-sole-tenant-node-group-1" --zone="us-east1-b"

    有关 gcloud compute instances 命令的详细信息,请参阅 Google 开发人员工具文档,网址为 https://cloud.google.com/sdk/gcloud/reference/beta/compute/instances/set-scheduling

  2. 导航到实例的 VM instance details(VM 实例详细信息)页面,并验证 Node Affinities(节点关联)字段是否填充了标签。

创建计算机目录

在设置节点关联性标签后,配置计算机目录

预览版:使用客户管理的加密密钥 (CMEK)

可以将客户管理的加密密钥 (CMEK) 用于 MCS 目录。使用此功能时,您将 Google Cloud Key Management Service CryptoKey Encrypter/Decrypter 角色分配给 Compute Engine Service Agent。有关详细信息,请参阅使用 Cloud KMS 密钥帮助保护资源

您的 Compute Engine Service Agent 的格式如下:service-<Project _Number>@compute-system.iam.gserviceaccount.com。此表单与默认的 Compute Engine Service 帐户不同。

注意:

此 Compute Engine Service 帐户可能不会显示在 Google 控制台 IAM 权限显示屏中。在此类情况下,请使用 使用 Cloud KMS 密钥帮助保护资源 中所述的 gcloud 命令。

为 Citrix Virtual Apps and Desktops 服务帐户分配权限

GCP Cloud KMS 权限可以通过多种方式进行配置。可以提供项目级 KMS 权限或资源级 KMS 权限。有关详细信息,请参阅权限和角色

项目级权限

一种选择是向 Citrix Virtual Apps and Desktops 服务帐户提供项目级权限以浏览 Cloud KMS 资源。为此,请创建一个自定义角色,然后添加以下权限:

  • cloudkms.keyRings.list
  • cloudkms.keyRings.get
  • cloudkms.cryptokeys.list
  • cloudkms.cryptokeys.get

将此自定义角色分配给 Citrix Virtual Apps and Desktops 服务帐户。这允许您浏览清单中相关项目中的区域密钥。

资源级权限

对于另一个选项(资源级权限),请在 GCP 控制台中浏览到用于 MCS 预配的 cryptoKey。将 Citrix Virtual Apps and Desktops 服务帐户添加到您用于目录预配的密钥链或密钥中。

提示:

使用此选项,您无法浏览清单中的项目的区域密钥,因为 Citrix Virtual Apps and Desktops 服务帐户对 Cloud KMS 资源没有项目级列表权限。但是,您仍可以通过在 ProvScheme 自定义属性中指定正确的 cryptoKeyId 使用 CMEK 来预配目录,如下所述。

使用自定义属性通过 CMEK 进行预配

通过 PowerShell 创建预配方案 时,在 ProvScheme CustomProperties 中指定 CryptoKeyId 属性。例如:

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="<yourCryptoKeyId>" />
</CustomProperties>'

应按以下格式指定 cryptoKeyId

projectId:location:keyRingName:cryptoKeyName

例如,如果您想在区域 us-east1 和 ID 为 my-example-project-1 的项目中的密钥链 my-example-key-ring 中使用密钥 my-example-key,您的 ProvScheme 自定义设置将类似于:

'<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:us-east1:my-example-key-ring:my-example-key" />
</CustomProperties>'

与此预配方案相关的所有 MCS 预配磁盘和映像都使用此客户管理的加密密钥。

提示:

如果使用全局密钥,客户属性位置必须指出 global 而非区域名称,在上面的示例中为 us-east1。例如:<Property xsi:type="StringProperty" Name="CryptoKeyId" Value="my-example-project-1:global:my-example-key-ring:my-example-key" />

轮换客户管理的密钥

GCP 不支持在现有的永久性磁盘或映像上轮换密钥。一旦计算机预配完毕,它将与创建时使用的密钥版本绑定在一起。但是,可以创建密钥的新版本,新密钥用于在使用新主映像更新目录时创建的新预配的计算机或资源。

关于密钥链的重要注意事项

无法重命名或删除密钥链。此外,对其进行配置时可能会产生不可预见的费用。删除或移除密钥链时,GCP 会显示一条错误消息:

Sorry, you can't delete or rename keys or key rings. We were concerned about the security implications of allowing multiple keys or key versions over time to have the same resource name, so we decided to make names immutable. (And you can't delete them, because we wouldn't be able to do a true deletion--there would still have to be a tombstone tracking that this name had been used and couldn't be reused).

We're aware that this can make things untidy, but we have no immediate plans to change this.

If you want to avoid getting billed for a key or otherwise make it unavailable, you can do so by deleting all the key versions; neither keys nor key rings are billed for, just the active key versions within the keys.

提示:

有关详细信息,请参阅从控制台编辑或删除密钥链

更多信息