本指南適用於使用 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,標記伺服器就會知道這些是您的事件,因此只會將事件轉送至預覽伺服器,供您查看及排解問題。
代碼標記伺服器會向 PREVIEW_SERVER_URL
環境變數中設定的網址提出 HTTP 要求,藉此轉送這些事件。
關於公開預覽伺服器
這個預設行為需要公開預覽伺服器。不過,這對某些機構來說是個問題,因為他們會限制哪些基礎架構可對外開放,並通常會透過負載平衡器強制執行額外的安全措施。負載平衡器可提供以下功能:
- 進一步控管 SSL 政策等功能,以限制加密套件。
- 原生整合 Cloud Armor,提供網頁應用程式防火牆 (WAF) 或分散式阻斷服務 (DDoS) 防護。
- 進階流量管理功能。
透過負載平衡器轉送預覽伺服器
如要建立私人預覽伺服器,請使用主機導向,並透過負載平衡器搭配額外的子網域。本指南的其餘部分會說明如何透過負載平衡器將預覽伺服器重新導向。
必要條件
- 標記伺服器會在負載平衡器後方的 Cloud Run 上部署。
- 具備 Google Cloud 專案的存取權。
- 存取預覽伺服器的新子網域,例如
preview.sgtm.example.com
。
步驟 1:使用新的子網域更新環境變數
如要使用新的預覽伺服器網域,請更新伺服器端代碼伺服器環境變數 PREVIEW_SERVER_URL
:
- 開啟 Cloud Run。
- 選取標記伺服器。
- 依序按一下「編輯」和「部署新的修訂版本」。
- 在「變數和機密資料」分頁的「容器」部分下方,將
PREVIEW_SERVER_URL
變更為新的網域。例如:preview.sgtm.example.com
。
步驟 2:設定現有負載平衡器,以便使用主機導向轉送
如要設定現有的負載平衡器,請使用以主機為基礎的轉送功能,並將流量傳送至正確的伺服器:
- 在 Cloud Run 中,開啟「負載平衡」頁面,然後按一下負載平衡器的名稱。
- 按一下 [編輯] 按鈕。
- 按一下「Backend configuration」(後端設定) 頁面,然後開啟「Backend services and backend buckets」(後端服務和後端值區) 下拉式選單。
- 按一下「建立後端服務」,然後完成下列步驟:
- 並為其命名 (例如
preview-backend-service
)。 - 將後端類型選為「無伺服器網路端點群組」。
- 並為其命名 (例如
- 在「後端」部分中,建立新的無伺服器網路端點群組,並完成下列操作:
- 為其命名,然後選取預覽伺服器的代管區域。
- 選取「Cloud Run」做為無伺服器網路端點群組類型,並將預覽伺服器設為服務。
- 按一下「建立」。
- 視需要變更其他設定,或保留預設值,然後按一下「建立」。
步驟 3:新增規則並更新入站控制
如要為新主機網址新增規則並更新入站控制項,請按照下列步驟操作:
- 開啟「Host and path rules」(主機與路徑規則)頁面。
- 新增規則:
- 主機是新網址:
preview.sgtm.example.com
- 路徑為:
/*
- 後端:
preview-backend-service
- 主機是新網址:
- 按一下「更新」按鈕,重新部署負載平衡器。
- 回到 Cloud Run 中,開啟預覽伺服器,然後選取「網路」分頁。
- 將「Ingress control」變更為「Internal」,並勾選「Allow traffic from external application load balancers」,這樣就不會公開存取。
結果:您的伺服器架構現在應類似於圖 3,其中流量要求都會導向標記伺服器,而標記伺服器則可將要求轉送至預覽伺服器。
圖 3:使用主機轉送。
檢查設定
如何檢查設定:
- 開啟 Google 代碼管理工具。
- 開啟伺服器容器。
- 依序按一下「管理」>「容器設定」,然後將伺服器容器網址設為代碼伺服器網址。
- 關閉視窗並預覽工作區。系統會隨即開啟偵錯視窗。瀏覽網站時,事件應會顯示在偵錯視窗中。