在服务边界内使用实例

本页面介绍如何使用 VPC Service Controls 在服务边界内设置 Vertex AI Workbench 实例。

准备工作

  1. 阅读 VPC Service Controls 概览

  2. 创建 Vertex AI Workbench 实例。 此实例不在服务边界内。

  3. 使用 VPC Service Controls 创建服务边界。此服务边界可保护 Google 管理的指定服务资源。创建服务边界时,请执行以下操作:

    1. 当可以向服务边界添加项目时,请添加包含 Vertex AI Workbench 实例的项目。

    2. 当可以向服务边界添加服务时,请添加 Notebooks API

    如果您创建服务边界时未添加所需的项目和服务,请参阅管理服务边界,了解如何更新服务边界。

使用 Cloud DNS 配置 DNS 条目

Vertex AI Workbench 实例使用 Virtual Private Cloud 网络在默认情况下不会处理的多个网域。为确保您的 VPC 网络正确处理发送到这些网域的请求,请使用 Cloud DNS 添加 DNS 记录。如需详细了解 VPC 路由,请参阅路由

如需为网域创建代管式可用区,请添加将路由请求的 DNS 条目,执行事务,然后完成以下步骤。分别对需要处理请求的多个网域重复上述步骤(从 *.notebooks.googleapis.com 开始)。

Cloud Shell 中或安装了 Google Cloud CLI 的任何环境中,输入以下 Google Cloud CLI 命令。

  1. 如需为 VPC 网络需要处理的某个网域创建专用代管式可用区,请运行以下命令:

        gcloud dns managed-zones create ZONE_NAME \
            --visibility=private \
            --networks=https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME \
            --dns-name=DNS_NAME \
            --description="Description of your managed zone"
        

    替换以下内容:

    • ZONE_NAME:要创建的可用区的名称。 您必须对每个网域使用单独的区域。下列各个步骤中都将使用此可用区名称。
    • PROJECT_ID:托管您的 VPC 网络的项目的 ID
    • NETWORK_NAME:您之前创建的 VPC 网络的名称
    • DNS_NAME:域名中 *. 后面的部分,末尾有英文句点。例如,*.notebooks.googleapis.comDNS_NAMEnotebooks.googleapis.com.
  2. 启动一项事务。

        gcloud dns record-sets transaction start --zone=ZONE_NAME
        
  3. 添加以下 DNS A 记录。此操作会将流量重新路由到 Google 的受限 IP 地址。

        gcloud dns record-sets transaction add \
            --name=DNS_NAME. \
            --type=A 199.36.153.4 199.36.153.5 199.36.153.6 199.36.153.7 \
            --zone=ZONE_NAME \
            --ttl=300
        
  4. 添加以下 DNS CNAME 记录,以指向刚刚添加的 A 记录。此操作会将与相应网域匹配的所有流量重定向至上一步中列出的 IP 地址。

        gcloud dns record-sets transaction add \
            --name=\*.DNS_NAME. \
            --type=CNAME DNS_NAME. \
            --zone=ZONE_NAME \
            --ttl=300
        
  5. 执行事务。

        gcloud dns record-sets transaction execute --zone=ZONE_NAME
        
  6. 对以下每个网域重复执行上述步骤。每次重复上述步骤时,请将 ZONE_NAMEDNS_NAME 更改为相关网域的对应值。每次都应使 PROJECT_IDNETWORK_NAME 保持一致。您现在已对 *.notebooks.googleapis.com 完成上述步骤。

    • *.notebooks.googleapis.com
    • *.notebooks.cloud.google.com
    • *.notebooks.googleusercontent.com
    • *.googleapis.com,运行与其他 Google API 和服务交互的代码

配置服务边界

配置 DNS 记录后,请创建服务边界更新现有边界,以便将您的项目添加到服务边界。

在 VPC 网络中,为 199.36.153.4/30 范围添加下一个跃点为 Default internet gateway 的路由。

在服务边界内使用 Artifact Registry

如果要在服务边界中使用 Artifact Registry,请参阅为 GKE 专用集群配置受限访问权限

使用共享 VPC

如果您是使用共享 VPC,则必须将主机和服务项目添加到服务边界。在宿主项目中,您还必须从服务项目将 Compute Network User (roles/compute.networkUser) 角色授予 Notebooks Service Agent。如需了解详情,请参阅管理服务边界

访问 Vertex AI Workbench 实例

要在新实例上打开 Jupyter 笔记本,请执行以下操作:

  1. 在 Google Cloud 控制台中,进入实例页面。

    转到实例

  2. 在实例名称旁边,点击打开 JupyterLab

  3. 在 JupyterLab 中,选择 文件 > 新建 > 笔记本

  4. 选择内核对话框中,选择一个内核,然后点击选择

    系统会打开您的新笔记本文件。

限制

将 VPC Service Controls 与 Vertex AI Workbench 搭配使用时,存在以下限制:

入站和出站政策的身份类型

为服务边界指定入站或出站政策时,您不能将 ANY_SERVICE_ACCOUNTANY_USER_ACCOUNT 用作所有 Vertex AI Workbench 操作的身份类型。

请改为将 ANY_IDENTITY 用作身份类型。

在没有互联网的情况下从工作站访问 Vertex AI Workbench 代理

如需从互联网访问受限的工作站访问 Vertex AI Workbench 实例,请向您的 IT 管理员确认您可以访问以下网域:

  • *.accounts.google.com
  • *.accounts.youtube.com
  • *.googleusercontent.com
  • *.kernels.googleusercontent.com
  • *.gstatic.com
  • *.notebooks.cloud.google.com
  • *.notebooks.googleapis.com

您必须有权访问这些网域才能向 Google Cloud 进行身份验证。如需详细了解配置信息,请参阅上一部分使用 Cloud DNS 配置 DNS 条目