使用 Private Service Connect 对 Looker (Google Cloud Core) 实例的北向访问

本文档介绍了如何使用 Private Service Connect 配置从客户端到 Looker (Google Cloud Core) 的路由(也称为北向流量)。

创建自定义网域

创建 Looker (Google Cloud Core) 实例后,第一步是设置自定义网域并更新实例的 OAuth 凭据。以下部分将引导您完成此过程。

为专用 IP (Private Service Connect) 实例创建自定义网域时,自定义网域必须满足以下要求:

  • 自定义网域必须至少包含三个部分,其中至少包含一个子网域。例如 subdomain.domain.com
  • 自定义网域不得包含以下任何内容:
    • looker.com
    • google.com
    • googleapis.com
    • gcr.io
    • pkg.dev

设置自定义域名

创建 Looker (Google Cloud Core) 实例后,您可以设置自定义网域。

准备工作

在自定义 Looker (Google Cloud Core) 实例的网域之前,请先确定网域的 DNS 记录的存储位置,以便您可以更新这些记录。

所需的角色

如需获得为 Looker (Google Cloud Core) 实例创建自定义网域所需的权限,请让您的管理员为您授予实例所在项目的 Looker Admin (roles/looker.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

创建自定义网域

在 Google Cloud 控制台中,按照以下步骤自定义 Looker (Google Cloud Core)实例的域名:

  1. 实例页面上,点击要为其设置自定义网域的实例的名称。
  2. 点击自定义网域标签页。
  3. 点击添加自定义网域

    此时将打开添加新的自定义网域面板。

  4. 仅使用字母、数字和短划线,输入您要使用的网域的主机名(最多 64 个字符),例如 looker.examplepetstore.com

  5. 点击添加新的自定义网域面板中的完成,返回到自定义网域标签页。

自定义网域设置完毕后,它会显示在 Google Cloud 控制台中 Looker (Google Cloud Core)实例详情页面自定义网域标签页的网域列中。

创建自定义网域后,您可以查看其信息删除它。

更新 OAuth 凭据

  1. 如需访问您的 OAuth 客户端,请在 Google Cloud 控制台中前往 API 和服务 > 凭据,然后选择 Looker (Google Cloud Core)实例使用的 OAuth 客户端的 OAuth 客户端 ID。
  2. 点击添加 URI 按钮,更新 OAuth 客户端中的已获授权的 JavaScript 来源字段,使其包含贵组织将用于访问 Looker (Google Cloud Core)的 DNS 名称。例如,如果您的自定义网域是 looker.examplepetstore.com,请输入 looker.examplepetstore.com 作为 URI。

  3. 将自定义网域更新或添加到您在创建 Looker (Google Cloud Core) 实例时使用的 OAuth 凭据已获授权的重定向 URI 列表中。将 /oauth2callback 添加到 URI 的末尾。例如,如果您的自定义网域是 looker.examplepetstore.com,请输入 looker.examplepetstore.com/oauth2callback

使用端点通过混合网络访问实例

设置自定义网域后,如需从本地或其他云服务提供商环境(即通过混合网络)访问实例,请执行以下步骤:

  1. 通过 Private Service Connect 端点公开 Looker (Google Cloud Core)
  2. 向多云端和本地环境通告端点
  3. 设置 DNS

网络概览

在混合网络环境中,需要以下网络组件:

此外,您还需要设置 DNS 才能访问。

Private Service Connect 允许使用方从其 VPC 网络内部或通过混合网络以私密方式访问托管式服务。它允许代管式服务方在其各自的 VPC 网络中托管这些服务,并为其使用方提供专用连接。例如,当您使用 Private Service Connect 访问 Looker (Google Cloud Core) 时,您是服务使用方,而 Looker (Google Cloud Core) 是服务提供方。

使用 Private Service Connect 部署的 Looker (Google Cloud Core) 支持端点

下图显示了 Private Service Connect 端点网络设置示例:

用于从本地访问 Looker (Google Cloud Core) 实例的网络架构。

在该示例中,本地环境通过 Cloud Interconnect 连接到 Google Cloud 主机项目,然后通过 Cloud Router 路由到 Private Service Connect 端点,该端点连接到 Google 管理的提供方 VPC 中的服务连接。共享 VPC 托管 Cloud DNS,以进行 API 解析。

所需的角色

角色

说明

Compute Network Admin (roles/compute.networkAdmin)

授予对 VPC 网络的完整控制权限来启动与 Looker (Google Cloud Core) 实例的连接。

Service Directory Editor (roles/servicedirectory.editor)

创建 Private Service Connect 端点。

Looker 管理员 (roles/looker.admin)

授予对 Looker (Google Cloud Core) 资源的完全控制权,包括创建启用了 Private Service Connect 的实例和创建自定义网域。

DNS 管理员 (roles/dns.admin)(可选)

授予对 Cloud DNS 资源的完全控制权,包括 DNS 区域和记录。

为 Looker (Google Cloud Core) 创建 Private Service Connect 端点

按照在 VPC 网络中创建 Private Service Connect 端点的说明操作。确保该网络获准对您的 Looker (Google Cloud Core) 实例进行入站流量传输,并遵循以下准则:

  • 目标服务字段(对于 Google Cloud 控制台)或 SERVICE_ATTACHMENT 变量(如果按照 Google Cloud CLI 或 API 说明操作)设置为 Looker 服务附件 URI,您可以通过运行以下命令找到该 URI:

    gcloud looker instances describe INSTANCE_NAME --region=REGION--format=json

    替换以下内容:

    • INSTANCE_NAME:您的 Looker (Google Cloud Core) 实例的名称。
    • REGION:Looker (Google Cloud Core) 实例的托管区域。
  • 您可以使用与 Looker (Google Cloud Core) 实例托管在同一区域中的任何子网。

  • 不启用全球访问权限。

如需在创建后查看端点详情,请按照查看端点详情中的说明操作。

向多云环境和本地环境通告端点

使用 Cloud Router 向您的本地网络或其他环境通告 Private Service Connect 端点的 IP 地址。

部署 Private Service Connect 端点时,系统会使用使用方 Virtual Private Cloud (VPC) 中的常规子网。Cloud Router 会自动通告此子网。不过,如果您要通过 Cloud Router 选择性地通告自定义子网,请务必修改 Cloud Router 配置,以添加 Private Service Connect 端点的 IP 地址或子网。

请确保本地(或其他环境)防火墙允许向 Private Service Connect 端点的 IP 地址或子网发出出站流量,同时考虑混合网络注意事项

设置 DNS

设置 DNS 时,您可以使用以下两种方法中的任一方法:

  • 更新本地 DNS,使其成为映射到 Private Service Connect 端点 IP 地址的 Looker (Google Cloud Core) 自定义网域的权威 DNS。
  • 创建一个 Cloud DNS 专用区域,使用为 Private Service Connect 端点分配的 IP 地址创建记录集,并启用入站 DNS 转发,以允许您的 VPC 成为映射到 Private Service Connect 端点 IP 地址的 Looker (Google Cloud Core)自定义网域的权威来源。

后续步骤