1. 簡介
在本程式碼研究室中,您將建立第 7 層區域應用程式負載平衡器和 Private Service Connect 後端,以取得 Looker 的北向存取權。如要北向存取 Looker,必須將 Consumer VPC 列入 Looker PSC 執行個體的許可清單。
Private Service Connect 是 Google Cloud 網路功能,可讓消費者從虛擬私有雲網路內,以私密方式存取代管服務。同樣地,代管服務生產端也能在自己的獨立虛擬私有雲網路中代管這些服務,並為消費者提供私人連線。舉例來說,如果您使用 Private Service Connect 存取 Looker,您就是服務用戶,而 Google 則是服務供應商,如圖 1 所示。
圖 1.

南向存取 (又稱反向 PSC) 可讓消費者以生產者身分建立已發布的服務,允許 Looker 存取地端部署、虛擬私有雲、代管服務和網際網路上的端點。無論 Looker PSC 部署在哪個區域,您都可以在任何區域部署南向連線,如圖 2 所示。
圖 2.

課程內容
- 網路需求
- 更新 Looker 許可清單,允許北向存取
- 在消費者虛擬私有雲中建立 Private Service Connect 後端
- Google 憑證與自行簽署憑證的比較
軟硬體需求
- 具備「擁有者」權限的 Google Cloud 專案
- 已註冊網域
- 現有的 Looker PSC 執行個體

2. 建構項目
您將建立允許的消費者網路 (looker-psc-demo),部署區域外部 L7 應用程式負載平衡器和 PSC 後端 NEG,這需要 Google 或自行簽署的憑證。無論採用哪種方法,您都必須註冊網域,且該網域與 Looker 中定義的自訂網域相符。
3. 網路需求
以下是網路需求明細:
元件 | 說明 |
虛擬私有雲 (looker-psc-demo) | 自訂模式虛擬私有雲 |
PSC NEG 子網路 | 用於為網路端點群組分配 IP 位址 |
僅限 Proxy 子網路 | 系統會指派一個內部 IP 位址給每個負載平衡器的Proxy 。從 Proxy 傳送到後端 VM 或端點的封包,其來源 IP 位址來自僅限 Proxy 的子網路。 |
後端服務 | 後端服務是負載平衡器與後端資源之間的橋樑。在本教學課程中,後端服務會與 PSC NEG 建立關聯。 |
4. 程式碼研究室拓撲

5. 設定和需求
自修實驗室環境設定
- 登入 Google Cloud 控制台,然後建立新專案或重複使用現有專案。如果沒有 Gmail 或 Google Workspace 帳戶,請先建立帳戶。



- 專案名稱是這個專案參與者的顯示名稱。這是 Google API 未使用的字元字串。你隨時可以更新。
- 專案 ID 在所有 Google Cloud 專案中都是不重複的,而且設定後即無法變更。Cloud 控制台會自動產生專屬字串,通常您不需要在意該字串為何。在大多數程式碼研究室中,您需要參照專案 ID (通常標示為
PROJECT_ID)。如果您不喜歡產生的 ID,可以產生另一個隨機 ID。你也可以嘗試使用自己的名稱,看看是否可用。完成這個步驟後就無法變更,且專案期間會維持不變。 - 請注意,有些 API 會使用第三個值,也就是「專案編號」。如要進一步瞭解這三種值,請參閱說明文件。
- 接著,您需要在 Cloud 控制台中啟用帳單,才能使用 Cloud 資源/API。完成這個程式碼研究室的費用不高,甚至可能完全免費。如要關閉資源,避免在本教學課程結束後繼續產生費用,請刪除您建立的資源或專案。Google Cloud 新使用者可參加價值$300 美元的免費試用計畫。
啟動 Cloud Shell
雖然可以透過筆電遠端操作 Google Cloud,但在本程式碼研究室中,您將使用 Google Cloud Shell,這是可在雲端執行的指令列環境。
在 Google Cloud 控制台中,點選右上工具列的 Cloud Shell 圖示:

佈建並連線至環境的作業需要一些時間才能完成。完成後,您應該會看到如下的內容:

這部虛擬機器搭載各種您需要的開發工具,並提供永久的 5GB 主目錄,而且可在 Google Cloud 運作,大幅提升網路效能並強化驗證功能。您可以在瀏覽器中完成本程式碼研究室的所有作業。您不需要安裝任何軟體。
6. 事前準備
啟用 API
在 Cloud Shell 中,確認專案 ID 已設定完畢:
gcloud config list project
gcloud config set project [YOUR-PROJECT-ID]
project=[YOUR-PROJECT-ID]
region=[YOUR-REGION]
echo $project
echo $region
啟用所有必要服務:
gcloud services enable compute.googleapis.com
7. 消費者網路
在下一節中,您將建立用戶網路,並在 Looker PSC 虛擬私有雲允許清單中更新。
虛擬私有雲網路
在 Cloud Shell 中執行下列操作:
gcloud compute networks create looker-psc-demo --subnet-mode custom
建立子網路
在 Cloud Shell 中,建立消費者網路端點群組子網路:
gcloud compute networks subnets create consumer-psc-neg-subnet --network looker-psc-demo --range 172.16.30.0/28 --region $region --enable-private-ip-google-access
在 Cloud Shell 中,建立生產者區域專屬的僅限 Proxy 子網路:
gcloud compute networks subnets create $region-proxy-only-subnet \
--purpose=REGIONAL_MANAGED_PROXY \
--role=ACTIVE \
--region=$region \
--network=looker-psc-demo \
--range=10.10.10.0/24
保留負載平衡器的 IP 位址
在 Cloud Shell 中,為負載平衡器保留外部 IP 位址:
gcloud compute addresses create regional-alb-static-ip \
--region=$region \
--network-tier=STANDARD
在 Cloud Shell 中,查看保留的 IP 位址:
gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
輸出內容範例:
user@cloudshell$ gcloud compute addresses describe regional-alb-static-ip --region=us-central1 | grep -i address:
address: 35.208.202.244
8. 建立自訂網域
如要建立自訂網域,請按照下列步驟操作:
自訂網域範例
自訂網域 looker.cosmopup.com 是公開 DNS 子網域,與先前定義的靜態 IP 位址 (regional-alb-static-ip) 的 A 記錄相關聯。請參閱從終端機擷取的螢幕截圖,驗證 DNS 查詢。

接著,使用子網域 looker.cosmopup.com 建立客戶網域

OAuth 範例
以下是子網域 looker.cosmopup.com 的授權來源和回呼 OAuth 憑證範例。

9. 憑證
您可以建立 Compute Engine 或 Certificate Manager 憑證。您可以使用下列任一方法,透過 Certificate Manager 建立憑證:
- 區域性自行管理憑證。如要瞭解如何建立及使用區域性自行管理憑證,請參閱部署區域性自行管理憑證。不支援憑證對應。
- 區域性 Google 代管憑證。不支援憑證對應。Certificate Manager 支援下列類型的區域性 Google 代管憑證:
- 區域性 Google 代管憑證,並採用專案 DNS 授權。詳情請參閱「部署區域 Google 代管憑證」。
- 透過憑證授權單位服務,使用區域性 Google 代管 (私人) 憑證。詳情請參閱「使用 CA Service 部署區域 Google 代管憑證」。
10. Looker 虛擬私有雲允許清單
查看允許的 VPC
在下一節中,您將使用 Cloud Console 使用者介面查看 Looker 允許的 VPC 清單。
在 Cloud 控制台中,前往:
Looker → Looker 執行個體 → 詳細資料
以下範例顯示「允許的虛擬私有雲」清單中沒有任何項目:

更新允許的 VPC
將 looker-psc-demo 新增為允許的虛擬私有雲,更新 Looker 執行個體以支援北向存取。
在 Cloud 控制台中,前往:
依序點選「Looker」→「Looker 執行個體」→「編輯」

「連線」→「允許的虛擬私有雲」
請務必選取部署 looker-psc-demo 的專案,然後選取 VPC looker-psc-demo,再按一下「繼續」。


驗證允許的虛擬私有雲
查看更新後的「允許的虛擬私有雲」清單
在 Cloud 控制台中,前往:
Looker → Looker 執行個體 → 詳細資料

11. 建立 PSC 後端
Looker PSC (服務供應商) 會產生服務連結 URI,供服務使用者部署端點和後端,以取得 Looker 的北向存取權。在下一個步驟中,您會找出 Looker PSC 服務連結 URI,然後在消費者虛擬私有雲中建立 Private Service Connect 網路端點群組 (NEG) 後端。
找出 Looker PSC 服務連結
在 Cloud Console 中,前往並複製服務附件 URI:
Looker → Looker 執行個體 → 詳細資料

建立 PSC 網路端點群組
在 Cloud Shell 中執行下列指令,請務必更新 psc-target-service:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=[UPDATE WITH YOU LOOKER SERVICE ATTACHMENT URI] \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
範例:
gcloud compute network-endpoint-groups create looker-northbound-neg \
--network-endpoint-type=private-service-connect \
--psc-target-service=projects/t7ec792caf2a609d1-tp/regions/us-central1/serviceAttachments/looker-psc-f51982e2-ac0d-48b1-91bb-88656971c183 \
--region=$region \
--network=looker-psc-demo \
--subnet=consumer-psc-neg-subnet
驗證 PSC 網路端點群組建立作業
在 Cloud Shell 中執行下列操作,確保 pscConnectionStatus 為「accepted」:
gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
範例:
user@cloudshell$ gcloud compute network-endpoint-groups describe looker-northbound-neg --region=$region | grep -i pscConnectionStatus:
pscConnectionStatus: ACCEPTED
建立區域應用程式負載平衡器
在下列步驟中,您將使用 Cloud Console 建立區域外部應用程式負載平衡器,同時將產生的憑證與前端設定建立關聯。
在 Cloud 控制台中,前往:
「網路服務」→「負載平衡」→「建立負載平衡器」

選取下列選項:

建立前端設定
選取下列選項,並根據部署作業自訂環境:
- 部署網路基礎架構時使用的區域
- 系統會根據您所在的區域自動填入 Proxy 專用子網路
- 根據您選取的區域,提供先前定義的靜態 IP

選取「憑證」後,系統會顯示使用現有或新憑證的選項:

上傳憑證和私密金鑰,然後選取「建立」:

選取「完成」即可完成前端設定:

建立後端設定
選取下列選項:




建立轉送規則
選取下列選項 (預設選項):

檢查並完成
確認設定,然後選取「CREATE」:

負載平衡器現已啟用:

存取 Looker 使用者介面
負載平衡器運作後,您就可以透過網路瀏覽器存取自訂 Looker 網域。請注意,您可能會遇到警告,具體情況取決於使用的憑證類型,例如不受信任的憑證與受信任的憑證。
以下是存取 Looker 自訂網域 looker.cosmopup.com 的範例 (不受信任的憑證),可取得 Looker UI 的北向存取權:

12. 清理
從單一 Cloud Shell 終端機刪除實驗室元件
gcloud compute forwarding-rules delete regional-external-alb-fr --region=$region -q
gcloud compute target-https-proxies delete regional-external-alb-target-proxy --region=$region -q
gcloud compute url-maps delete regional-external-alb --region=$region -q
gcloud compute backend-services delete looker-psc-neg-backend-svc --region=$region -q
gcloud compute addresses delete regional-alb-static-ip --region=$region -q
gcloud compute network-endpoint-groups delete looker-northbound-neg --region=$region -q
gcloud compute networks delete looker-psc-demo -q
13. 恭喜
恭喜!您已成功設定並驗證使用客戶網域和區域外部應用程式負載平衡器,與 Looker 建立北向連線。
您建立了消費者基礎架構、瞭解如何建立 PSC NEG 和自訂網域,並認識不同的憑證選項。許多精彩內容可協助您開始使用 Looker。
Cosmopup 認為程式碼研究室很棒!

後續步驟
查看一些程式碼研究室…
- 使用 Private Service Connect 發布及使用服務
- 透過 Private Service Connect 和內部 TCP Proxy 負載平衡器,經由混合式網路連線至地端部署服務
- 存取所有已發布的 Private Service Connect 程式碼研究室