如需为 Looker (Google Cloud Core) 实例提供公开入站访问权限,您可以配置 Private Service Connect 并进行自定义网域身份验证。Private Service Connect 提供两种客户端连接方式:通过 VPC 网络以非公开方式连接,或通过外部负载均衡器以公开方式连接。
Looker (Google Cloud Core) 的常见部署方式是使用自定义网域和 Private Service Connect 后端(搭配应用负载均衡器)。此配置使用自定义网域证书身份验证,有助于为用户访问添加一层安全防护和控制。您必须在创建 Looker (Google Cloud Core) 实例期间启用 Private Service Connect,才能使用此功能。
当您使用 Private Service Connect 访问 Looker (Google Cloud Core) 时,您是服务使用方,而 Looker (Google Cloud Core) 是服务提供方。对 Looker (Google Cloud Core) 的入站访问要求将使用方 VPC 添加为 Looker (Google Cloud Core) Private Service Connect 实例的允许的 VPC。
创建自定义网域
创建 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) 实例的网域:
- 在实例页面上,点击您要为其设置自定义网域的实例的名称。
- 点击自定义网域标签页。
点击添加自定义网域。

系统随即会打开添加新的自定义网域面板。
仅使用字母、数字和短划线,输入您要使用的 Web 网域的主机名(最多 64 个字符),例如:
looker.examplepetstore.com。
点击继续按钮。
系统会打开更新 DNS 记录部分。入站公共 IP 列在数据字段中。
点击添加新的自定义网域面板上的完成,返回到自定义网域标签页。
更新自定义网域需要 10 到 15 分钟才能完成。
设置自定义网域后,该网域会显示在 Google Cloud 控制台中 Looker (Google Cloud core) 实例详情页面的自定义网域标签页的网域列中。
更新 OAuth 凭据
- 在 Google Cloud 控制台中,依次前往 API 和服务 > 凭据,然后选择 Looker (Google Cloud Core) 实例使用的 OAuth 客户端的 OAuth 客户端 ID,即可访问您的 OAuth 客户端。
点击添加 URI 按钮,以更新 OAuth 客户端中的已获授权的 JavaScript 来源字段,使其包含贵组织将用于访问 Looker (Google Cloud Core)的相同 DNS 名称。例如,如果您的自定义网域是
looker.examplepetstore.com,则您输入的 URI 也是looker.examplepetstore.com。
更新或添加自定义网域,将其添加到您创建 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 |
授予对 VPC 网络的完整控制权限来启动与 Looker (Google Cloud Core)实例的连接,包括创建和管理 HTTPS 目标代理。 |
Compute Load Balancer Admin 角色 |
创建 Private Service Connect 后端。 |
Looker 管理员 |
授予对 Looker (Google Cloud Core) 资源的完全控制权,包括创建已启用 Private Service Connect 的实例和创建自定义网域。 |
DNS Admin |
授予对 Cloud DNS 资源的完全控制权,包括 DNS 区域和记录。 |
Certificate Manager Owner |
创建和管理 Certificate Manager 资源所需的角色。 |
网络设置
需要以下网络组件:
通过 Private Service Connect 部署的 Looker (Google Cloud Core)支持与 Google Cloud 负载均衡器集成的 Private Service Connect 网络端点组 (NEG),称为后端。如需了解如何使用后端公开访问已启用 Private Service Connect 的 Looker (Google Cloud Core) 实例,请参阅 Looker PSC 北向区域外部 L7 ALB Codelab。
下图展示了用于公开访问的 Private Service Connect 后端网络设置示例:

如图所示,公共客户端通过执行 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_backend 和 no healthy upstream (HTTP 503) 错误,并且网络端点组 (NEG) 始终处于 pending 状态,则表示使用方项目缺少强制性网络配置步骤。具体而言,使用方项目未获授权连接到 Looker (Google Cloud Core) 提供方服务,或者未在使用方 VPC 中创建网络连接资源。
如需解决这些问题,请务必完成以下强制性网络配置步骤:
- VPC 许可名单:在 Looker(Google Cloud 核心)设置中,将消费方网络添加到允许用于入站连接的 VPC 列表中。添加此网络会授权使用方 VPC 建立与 Looker (Google Cloud Core) 提供方服务的连接。
- 网络连接配置:在使用方 VPC 中创建网络连接资源,并将其与 Looker (Google Cloud Core) 实例相关联。
后续步骤
- 将 Looker (Google Cloud Core) 连接到您的数据库
- 为用户准备 Looker (Google Cloud Core) 实例
- 在 Looker (Google Cloud Core) 中管理用户