有了 Service Extensions,Cloud Load Balancing 和 Media CDN 等 Google Cloud 產品的使用者,就能直接將自訂程式碼插入資料路徑。這有助於您自訂這些產品的行為,以符合業務需求。本頁提供 Service Extensions 的高階總覽。
擴充功能類型
網路產品 (例如 Cloud Load Balancing 和 Media CDN) 中的資料路徑,可以視為資料處理階段的管道。服務擴充功能可讓您在上述一或多個階段中插入自訂邏輯。
服務擴充功能提供兩種插入自訂邏輯的方式:外掛程式和呼叫。
外掛程式
外掛程式可讓您在網路資料路徑中插入自訂程式碼。您可以使用 WebAssembly (Wasm) 和 Proxy-Wasm ABI 建構這些外掛程式。
外掛程式會在 Google 管理的沙箱基礎架構上以 Wasm 模組的形式執行,類似於無伺服器基礎架構。外掛程式會在 Google 管理的運算資源上執行。功能受限,且執行階段規定嚴格。由於執行位置靠近資料層,因此能有效減少延遲。下圖說明外掛程式的運作方式。
如要進一步瞭解外掛程式,請參閱「外掛程式總覽」。
呼叫
呼叫可讓您在資料處理期間,使用 Cloud Load Balancing 向 Google 服務和使用者代管服務發出 Envoy gRPC 呼叫。
在使用者管理的 Compute VM、Google Kubernetes Engine (GKE) Pod (位於 GKE Multi-Cloud) 或內部部署環境中,回呼會以一般用途的 gRPC 伺服器形式執行。下圖顯示對服務的註解如何運作。
插註沒有執行階段限制,可視需要重複使用現有軟體。透過回呼,您可以享有全代管服務的優點,同時自訂服務,滿足特定工作負載的獨特需求。你只需要確認宣傳說明服務的可擴展性和可用性。
如要進一步瞭解呼叫,請參閱 Cloud Load Balancing 呼叫總覽。
Cloud Load Balancing 擴充功能
Cloud Load Balancing 的 Service Extensions 可讓使用者在支援的應用程式負載平衡器,為負載平衡要求和回應處理路徑新增豐富的自訂項目。
詳情請參閱「Cloud Load Balancing 擴充功能總覽」。
外掛程式
Service Extensions 可讓您在 Cloud Load Balancing 處理路徑中新增預先發布的外掛程式,滿足自訂需求。
以下是外掛程式搭配 Cloud Load Balancing 的應用實例:
- 處理例外狀況
- 針對特定類別的回應,將用戶端重新導向至自訂錯誤頁面。
- 自訂記錄
- 將使用者定義的標頭或自訂資料記錄到 Cloud Logging。
- 新增標頭
- 建立適用於應用程式或特定客戶的新標頭。
- 在要求和回應中插入新標頭。
- 操控標頭
- 改寫現有要求和回應標頭,或在傳送至後端途中或回應用戶端時,覆寫用戶端標頭。
- 安全性
- 根據用戶端要求或回應標頭編寫自訂安全性政策,並在外掛程式中執行決策。
- 指令碼注入
- 從原始位置重新編寫 HTML,以整合 Google reCAPTCHA 或 Google Analytics 標記。
- 影響 Cloud CDN
- 修改 HTTP 要求特徵,影響自訂快取動態,並決定從 Cloud CDN 快取提供哪些內容。
- 轉送
- 重新編寫 HTTP 要求,影響後端服務的選擇,以便在邊緣做出更進階的轉送決策。
呼叫使用者管理的服務
Service Extensions 可讓支援的應用程式負載平衡器,從資料處理路徑將呼叫傳送至使用者管理的後端服務。
使用 Cloud Load Balancing 的標註功能,可執行下列操作:
- 運算或儲存空間量任意
- 需要維護狀態時
- 如要使用外部服務,例如 BigQuery 或在任何位置代管的第三方應用程式
附註相當靈活,支援各種自訂項目。以下列舉幾個日常使用案例:
- 自訂路徑和流量管理
- 執行 HTTP 或網址重新導向。
- 根據應用程式專屬邏輯修改要求屬性 (例如標頭或網址),強制網址對應選擇與要求原先目標不同的後端服務。
- 根據複雜的應用程式專屬邏輯新增、移除或修改標頭,或重新編寫網址,然後再將流量轉送至後端服務。
- 根據要求的特定屬性,實作自訂工作階段相依性或黏性。
- 在「預覽」中,實作動態轉送,以程式輔助方式將房客對應至端點。
- 安全性與記錄
- 將酬載或自訂標頭中的自訂資訊記錄到 Logging 或自訂記錄解決方案。
- 使用安全工具或服務,包括自訂使用者驗證和授權支援。
- 驗證任意標頭和查詢參數,例如裝置 ID。
- 將要求和回應記錄到第三方記錄解決方案。
- 實作自訂使用者驗證和授權。
- 合作夥伴整合
- 整合安全性產品,例如 API Gateway 安全性、BOT 管理或網頁應用程式防火牆 (WAF)。
- 授權
- 豐富授權決策程序,或進一步限制 Google 提供的內建授權引擎所做出的授權決策。
- 混合多個授權系統的授權決策。
- 將 Google 授權引擎與更廣泛的授權生態系統和基礎架構 (包括外部政策引擎) 完美整合。
詳情請參閱「Cloud Load Balancing 和 Cloud CDN 擴充功能簡介」。
呼叫 Google 服務
Service Extensions 可讓支援的應用程式負載平衡器,從資料處理路徑向所選 Google 服務傳送呼叫。
您可以設定擴充功能來呼叫 Model Armor,在應用程式負載平衡器 (包括 GKE Inference Gateway) 上,統一對推論流量強制執行安全政策。
詳情請參閱「與 Google 服務整合」。
GKE 擴充功能
Google Kubernetes Engine (GKE) Gateway 支援使用擴充功能,在負載平衡處理路徑中新增自訂程式碼。您可以使用這些擴充功能自訂路徑、修改要求或回應酬載,以及與外部服務整合。
詳情請參閱「使用 Service Extensions 自訂 GKE Gateway 流量路徑」。
Media CDN 擴充功能
Media CDN 提供許多內建核心功能,可解決內容傳遞網路 (CDN) 最常見的用途。服務擴充功能可協助您滿足這些功能以外的幾項需求。
詳情請參閱「Media CDN 擴充功能總覽」。
Media CDN 外掛程式
Service Extensions 可讓您在 Media CDN 處理路徑中新增預先發布的外掛程式,滿足自訂需求。
以下列舉幾個可搭配 Media CDN 使用外掛程式的主要用途:
- 自訂
- 重新編寫要求網址。
- 將標頭值標準化,提升快取效能。
- 安全性與記錄
- 在直播活動期間,封鎖使用盜用權杖的使用者。
- 支援自訂使用者驗證和授權。
- 翻譯並實作自訂網址簽署。
- 自訂快取金鑰、應用程式專屬標頭或裝置類型。
- 將自訂變數記錄到 Cloud Logging。
- 指定目標與營利
- 透過 A/B 測試提高轉換次數。
- 導入自訂廣告指定目標。
- 免費提供試用使用模式。
- 合作夥伴整合
- 實作影片浮水印。
- 將影片和圖片調整到最佳狀態。