Google Cloud 虚拟化环境
Citrix DaaS(以前称为 Citrix Virtual Apps and Desktops 服务)允许您在 Google Cloud 上预配和管理计算机。
必备条件
在开始向 Google 云端平台 (GCP) 配置虚拟机之前,必须确保满足以下前提条件。
- Citrix 订阅必须支持混合多云工作负载。有关详细信息,请参阅比较 Citrix 订阅功能。
- 管理员帐户必须具有足够的权限才能创建主机连接、计算机目录和交付组。有关详细信息,请参阅配置委托管理。
- 确定一个 Google Cloud 项目,其中存储了与计算机目录相关的所有计算资源。它可以是现有项目或新项目。如需了解详情,请参阅 Google Cloud 项目。
- 启用与 Citrix DaaS 集成所需的 Google Cloud API。如需了解详情,请参阅启用 Google Cloud API。
- 在 Google Cloud 中创建服务帐户并授予相应的权限。有关详细信息,请参阅配置和更新服务帐户。
- 下载 Citrix Cloud 服务帐户的密钥文件。有关详细信息,请参阅 Citrix Cloud 服务帐户密钥。
- 虚拟机必须能够在没有公有 IP 地址的情况下访问 Google API。有关详细信息,请参阅启用 Google 专用访问权限。
Google Cloud 项目
Google Cloud 项目基本上有两种类型:
- 预配项目:在这种情况下,当前管理员帐户拥有项目中已预配的计算机。此项目也称为本地项目。
- 共享 VPC 项目: 在预配项目中创建的计算机使用共享 VPC 项目中的 VPC 的项目。用于配置项目的管理员帐户在此项目中的权限有限,具体而言,只有使用 VPC 的权限。
服务端点 URL
您必须有权访问以下 URL:
https://oauth2.googleapis.com
https://cloudresourcemanager.googleapis.com
https://compute.googleapis.com
https://storage.googleapis.com
https://cloudbuild.googleapis.com
启用 Google Cloud API
要通过 Studio 使用 Google Cloud 功能,请在您的 Google Cloud 项目中启用以下 API:
- 计算引擎 API
- 云资源管理器 API
- 身份识别和访问管理 (IAM) API
- Cloud Build API
在 Google Cloud 控制台中,完成以下步骤:
- 在左上角的菜单中,选择 API 和服务 > 已启用的 API 和服务。
-
在“已启用 API 和服务”屏幕上,确保已启用计算引擎 API。如果没有,请按照以下步骤操作:
- 导航到 APIs and Services(API 和服务)> Library(库)。
- 在搜索框中,键入 Compute Engine(计算引擎)。
- 从搜索结果中,选择 Compute Engine API(计算引擎 API)。
- 在 Compute Engine API(计算引擎 API) 页面上,选择 Enable(启用)。
- 启用云资源管理器 API。
- 导航到 APIs and Services(API 和服务)> Library(库)。
- 在搜索框中,键入 Cloud Resource Manager(云资源管理器)。
- 在搜索结果中,选择 Cloud Resource Manager API(云资源管理器 API)。
- 在 Cloud Resource Manager API(云资源管理器 API)页面中,选择 Enable(启用)。此时将显示 API 的状态。
- 同样,启用身份和访问管理 (IAM) API 和 Cloud Build API 以及云密钥管理服务 (KMS) API。
也可以使用 Google Cloud Shell 启用 API。为此,您需要:
- 打开 Google 控制台并加载 Cloud Shell。
-
在 Cloud Shell 中运行以下四个命令:
- gcloud services enable compute.googleapis.com
- gcloud services enable cloudresourcemanager.googleapis.com
- gcloud services enable iam.googleapis.com
- gcloud services enable cloudbuild.googleapis.com
- gcloud services enable cloudkms.googleapis.com
- 当 Cloud Shell 提示时,单击“授权”。
配置和更新服务帐户
注意:
GCP 将在 2024 年 4 月 29 日之后引入对 Cloud Build Service 的默认行为和服务帐户的使用所做的更改。有关详细信息,请参阅 Cloud Build Service 帐户变更。在 2024 年 4 月 29 日之前启用了 Cloud Build API 的现有 Google 项目不受此变更的影响。但是,如果您希望在 4 月 29 日之后保持现有的 Cloud Build Service 行为,则可以在启用 Cloud Build API 之前创建或应用组织策略以禁用强制约束。因此,以下内容分为两部分:2024年 4 月 29 日之前和 2024 年 4 月 29 日之后。如果您设置了新的组织策略,请遵循 2024 年 4 月 29 日之前部分。
2024 年 4 月 29 日之前
Citrix Cloud 在 Google Cloud 项目中使用三个独立的服务帐户:
-
Citrix Cloud Services 帐户:此服务帐户允许 Citrix Cloud 访问 Google 项目、预配和管理计算机。此服务帐户使用 Google Cloud 生成的密钥向 Google Cloud 进行身份验证。
您必须按照此处的说明手动创建此服务帐户。有关详细信息,请参阅创建 Citrix Cloud Services 帐户。
可以使用电子邮件地址识别此服务帐户。例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com
。 -
Cloud Build Service Account(Cloud Build Service 帐户):启用 Enable Google Cloud APIs(启用 Google Cloud API)中提到的所有 API 后,系统会自动预配此服务帐户。要查看自动创建的所有服务帐户,请在 Google Cloud 控制台中导航到 IAM & Admin(IAM 和管理)> IAM,然后选中 Include Google-provided role grants(包括 Google 提供的角色授权)复选框。
可以通过以 Project ID(项目 ID)和 cloudbuild 一词开头的电子邮件地址来识别此服务帐户。例如,
<project-id>@cloudbuild.gserviceaccount.com
验证服务帐户是否被授予了以下角色。如果您必须添加角色,请按照向 Cloud Build Service 帐户中添加角色中概述的步骤进行操作。
- Cloud Build Service 帐户
- 计算实例管理员
- 服务帐户用户
-
Cloud Compute Service 帐户:激活计算 API 后,Google Cloud 会将此服务帐户添加到在 Google Cloud 中创建的实例中。此帐户具有 IAM 基本编辑角色来执行操作。但是,如果您删除默认权限以进行更精细的控制,则必须添加需要以下权限的存储管理员角色:
- resourcemanager.projects.get
- storage.objects.create
- storage.objects.get
- storage.objects.list
可以通过以 Project ID(项目 ID)和 compute 一词开头的电子邮件地址来识别此服务帐户。例如,<project-id>-compute@developer.gserviceaccount.com
。
创建 Citrix Cloud Services 帐户
要创建 Citrix Cloud Services 帐户,请执行以下步骤:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> Service accounts(服务帐户)。
- 在 Service accounts(服务帐户)页面上,选择 CREATE SERVICE ACCOUNT(创建服务帐户)。
- 在 Create service account(创建服务帐户)页面上,输入所需的信息,然后选择 CREATE AND CONTINUE(创建并继续)。
-
在 Grant this service account access to project(授予此服务帐户对项目的访问权限)页面上,单击 Select a role(选择角色)下拉菜单并选择所需的角色。如果要添加更多角色,请单击 +ADD ANOTHER ROLE(+添加其他角色)。
每个帐户(个人或服务)都具有定义项目管理的各种角色。向此服务帐户授予以下角色:
- 计算管理员
- 存储管理员
- Cloud Build 编辑者
- 服务帐户用户
- 云数据存储用户
- Cloud KMS 加密操作员
Cloud KMS 加密操作员需要以下权限:
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.keyRings.get
- cloudkms.keyRings.list
注意:
在创建新的服务帐户时,请启用所有 API 以获取可用角色的完整列表。
- 单击继续
- 在 Grant users access to this service account(授予用户对此服务帐户的访问权限)页面上,添加用户或组以授予其在此服务帐户中执行操作的权限。
- 单击完成。
- 导航到 IAM 主控制台。
- 识别创建的服务帐户。
- 验证角色是否已成功分配。
注意事项:
创建服务帐户时,请注意以下事项:
- Grant this service account access to project(授予此服务帐户对项目的访问权限)和 Grant users access to this service account(授予用户对此服务帐户的访问权限)的步骤是可选的。如果选择跳过这些可选配置步骤,新创建的服务账号不会显示在 IAM & Admin(IAM 和管理) > IAM 页面中。
- 要显示与服务帐户关联的角色,请在不跳过可选步骤的情况下添加角色。此过程可确保为配置的服务帐户显示角色。
Citrix Cloud Services 帐户密钥
在 Citrix DaaS 中创建连接需要 Citrix Cloud Services 帐户密钥。密钥包含在凭据文件 (.json) 中。创建密钥后,文件会自动下载并保存到下载文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Studio 无法对其进行解析。
要创建服务帐户密钥,请导航到 IAM & Admin(IAM 和管理)> Service accounts(服务帐户),然后单击 Citrix Cloud Services 帐户的电子邮件地址。切换到 Keys(密钥)选项卡,然后选择 Add Key(添加密钥)> Create new key(创建新密钥)。请务必选择 JSON 作为密钥类型。
提示:
使用 Google Cloud 控制台中的 Service accounts(服务帐户)页面创建密钥。出于安全考虑,我们建议您定期更改密钥。通过编辑现有 Google Cloud 连接,可以向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。
向 Citrix Cloud Services 帐户添加角色
要向 Citrix Cloud Services 帐户添加角色,请执行以下操作:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM。
-
在 IAM > PERMISSIONS(权限)页面上,找到您创建的服务帐户,该帐户可通过电子邮件地址进行识别。
例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com
- 选择铅笔图标以编辑对服务帐户主体的访问权限。
- 在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将以下角色逐个添加到您的服务帐户,然后选择 SAVE(保存)。
向 Cloud Build Service 帐户添加角色
要向 Cloud Build Service 帐户添加角色,请执行以下操作:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM。
-
在 IAM 页面上,找到 Cloud Build Service 帐户,该帐户可以使用以 Project ID(项目 ID)和 cloudbuild 一词开头的电子邮件地址进行识别。
例如,
<project-id>@cloudbuild.gserviceaccount.com
- 选择铅笔图标以编辑 Cloud Build 帐户角色。
-
在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将所需的角色逐个添加到您的 Cloud Build Service 帐户,然后选择 SAVE(保存)。
注意:
启用所有 API 以获取完整的角色列表。
2024 年 4 月 29 日之后
Citrix Cloud 在 Google Cloud 项目中使用两个独立的服务帐户:
-
Citrix Cloud Services 帐户:此服务帐户允许 Citrix Cloud 访问 Google 项目、预配和管理计算机。此服务帐户使用 Google Cloud 生成的密钥向 Google Cloud 进行身份验证。
必须手动创建此服务帐户。
可以使用电子邮件地址识别此服务帐户。例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com
。 -
Cloud Compute Service Account(Cloud Compute Service 帐户):启用 Enable Google Cloud APIs(启用 Google Cloud API)中提到的所有 API 后,系统会自动预配此服务帐户。要查看自动创建的所有服务帐户,请在 Google Cloud 控制台中导航到 IAM & Admin(IAM 和管理)> IAM,然后选中 Include Google-provided role grants(包括 Google 提供的角色授权)复选框。此帐户具有 IAM 基本编辑角色来执行操作。但是,如果您删除默认权限以进行更精细的控制,则必须添加需要以下权限的存储管理员角色:
- resourcemanager.projects.get
- storage.objects.create
- storage.objects.get
- storage.objects.list
可以通过以 Project ID(项目 ID)和 compute 一词开头的电子邮件地址来识别此服务帐户。例如,
<project-id>-compute@developer.gserviceaccount.com.
验证服务帐户是否被授予了以下角色。
- Cloud Build Service 帐户
- 计算实例管理员
- 服务帐户用户
创建 Citrix Cloud Services 帐户
要创建 Citrix Cloud Services 帐户,请执行以下步骤:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> Service accounts(服务帐户)。
- 在 Service accounts(服务帐户)页面上,选择 CREATE SERVICE ACCOUNT(创建服务帐户)。
- 在 Create service account(创建服务帐户)页面上,输入所需的信息,然后选择 CREATE AND CONTINUE(创建并继续)。
-
在 Grant this service account access to project(授予此服务帐户对项目的访问权限)页面上,单击 Select a role(选择角色)下拉菜单并选择所需的角色。如果要添加更多角色,请单击 +ADD ANOTHER ROLE(+添加其他角色)。
每个帐户(个人或服务)都具有定义项目管理的各种角色。向此服务帐户授予以下角色:
- 计算管理员
- 存储管理员
- Cloud Build 编辑者
- 服务帐户用户
- 云数据存储用户
- Cloud KMS 加密操作员
Cloud KMS 加密操作员需要以下权限:
- cloudkms.cryptoKeys.get
- cloudkms.cryptoKeys.list
- cloudkms.keyRings.get
- cloudkms.keyRings.list
注意:
在创建新的服务帐户时,请启用所有 API 以获取可用角色的完整列表。
- 单击继续
- 在 Grant users access to this service account(授予用户对此服务帐户的访问权限)页面上,添加用户或组以授予其在此服务帐户中执行操作的权限。
- 单击完成。
- 导航到 IAM 主控制台。
- 识别创建的服务帐户。
- 验证角色是否已成功分配。
注意事项:
创建服务帐户时,请注意以下事项:
- Grant this service account access to project(授予此服务帐户对项目的访问权限)和 Grant users access to this service account(授予用户对此服务帐户的访问权限)的步骤是可选的。如果选择跳过这些可选配置步骤,新创建的服务账号不会显示在 IAM & Admin(IAM 和管理) > IAM 页面中。
- 要显示与服务帐户关联的角色,请在不跳过可选步骤的情况下添加角色。此过程可确保为配置的服务帐户显示角色。
Citrix Cloud Services 帐户密钥
在 Citrix DaaS 中创建连接需要 Citrix Cloud Services 帐户密钥。密钥包含在凭据文件 (.json) 中。创建密钥后,文件会自动下载并保存到下载文件夹。创建密钥时,请务必将密钥类型设置为 JSON。否则,Studio 无法对其进行解析。
要创建服务帐户密钥,请导航到 IAM & Admin(IAM 和管理)> Service accounts(服务帐户),然后单击 Citrix Cloud Services 帐户的电子邮件地址。切换到 Keys(密钥)选项卡,然后选择 Add Key(添加密钥)> Create new key(创建新密钥)。请务必选择 JSON 作为密钥类型。
提示:
使用 Google Cloud 控制台中的 Service accounts(服务帐户)页面创建密钥。出于安全考虑,我们建议您定期更改密钥。通过编辑现有 Google Cloud 连接,可以向 Citrix Virtual Apps and Desktops 应用程序提供新密钥。
向 Citrix Cloud Services 帐户添加角色
要向 Citrix Cloud Services 帐户添加角色,请执行以下操作:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM。
-
在 IAM > PERMISSIONS(权限)页面上,找到您创建的服务帐户,该帐户可通过电子邮件地址进行识别。
例如,
<my-service-account>@<project-id>.iam.gserviceaccount.com
- 选择铅笔图标以编辑对服务帐户主体的访问权限。
- 在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将以下角色逐个添加到您的服务帐户,然后选择 SAVE(保存)。
向 Cloud Compute Service 帐户添加角色
要向 Cloud Compute Service 帐户添加角色,请执行以下操作:
- 在 Google Cloud 控制台中,导航至 IAM & Admin(IAM 和管理员)> IAM。
-
在 IAM 页面上,找到 Cloud Compute Service 帐户,该帐户可以使用以 Project ID(项目 ID)和 compute 一词开头的电子邮件地址进行识别。
例如,
<project-id>-compute@developer.gserviceaccount.com
- 选择铅笔图标以编辑 Cloud Build 帐户角色。
-
在所选主体选项的 Edit access to “project-id”(编辑对 project-id 的访问权限)页面上,选择 ADD ANOTHER ROLE(添加另一个角色)将所需的角色逐个添加到您的 Cloud Build Service 帐户,然后选择 SAVE(保存)。
注意:
启用所有 API 以获取完整的角色列表。
存储权限和存储桶管理
Citrix DaaS 改进了报告 Google Cloud 服务的云生成失败的过程。此服务在 Google Cloud 上运行生成过程。Citrix DaaS 会创建一个名为 citrix-mcs-cloud-build-logs-{region}-{5 random characters}
的存储桶,Google Cloud 服务将在其中捕获生成日志信息。在此存储桶上设置了一个选项,用于在 30 天后删除内容。此过程要求用于连接的服务帐户将 Google Cloud 权限设置为 storage.buckets.update
。如果服务帐户没有此权限,Citrix DaaS 将忽略错误并继续执行目录创建过程。如果没有此权限,生成日志的大小会增加,需要手动清理。
启用 Google 专用访问权限
当 VM 缺少分配给其网络接口的外部 IP 地址时,数据包仅发送到其他内部 IP 地址目标。启用专用访问时,VM 将连接到 Google API 和相关服务使用的外部 IP 地址集。
注意:
无论是否启用了专用 Google 访问权限,所有具有或没有公用 IP 地址的 VM 都必须能够访问 Google 公用 API,尤其是在环境中安装了第三方网络连接设备的情况下。
要确保子网中的 VM 能够在没有公用 IP 地址的情况下访问 Google API 以进行 MCS 预配,请执行以下操作:
- 在 Google Cloud 中,访问 VPC network configuration(VPC 网络配置)。
- 在当前项目的“子网”选项卡中确定所使用的子网或 Citrix 环境。
- 点击子网的名称并启用 Google 私有访问权限。
有关详细信息,请参阅配置专用 Google 访问权限。
重要:
如果您的网络配置为防止虚拟机访问 Internet,请确保您的组织承担与为虚拟机连接的子网启用 Google 专用访问权限相关的风险。
下一步的去向
- 要进行简单的概念验证部署,请在指定用于向用户交付应用程序或桌面的计算机上安装 VDA。
- 要创建和管理连接,请参阅连接到 Google Cloud 环境。
- 查看安装和配置过程中的所有步骤。