在服务边界内使用代管式笔记本实例

本页面介绍如何使用 VPC Service Controls 在服务边界内设置代管式笔记本实例。

准备工作

  1. 阅读 VPC Service Controls 概览

  2. 创建代管式笔记本实例 此实例不在服务边界内。

  3. 创建 VPC 网络或使用您的项目的默认 VPC 网络

创建和配置服务边界

如需创建和配置服务边界,请执行以下操作:

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

    1. 当可以向服务边界添加项目时,请添加包含代管式笔记本实例的项目。

    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 和服务交互的代码

在服务边界内使用 Artifact Registry

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

使用共享 VPC

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

访问代管式笔记本实例

  1. 在 Google Cloud 控制台中,前往代管式笔记本页面。

    前往“代管式笔记本”

  2. 在代管式笔记本实例的名称旁边,点击打开 JupyterLab

  3. 如果这是您第一次访问代管式笔记本实例的 JupyterLab 界面,您必须授予访问您数据的权限并对代管式笔记本实例进行身份验证。

    1. Authenticate your managed notebook 对话框中,点击按钮以获取身份验证代码。

    2. 选择一个账号,然后点击允许。复制身份验证代码。

    3. Authenticate your managed notebook(对代管笔记本进行身份验证)对话框中,粘贴身份验证代码,然后点击身份验证

您的代管式笔记本实例会打开 JupyterLab。

限制

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

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

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

在没有互联网的情况下从工作站访问代管式笔记本代理

如需从互联网访问受限的工作站访问代管式笔记本实例,请向您的 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 条目

后续步骤