本指南適用對象為想要設定私人預覽伺服器的伺服器端標記使用 Cloud Run,開發人員可參考本指南。
透過伺服器端代碼,您可以先在預覽和偵錯模式中預覽標記變更,再套用這些變更。這是開發工作流程中相當重要的部分,可確保您的標記能正常運作。如要啟用這項功能,需要兩個 Cloud Run 「部署」:一個用於標記伺服器,另一個用於預覽伺服器。本指南將進一步介紹兩個伺服器如何進行通訊,以及如何在企業環境中進行設定。
總覽
將伺服器端標記部署至 Cloud Run 時,不一定要使用負載平衡器。對於多區域部署,您需要使用負載平衡器,將流量導向最近的執行個體。
沒有負載平衡器
圖 1:沒有負載平衡器的部署作業。
有負載平衡器
圖 2:使用負載平衡器的部署作業。
在這兩種部署作業中,預覽伺服器和實際執行標記環境的進入點都是相同的網址 (例如 sgtm.example.com
)。在部署標記伺服器時使用的環境變數 PREVIEW_SERVER_URL
,代表預覽伺服器的網址。
當您造訪 tagmanager.google.com
並開啟預覽模式時,代碼管理工具
會前往 sgtm.example.com?id=[gtm_server_id]>m_auth=[auth_id]>m_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
:
- 開啟 Cloud Run。
- 選取標記伺服器。
- 依序按一下「編輯」和「部署新的修訂版本」。
- 在「Variables andsecrets」分頁的「Containers」區段中,將
PREVIEW_SERVER_URL
變更為新網域。例如:preview.sgtm.example.com
。
步驟 2:將現有負載平衡器設為使用主機式轉送
如要設定現有的負載平衡器,請使用主機式轉送功能,並將流量傳送至正確的伺服器:
- 在 Cloud Run 中開啟「Load Balancing」(負載平衡) 頁面,然後按一下負載平衡器的名稱。
- 按一下 [編輯] 按鈕。
- 按一下「後端設定」頁面,然後開啟「後端服務和後端值區」下拉式選單。
- 按一下「建立後端服務」,然後完成下列事項:
- 為代碼設定適當的名稱 (例如
preview-backend-service
)。 - 將後端類型選取為「Serverless Network Endpoints group」(無伺服器網路端點群組)。
- 為代碼設定適當的名稱 (例如
- 在「Backend」(後端) 區段中,建立新的無伺服器網路端點群組,並完成下列步驟:
- 輸入名稱,然後選取代管預覽伺服器的所在區域。
- 選取「Cloud Run」做為無伺服器網路端點群組類型,並選取預覽伺服器做為服務。
- 點選「建立」。
- 視需要變更其他設定或保留預設值,然後按一下「Create」(建立)。
步驟 3:新增規則並更新輸入控制項
如何為新的主機網址新增規則並更新輸入控制項:
- 開啟「Host and path rules」(主機與路徑規則) 頁面。
- 新增以下規則:
- 主機是新的網址:
preview.sgtm.example.com
- 路徑為:
/*
- 後端為:
preview-backend-service
- 主機是新的網址:
- 按一下「Update」按鈕,重新部署負載平衡器。
- 返回「Cloud Run」開啟預覽伺服器,然後選取「網路」分頁標籤。
- 將「Ingress Control」(輸入控制項) 變更為「Internal」(內部),並勾選「Allow traffic from external app load loads」(允許來自外部應用程式負載平衡器的流量) 設為無法公開存取。
結果:您的伺服器架構現在看起來應如「圖 3」,其中流量要求一律導向標記伺服器,而標記伺服器能夠將要求轉送至預覽伺服器。
圖 3:使用主機式轉送。
檢查設定
如要檢查設定:
- 開啟 Google 代碼管理工具。
- 開啟伺服器容器。
- 依序按一下「管理」>「容器設定」,然後將伺服器容器網址設為預覽伺服器網址。
- 關閉視窗並預覽工作區。偵錯視窗會隨即開啟。瀏覽網站時,事件應會顯示在偵錯視窗中。