配置 VPC Service Controls 和专用集群

本页面介绍 VPC Service Controls 和专用集群的工作原理,以及 在 Cloud Workstations 中进行设置。

VPC Service Controls

VPC Service Controls 可为您的工作站提供额外的安全保护, 降低数据渗漏的风险。使用 VPC Service Controls 将项目部署到服务边界,从而帮助保护资源和服务免受 来自边界外的请求

以下是在 VPC 服务边界中使用 Cloud Workstations 的要求:

  • 为了帮助保护 Cloud Workstations 工作站,您必须限制 只要将服务边界内的 Compute Engine API 限制 Cloud Workstations API。
  • 确保 Google Cloud Storage API、Google Container Registry API 和 Artifact Registry API 在您的服务中可访问 VPC 边界。这是将映像拉取到工作站的必要条件。 我们还建议您允许从服务边界内的 VPC 访问 Cloud Logging API 和 Cloud Error Reporting API,但这不是使用 Cloud Workstations 所必需的。

  • 确保您的工作站集群 private。 配置专用集群可防止从 VPC 服务边界外连接到工作站。Cloud Workstations 服务会阻止在 VPC 服务边界中创建公共集群。
  • 请确保在工作站配置中关闭公共 IP 地址,否则会导致虚拟机具有公共 IP 项目中的其他地址我们强烈建议您使用 constraints/compute.vmExternalIpAccess 组织政策限制条件来关闭 VPC 服务边界中所有虚拟机的公共 IP 地址。有关详情,请参阅 将外部 IP 地址限制为 虚拟机

如需详细了解服务边界,请参阅服务边界详情和配置

架构

将工作站集群配置为专用集群时, 工作站集群只有一个内部 IP 地址。这意味着来自公共互联网的客户端无法连接到工作站集群所属的工作站。如需使用专用集群,您必须手动连接到 将您的本地网络安全地连接到 Private Service Connect 端点。

使用专用集群的配置需要两个 PSC 端点:

  • 默认情况下,Cloud Workstations 会创建一个单独的 PSC 端点,以将控制平面连接到工作站虚拟机。

  • 您必须为专用集群创建额外的 PSC 端点。如需从本地机器连接到 您的本地机器必须 VPC 网络。使用 Cloud VPNCloud Interconnect 将运行机器的外部网络连接到 VPC 。此额外的 PSC 端点必须创建在您的外部网络通过 Cloud VPN 或 Cloud Interconnect 连接到的同一网络中。

下图展示了一个专用集群的示例架构:

图 1. 专用集群

准备工作

在开始之前,请确保您已完成以下必需的设置步骤:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Workstations API.

    Enable the API

  7. 确保您拥有 Cloud Workstations Admin IAM 角色 以便您可以创建工作站配置。 如需在 Google Cloud 控制台中查看您的 IAM 角色,请前往 IAM 页面:

    前往 IAM

  8. Cloud 工作站托管在从 Compute Engine 的预配置公共 Container-Optimized OS (COS) 映像启动的虚拟机上。如果 constraints/compute.trustedimageProjects 组织 政策限制条件时,您必须 设置映像访问限制 允许用户通过 projects/cos-cloud 或所有公共映像创建启动磁盘。
  9. 可选:启用 Container File System API 以加快工作站启动速度。

    启用 Container File System API

    如需了解详情,请参阅使用图片流功能缩短工作站启动时间

创建专用集群

如需创建专用集群,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Cloud Workstations 页面。

    转到 Cloud Workstations

  2. 前往工作站的集群管理页面。

  3. 点击创建

  4. 为工作站集群输入名称,然后选择区域

  5. 在“网络”部分中,选择此项目中的网络

  6. 选择网络子网

  7. 对于网关类型,请选择专用网关

  8. 可选:指定一个或多个其他项目,用于托管用于启用对私有集群的 HTTP 访问的 Private Service Connect 端点。默认情况下,只能在 工作站集群项目和 VPC 网络宿主项目(如果不同)。 如果需要,还可以在创建集群后指定这些项目。

  9. 点击创建。创建集群时,状态会显示为正在更新

    创建集群需要几分钟才能完成。集群创建完成后,集群的状态可能会显示为已降级。完成 创建 PSC 端点部分,将集群的 状态将在几分钟内变为就绪

启用专用集群连接

客户端无法从 公共互联网。客户端必须位于连接到 工作站集群 Private Service Connect (PSC)。 请按照本部分中的步骤连接到工作站:

  1. 创建 PSC 端点

  2. 创建专用 DNS 区域

  3. 使用 Cloud DNS 创建 DNS 记录,将集群的主机名映射到 PSC 端点。

创建 Private Service Connect 端点

如需创建 PSC 端点,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Private Service Connect。

    开始 连接到 Private Service Connect

  2. 点击连接的端点标签页,然后点击 添加连接端点

  3. 对于目标,选择已发布的服务

  4. 目标服务字段中,输入为工作站集群创建的服务连接 URI。如需找到此 URI,请在控制台中前往您的工作站集群,然后在网络设置下方查找 Service attachment URI 字段。

  5. Endpoint 字段中,输入端点名称。

  6. 为端点选择网络,然后选择子网。 此网络应该是您要用于连接的网络 而且必须是外部网络所在的网络 连接到 Cloud VPN 或 Cloud Interconnect。

  7. 为端点选择 IP 地址

    如果您需要新的 IP 地址,请选择创建 IP 地址

    1. 为 IP 地址输入名称和可选的描述
    2. 对于静态 IP 地址,选择自动分配。对于自定义 IP 地址,请选择让我选择,然后输入您要使用的 IP 地址。
    3. 对于用途,请选择非共享
    4. 点击预留
  8. 从下拉列表中选择命名空间,或者创建新的命名空间。系统会根据所选子网填充区域

  9. 点击添加端点

  10. 复制端点的 IP 地址,以便在下一部分中创建专用 DNS 区域和 DNS 记录时使用。

创建专用 DNS 区域

请按照以下步骤为此工作站集群创建专用 DNS 区域 (DNS 名称设置为您的 clusterHostname),您可以通过 导航到控制台上的工作站集群。

  1. 在 Google Cloud Console 中,转到创建 DNS 可用区页面。

    前往“创建 DNS 区域”页面

  2. 对于可用区类型,请选择专用

  3. 输入可用区名称,例如 private-workstations-cluster-zone

  4. 为专用地区输入 DNS 名称后缀。该可用区中的所有记录都具有此后缀,将此名称设置为您的 clusterHostname

    如需查找您的 clusterHostname,请前往 Cloud Workstations 网站 > Google Cloud 控制台中的集群管理页面,以及 然后点击工作站集群以查看主机名。

  5. 可选:添加说明。

  6. 选项下,选择默认(专用)

  7. 选择您在创建 PSC 端点在 上一部分 因为 IP 地址仅在该网络上有效

  8. 点击创建

如需详细了解专用 DNS 区域,请参阅 Cloud DNS 关于如何使用 创建专用区域Cloud DNS 专用区域的最佳做法

创建 DNS 记录

如需添加将 *.<clusterHostname> 映射到您在创建 Private Service Connect 端点时预留的 IP 地址的记录,请按以下步骤操作:

  1. 在 Google Cloud 控制台中,进入 Cloud DNS 区域页面。

    进入“Cloud DNS 区域”

  2. 点击要在其中添加记录的托管区域的名称。

  3. 区域详情页面上,点击添加标准

  4. Create record set(创建记录集)页面上,在 DNS name(DNS 名称)字段中输入 *.<clusterHostname>

  5. IP 地址字段中,输入您为自己网站预留的 IP 地址。 Private Service Connect 端点。

  6. 点击创建

  7. 您的 VPC 网络现在应已连接到工作站集群,您可以使用此网络连接到工作站。

在本地启用 DNS 解析

要在工作站上使用基于浏览器的默认编辑器,请使用 虚拟机连接到 VPC 网络。您可以使用 Cloud VPNCloud Interconnect 从运行浏览器的外部网络连接到 VPC 网络。

如需从外部网络进行连接,您需要在外部网络中配置 DNS。与上述步骤类似,您可以为 clusterHostname 创建一个 DNS 区域,并添加一条将 *.<clusterHostname> 映射到您在创建 Private Service Connect 端点时预留的 IP 地址的记录。或者,您也可以设置 DNS 转发区域或 DNS 服务器政策,以允许在您的本地环境和 Google Cloud 环境之间查找 DNS 名称。

您可能还需要将 *cloudworkstations.dev 添加到本地基础架构的许可名单中。

后续步骤