使用 Private Service Connect 公開存取 Looker (Google Cloud Core) 執行個體

如要為 Looker (Google Cloud Core) 執行個體提供公開連入存取權,可以設定 Private Service Connect 並啟用自訂網域驗證。Private Service Connect 提供兩種用戶端連線方式:透過虛擬私有雲網路以私人連線方式連線,或透過外部負載平衡器以公開連線方式連線。

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 管理員 (roles/looker.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

建立自訂網域

在 Google Cloud 控制台中,按照下列步驟自訂 Looker (Google Cloud Core) 執行個體的網域:

  1. 在「執行個體」頁面中,按一下要設定自訂網域的執行個體名稱。
  2. 按一下「自訂網域」分頁標籤。
  3. 按一下 [新增自訂網域]。

    「新增自訂網域」面板隨即開啟。

  4. 輸入要使用的網域主機名稱,最多 64 個字元,只能使用英文字母、數字和連字號,例如:looker.examplepetstore.com。

  5. 按一下 [Continue] (繼續) 按鈕。

  6. 「更新 DNS 記錄」部分隨即開啟。「資料」欄位會列出連入公開 IP。

  7. 按一下「新增自訂網域」面板上的「完成」,返回「自訂網域」分頁。

更新自訂網域需要 10 到 15 分鐘。

設定自訂網域後,該網域會顯示在 Google Cloud 控制台的 Looker (Google Cloud Core) 執行個體詳細資料頁面中,位於「CUSTOM DOMAIN」(自訂網域) 索引標籤的「Domain」(網域) 欄。

自訂網域建立完成後,您可以查看相關資訊或刪除該網域。

更新 OAuth 憑證

  1. 在 Google Cloud 控制台中依序前往「API 和服務」>「憑證」,然後選取 Looker (Google Cloud 核心) 執行個體使用的 OAuth 用戶端 ID,即可存取 OAuth 用戶端。
  2. 按一下「新增 URI」按鈕,更新 OAuth 用戶端的「已授權的 JavaScript 來源」欄位,加入貴機構將用來存取 Looker (Google Cloud Core) 的 DNS 名稱。舉例來說,如果自訂網域是 looker.examplepetstore.com,請輸入 looker.examplepetstore.com 做為 URI。

  3. 更新或新增自訂網域至授權重新導向 URI 清單,該清單適用於您建立 Looker (Google Cloud Core) 執行個體時使用的 OAuth 憑證。在 URI 結尾新增 /oauth2callback。舉例來說,如果自訂網域是 looker.examplepetstore.com,請輸入 looker.examplepetstore.com/oauth2callback。

公開存取 Looker (Google Cloud Core)

設定自訂網域後,下一步是建立自行簽署的憑證或 Google 代管的憑證,並進行 DNS 授權。建立憑證後,您可以部署外部區域應用程式負載平衡器,並將Private Service Connect 後端做為後端服務。部署負載平衡器後,您可以將客戶網域和負載平衡器 IP 位址更新為 A 記錄,並更新公開 DNS。

必要的角色

角色

說明

Compute 網路管理員 (roles/compute.networkAdmin)

授予發起連線至 Looker (Google Cloud Core) 執行個體的虛擬私有雲網路完整控制權,包括建立及管理 HTTPS 目標 Proxy。

Compute 負載平衡器管理員角色 (roles/compute.loadBalancerAdmin)

建立 Private Service Connect 後端。

Looker 管理員 (roles/looker.admin)

授予 Looker (Google Cloud Core) 資源的完整控制權,包括建立已啟用 Private Service Connect 的執行個體,以及建立自訂網域。

DNS 管理員 (roles/dns.admin) (選用)

具備 Cloud DNS 資源的完整控制權,包括 DNS 區域和記錄。

Certificate Manager 擁有者 (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 程式碼實驗室。

下圖顯示公開存取的 Private Service Connect 後端網路設定範例:

從地端部署使用後端存取 Looker (Google Cloud Core) 執行個體的網路架構。

如圖所示,公開用戶端會指定 Looker (Google Cloud Core) 客戶網域,執行 DNS 查詢,傳回外部區域應用程式負載平衡器的 IP 位址做為 A 記錄,藉此存取 Looker (Google Cloud Core)。負載平衡器收到流量後,後端服務 (由 Private Service Connect 後端組成) 會連線至 Google 代管的供應商 VPC 中的服務連結,該 VPC 託管 Looker (Google Cloud Core)。確認消費者虛擬私有雲網路允許連入 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) 生產端服務,或用戶虛擬私有雲中未建立網路附件資源。

如要解決這些問題,請務必完成下列必要網路設定步驟:

  1. 虛擬私有雲加入許可清單:在 Looker (Google Cloud Core) 設定中,將消費者網路新增至允許傳入連線的虛擬私有雲清單。新增這個網路後,消費者虛擬私有雲就能與 Looker (Google Cloud Core) 生產者服務建立連線。
  2. 網路連結設定:在消費者虛擬私有雲中建立網路連結資源,並將其與 Looker (Google Cloud Core) 執行個體建立關聯。

後續步驟