設定私人預覽伺服器

本指南適用於使用 Cloud Run 進行伺服器端代碼設定的開發人員,他們想設定私人預覽伺服器。

使用伺服器端代碼,您可以在預覽和偵錯模式中預覽代碼變更,再加以套用。這是開發工作流程的重要環節,可確保代碼運作正常。如要啟用這項功能,需要進行兩項 Cloud Run 部署作業:一個用於標記伺服器,另一個用於預覽伺服器。本指南將進一步說明這兩部伺服器如何通訊,以及如何在企業環境中設定這兩部伺服器。

總覽

將伺服器端代碼部署至 Cloud Run 時,可以選擇是否要使用負載平衡器。如果是多區域部署,您需要負載平衡器將流量導向至最近的執行個體。

不使用負載平衡器

沒有負載平衡器

圖 1:未部署負載平衡器的部署作業。

使用負載平衡器

使用負載平衡器

圖 2:部署負載平衡器。

在這兩種部署作業中,預覽伺服器和正式標記環境的進入點都是相同的網址 (例如 sgtm.example.com)。標記伺服器會使用名為 PREVIEW_SERVER_URL 的環境變數部署,這個變數代表預覽伺服器的網址。

當您前往 tagmanager.google.com 並開啟預覽模式時,代碼管理工具會導向 sgtm.example.com?id=[gtm_server_id]&gtm_auth=[auth_id]&gtm_preview=[env_id] 並設定 Cookie。接著,當您使用相同瀏覽器瀏覽目標網站時,傳送至 sgtm.example.com 的要求也會轉送 Cookie。由於有 Cookie,標記伺服器會知道這些是您的事件,因此只會將您的事件轉送至預覽伺服器,供您查看及排解問題。

標記伺服器會向 PREVIEW_SERVER_URL 環境變數中設定的網址發出 HTTP 要求,轉送這些事件。

關於對外公開的預覽伺服器

這項預設行為需要公開的預覽伺服器。不過,部分機構組織會限制可公開的基礎架構,且通常會透過負載平衡器強制執行額外的安全措施,因此這項做法會造成問題。負載平衡器可提供下列功能:

  • 可進一步控管安全資料傳輸層 (SSL) 政策等功能,限制加密套件。
  • 與 Cloud Armor 原生整合,提供網頁應用程式防火牆 (WAF) 或分散式阻斷服務 (DDoS) 防護。
  • 進階流量管理功能。

透過負載平衡器轉送預覽伺服器

如要建立私人預覽伺服器,請透過負載平衡器使用主機轉送,並搭配額外的子網域。本指南的其餘內容將說明如何透過負載平衡器將預覽伺服器路徑導向。

必要條件

  • 標記伺服器部署在負載平衡器後方的 Cloud Run 上。
  • Google Cloud 雲端專案的存取權。
  • 預覽伺服器的新子網域存取權,例如 preview.sgtm.example.com

步驟 1:使用新子網域更新環境變數

如要使用新的預覽伺服器網域,請更新伺服器端標記伺服器環境變數 PREVIEW_SERVER_URL

  1. 開啟 Cloud Run
  2. 選取標記伺服器。
  3. 按一下「編輯」和「部署新的修訂版本」
  4. 在「變數和密鑰」分頁的「容器」部分,將 PREVIEW_SERVER_URL 變更為新網域。例如: preview.sgtm.example.com

步驟 2:將現有負載平衡器設定為使用主機轉送

如要設定現有負載平衡器,請使用主機轉送,並將流量傳送至正確的伺服器:

  1. 在 Cloud Run 中開啟「負載平衡」頁面,然後按一下負載平衡器的名稱。
  2. 按一下 [編輯] 按鈕。
  3. 點選「後端設定」頁面,然後開啟「後端服務和後端 bucket」下拉式選單。
  4. 按一下「建立後端服務」,然後完成下列步驟:
    1. 為其命名 (例如 preview-backend-service)。
    2. 將後端類型選為「無伺服器網路端點群組」
  5. 在「後端」部分,建立新的無伺服器網路端點群組,並完成下列步驟:
    1. 為預覽伺服器命名,然後選取預覽伺服器的代管區域。
    2. 選取「Cloud Run」做為無伺服器網路端點群組類型,並選取預覽伺服器做為服務。
    3. 按一下「建立」
  6. 視需要變更其他設定或保留預設值,然後按一下「建立」

步驟 3:新增規則並更新輸入控管

如要為新的主機網址新增規則,並更新輸入控管,請按照下列步驟操作:

  1. 開啟「Host and path rules」(主機與路徑規則) 頁面。
  2. 新增規則,條件如下:
    • 主機是新網址:preview.sgtm.example.com
    • 路徑為:/*
    • 後端為:preview-backend-service
  3. 按一下「更新」按鈕,重新部署負載平衡器。
  4. 返回 Cloud Run 開啟預覽伺服器,然後選取「網路」分頁。
  5. 將「Ingress control」(輸入控管)變更為「Internal」(內部),並勾選「Allow traffic from external application load balancers」(允許外部應用程式負載平衡器傳送的流量),確保服務不會公開存取。

結果:您的伺服器架構現在應如圖 3 所示,流量要求全都會導向標記伺服器,而標記伺服器能夠將要求轉送至預覽伺服器。

主機轉送

圖 3:使用主機轉送。

檢查設定

如要檢查設定,請按照下列步驟操作:

  1. 開啟 Google 代碼管理工具
  2. 開啟伺服器容器。
  3. 依序點選「管理」>「容器設定」,然後將伺服器容器網址設為標記伺服器網址。
  4. 關閉視窗並預覽工作區。 偵錯視窗隨即開啟。瀏覽網站時,偵錯視窗中應會顯示事件。