使用 Private Service Connect 对 Looker (Google Cloud Core) 实例进行公开入站访问

此文档页面介绍了如何使用 Private Service Connect 配置从客户端到 Looker (Google Cloud Core) 的路由,也称为 入站流量

Private Service Connect 可让使用方从其 VPC 网络内部以私密方式访问托管式服务,也可以通过混合网络或在部署外部区域级应用负载均衡器时以公开方式访问。它允许代管式服务提供方在其各自的 VPC 网络中托管这些服务,并为其使用方提供专用或公开连接。

当您使用 Private Service Connect 访问 Looker (Google Cloud Core) 时,您是服务使用方,而 Looker (Google Cloud Core) 是服务提供方。如需入站访问 Looker (Google Cloud Core),必须将使用方 VPC 添加为 Looker (Google Cloud Core) Private Service Connect 实例的允许 VPC

本文档介绍了如何设置和配置自定义网域,并提供了有关使用 Private Service Connect 后端通过证书以专用或公开方式访问 Looker (Google Cloud Core) 的指南。

建议通过具有后端的应用负载均衡器访问 Looker (Google Cloud Core)。此设置还允许进行自定义网域证书身份验证,从而为用户访问添加额外的安全和控制层。

创建自定义网域

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

为专用连接 (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. 仅使用字母、数字和短划线,输入您要使用的 Web 网域的主机名(最多 64 个字符),例如:looker.examplepetstore.com

  5. 点击继续 按钮。

  6. 系统会打开更新 DNS 记录 部分。入站公共 IP 列在数据 字段中。

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

更新自定义网域需要 10 到 15 分钟才能完成。

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

创建自定义网域后,您可以查看有关该网域的信息将其删除

更新 OAuth 凭据

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

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

公开访问 Looker (Google Cloud Core)

设置自定义网域后,下一步是创建具有 DNS 授权的自签名证书或 Google 管理的证书。创建证书后,您可以部署具有 Private Service Connect 后端 的外部区域级应用负载均衡器作为后端服务。部署负载均衡器后,您可以将客户网域和负载均衡器 IP 地址作为 A 记录更新到公共 DNS。

所需的角色

角色

说明

Compute Network Admin (roles/compute.networkAdmin)

授予对 VPC 网络的完整控制权限来启动与 Looker (Google Cloud Core) 实例的连接,包括创建和管理 HTTPS 目标代理。

Compute Load Balancer Admin 角色 (roles/compute.loadBalancerAdmin)

创建 Private Service Connect 后端。

Looker Admin (roles/looker.admin)

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

DNS Admin (roles/dns.admin)(可选)

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

Certificate Manager Owner (roles/certificatemanager.owner)(可选)

创建和管理 Certificate Manager 资源时需要此角色。

网络设置

需要以下网络组件:

使用 Private Service Connect 部署的 Looker (Google Cloud Core) 支持 Private Service Connect 网络端点组 (NEG)(称为 后端),这些后端与 Google Cloud 负载平衡器集成。如需了解如何使用后端公开访问已启用 Private Service Connect 的 Looker (Google Cloud Core) 实例,请参阅 Looker PSC Northbound Regional External L7 ALB Codelab。

下图显示了用于公开访问的 Private Service Connect 后端网络设置示例:

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

如图所示,公开客户端通过执行 DNS 查找来访问 Looker (Google Cloud Core),方法是指定 Looker (Google Cloud Core) 客户网域,该网域将外部区域级应用负载均衡器的 IP 地址作为 A 记录返回。负载均衡器收到流量后,后端服务(由 Private Service Connect 后端组成)会连接到 Google 管理的提供方 VPC 中托管 Looker (Google Cloud Core) 的服务连接。确保允许使用方 VPC 网络入站访问您的 Looker (Google Cloud Core) 实例。

问题排查

使用 Private Service Connect 后端配置对 Looker (Google Cloud Core) 实例的入站访问时,您可能会遇到实例无法成功预配或负载均衡器无法访问后端服务的问题。

如果负载均衡器日志显示 failed_to_pick_backendno healthy upstream (HTTP 503) 错误,并且网络端点组 (NEG) 仍处于 pending 状态,则说明缺少使用方项目的强制性网络配置步骤。具体而言,使用方项目未获授权连接到 Looker (Google Cloud Core) 提供方服务,或者未在使用方 VPC 中创建网络连接资源。

如需解决这些问题,请确保完成以下强制性网络配置步骤:

  1. VPC 列入许可名单:将使用方网络添加到 Looker (Google Cloud Core) 设置中入站连接的允许 VPC 列表中。添加此网络会授权使用方 VPC 与 Looker (Google Cloud Core) 提供方服务建立连接。
  2. 网络连接配置:在使用方 VPC 中创建网络连接资源,并将其与 Looker (Google Cloud Core) 实例相关联。

后续步骤