設定私人預覽伺服器

本指南適用對象為想要設定私人預覽伺服器的伺服器端標記使用 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 會使標記伺服器知道這些事件是您的事件,因此只會將事件轉送至預覽伺服器,方便您查看並排解問題。

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

關於公開預覽伺服器

您必須將預覽伺服器設為公開,才能使用這項預設行為。但是,這會對某些機構造成問題,因為他們對基礎架構可以公開的基礎架構設有限制,而且通常會透過負載平衡器強制執行額外的安全措施。負載平衡器提供以下功能:

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

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

如要建立私人預覽伺服器,請搭配額外的子網域,透過負載平衡器使用主機型轉送功能。本指南的其餘部分將說明如何透過負載平衡器轉送預覽伺服器。

必要條件

  • 標記伺服器是在負載平衡器後方的 Cloud Run 上部署
  • 可存取 Google Cloud 專案。
  • 可存取預覽伺服器的新子網域 (位於 Exaple preview.sgtm.example.com)。

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

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

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

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

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

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

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

如何為新的主機網址新增規則並更新輸入控制項:

  1. 開啟「Host and path rules」(主機與路徑規則) 頁面。
  2. 新增以下規則:
    • 主機是新的網址:preview.sgtm.example.com
    • 路徑為:/*
    • 後端為:preview-backend-service
  3. 按一下「Update」按鈕,重新部署負載平衡器。
  4. 返回「Cloud Run」開啟預覽伺服器,然後選取「網路」分頁標籤。
  5. 將「Ingress Control」(輸入控制項) 變更為「Internal」(內部),並勾選「Allow traffic from external app load loads」(允許來自外部應用程式負載平衡器的流量) 設為無法公開存取。

結果:您的伺服器架構現在看起來應如「圖 3」,其中流量要求一律導向標記伺服器,而標記伺服器能夠將要求轉送至預覽伺服器。

主機型轉送

圖 3:使用主機式轉送。

檢查設定

如要檢查設定:

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