本指南將說明如何:
- 佈建預覽伺服器,為容器啟用預覽功能。
- 佈建標記伺服器,以便處理即時流量。
- 增加或減少執行 Google 代碼管理工具容器的伺服器數量。
- 佈建伺服器後,請持續更新標記伺服器版本。
必要條件
- 您需要 GCP 帳戶。如果沒有,請建立新的 GCP 帳戶。
- 您需要 GCP 帳單帳戶。如果沒有,請建立 GCP 帳單帳戶 (需要具備「帳單帳戶建立者」角色)。
- 您需要具備「專案建立者」和「帳單帳戶使用者」角色。進一步瞭解如何新增角色。
佈建預覽和標記伺服器
您可以自動在 Google Tag Manager 中佈建 Cloud Run 服務,也可以手動在 Google Cloud 中佈建。
編輯服務設定
如要變更服務設定,請按照下列步驟操作:
- 開啟 Cloud Run。
- 選取需要調整的服務。
- 按一下「Edit & Deploy New Revision」。
- 進行變更後,按一下「部署」。
Cloud Run 費用
在這個 Cloud Run 設定中,每部伺服器的費用約為每月 $45 美元。每個伺服器都是 Cloud Run 執行個體,具有1 個 vCPU 和 0.5 GB 記憶體,並使用 CPU 一律分配的定價模式。
建議您至少執行 2 個執行個體,以降低在伺服器中斷服務時資料遺失的風險。不過,您可以選擇執行較少 (或較多) 的伺服器。我們預期自動調整大小的 2 至 10 部伺服器每秒可處理 35 至 350 個要求,但效能會因標記數量和標記功能而異。
Cloud Run 會根據負載量動態調整規模。max-instances
設定是指最糟糕的情況,也就是您需要為資源支付的費用。除非必要,否則 Cloud Run 不會佈建這麼多執行個體。
Cloud Run 計算機
選用:從 App Engine 遷移
如果您先前建立了 App Engine 部署作業,並已確認該部署作業不再接收任何流量,請停用 App Engine 應用程式,以免產生意外的帳單費用。
選用:多區域部署
如果您的網站在全球都有服務據點,或是您想在服務中建立備援機制,請將標記伺服器部署至多個區域。
事前準備:
- 建立負載平衡器
- 請記下您選擇的 BACKEND_NAME。
如要為部署作業新增更多區域,請按照下列步驟操作:
- 將 REGION 替換為部署預覽伺服器的區域。如果您按照指令列選項設定預覽和標記伺服器,這項資訊可能已填入。
- 將 CONTAINER_CONFIG 替換為代碼管理工具中的容器設定字串。如果您已按照指令列選項設定預覽和標記伺服器,這項資訊可能已填入。
- 將 NEW_REGION 替換為您要部署代碼標記伺服器的新區域。
- 將 BACKEND_NAME 替換為您在配置負載平衡器時選擇的名稱。
- 選用:如要新增其他區域,請替換 NEW_REGION 變數,然後重新執行程式碼程式碼片段。
gcloud run deploy "server-side-tagging" \
--region NEW_REGION \
--image gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable \
--platform managed \
--ingress all \
--min-instances 2 \
--max-instances 10 \
--timeout 60 \
--allow-unauthenticated \
--no-cpu-throttling \
--update-env-vars PREVIEW_SERVER_URL="$(
gcloud run services describe server-side-tagging-preview \--region "REGION" \
--format="value(status.url)")",CONTAINER_CONFIG="CONTAINER_CONFIG" && \
gcloud compute network-endpoint-groups create server-side-tagging-neg \
--region=NEW_REGION \
--network-endpoint-type=SERVERLESS \
--cloud-run-service="server-side-tagging" && \
gcloud compute backend-services add-backend --global "BACKEND_NAME" \
--network-endpoint-group-region=NEW_REGION \
--network-endpoint-group=server-side-tagging-neg
選用:停用記錄功能
要求記錄
根據預設,系統會記錄每項要求的相關資訊 (例如要求路徑、查詢參數等)。如果您的代碼標記伺服器每月處理大量要求 (例如超過 100 萬次),這些記錄訊息可能會產生大量記錄費用。如要減少或取消記錄作業的費用,建議您停用要求記錄功能。
如要停用要求記錄功能,請按照下列指示操作:
- 在 Google Cloud 平台中,開啟 Logs Router。請確認您所在的專案與容器 ID 相符:
- 針對「Type」:Cloud Logging 值區、「Name」:_Default 行,請選取溢出選單,然後按一下「Edit Sink」。
- 在「Sink destination」(接收器目的地) 下方,選取記錄檔值區 _Default。
在「Choose logs to include in sink」(選擇要納入接收器的記錄檔) 下方,新增一行。在現有的納入篩選器中輸入下列規則:
NOT LOG_ID("run.googleapis.com/requests")
如要同時停用負載平衡器的記錄功能,請新增一行,並在現有的納入篩選器中輸入下列規則:
NOT LOG_ID("requests")
更新接收器即可套用變更。系統現在會將要求排除在記錄之外。
確認 Logs Explorer 記錄檔中沒有任何新要求。
控制台記錄
容器中的代碼伺服器、用戶端或代碼,可能會將訊息記錄到主控台,而這可能會產生記錄費用。如要減少或取消記錄作業的費用,您可以停用不必要的控制台記錄訊息。
找出不需要的控制台記錄:
- 在 GCP 中,開啟「Logs Explorer」。
請找出任何來自標記的垃圾記錄訊息。例如:
代碼可能會傳送下列記錄:
const logToConsole = require('logToConsole'); logToConsole('Custom message: ' + data.param1); logToConsole('An important message to keep around!'); data.gtmOnSuccess()
在
textPayload
欄位中尋找對應的記錄訊息:
如要停用主控台記錄訊息,請按照下列步驟操作:
- 在 Google Cloud 平台中,開啟 Logs Router。請確認您所在的專案與容器 ID 相符:
- 針對「Type」:Cloud Logging 值區、「Name」:_Default 行,請選取溢出選單,然後按一下「Edit Sink」。
- 在「Sink destination」(接收器目的地) 下方,選取記錄檔值區 _Default。
在「Choose logs to include in sink」(選擇要納入接收器的記錄檔) 下方,新增一行。在現有的納入篩選器中輸入下列規則:
NOT textPayload:"Custom message:"
針對主控台記錄檔,請將 Custom message: 文字替換為您要停用的記錄檔子字串。如需更精細的篩選器,請使用記錄查詢語言。
更新接收器即可套用變更。相符的
logToConsole
訊息應從記錄中排除。確認 Logs Explorer 中沒有顯示新的控制台記錄訊息。
2. 將部署作業對應至自訂網域
如要設定自訂網域,請使用全域外部應用程式負載平衡器。
3. 將伺服器網址新增至 Google 代碼管理工具
有了伺服器後,您需要確保 Google 代碼管理工具知道應使用您的伺服器。
開啟 Google 代碼管理工具。
按一下要指向標記伺服器的伺服器容器。
依序點選「管理」分頁標籤 >「容器設定」,開啟伺服器容器設定。
按一下「新增網址」,然後貼上伺服器網址。
按一下「儲存」,然後返回工作區。
4. 驗證
標記伺服器設定完成後,請確認標記伺服器是否正常運作。在代碼管理工具工作區中,按一下「預覽」按鈕。如果預覽頁面載入,表示一切設定都正確無誤。
預覽多個網址
如果您已將多個網域對應至單一標記伺服器,請確認已將每個網址新增至容器設定。
如果您提供多個網址,所有路徑 (網域名稱後面的字串) 都必須一致。
作品 | 無法運作 |
---|---|
網址 1:example.com/abc 網址 2: example2.com/abc |
網址 1:example.com/abc 網址 2: example2.com/def |
如果您新增了多個網址,系統會在「預覽」按鈕旁顯示圖示,方便您選取要預覽的網址。
更新標記伺服器版本
新的標記伺服器更新包含安全性漏洞修正和新功能。建議您至少在代碼管理工具通知您更新時,為每個主要版本更新標記伺服器 (例如從 1.x.x 升級至 2.x.x)。
如要更新代碼標記伺服器,請使用先前相同的設定部署新修訂版本。
- 開啟 Cloud Run。
- 選取要更新的服務。
- 按一下「Edit & Deploy New Revision」。
- 確認「容器映像檔網址」已設為
gcr.io/cloud-tagging-10302018/gtm-cloud-image:stable
,然後按一下「部署」。
如要確認更新是否成功,請按照下列步驟操作:
- 在伺服器容器中,按一下「Preview」按鈕,即可啟動新的偵錯工作階段,並在另一個分頁中傳送要求。
- 在「摘要」中,選取「控制台」分頁標籤,並確認沒有要求您更新標記伺服器的訊息。
在成功更新伺服器後,代碼管理工具最多可能會在一天內顯示訊息,要求您更新標記伺服器。不過,預覽頁面會顯示最新的代碼標記伺服器版本訊息。