有了 Service Extensions,您就能使用擴充功能,指示支援的應用程式負載平衡器使用外掛程式,或從負載平衡資料路徑傳送呼叫,呼叫後端服務或 Google 服務。本頁面提供 Cloud Load Balancing 擴充功能的總覽。
您可以設定應用程式負載平衡器,使用下列類型的擴充功能:
邊緣擴充功能可協助您修改要求標頭,影響後端服務的選擇,以及 Cloud CDN 從快取提供的內容。這些擴充功能會設定為在要求處理生命週期的早期執行,以便在邊緣分別影響快取和路徑決策。
路徑擴充功能可協助您影響後端服務的選擇。這些擴充功能會設定為在要求處理生命週期的早期階段執行。
授權擴充功能可協助您將授權要求傳送至自訂授權引擎。您會在處理週期結束時設定這些項目,也就是負載平衡器將要求傳送至後端之前。
流量擴充功能可支援額外的自訂安全邏輯和流量管理功能。您可以在授權擴充功能之後,但負載平衡器將要求傳送至後端或從後端接收回應之前,設定這些功能。
使用者管理的擴充功能支援的應用程式負載平衡器
Service Extensions 支援下列應用程式負載平衡器的使用者管理擴充功能:
| 應用程式負載平衡器 | 擴充功能 | |||||||
|---|---|---|---|---|---|---|---|---|
| Edge | 路徑 | 授權 | 流量 | |||||
| 外掛程式 | 外掛程式 | 呼叫 | 呼叫 | 外掛程式 | 呼叫 | |||
| 全域外部應用程式負載平衡器 | ✓ | ✓ | ✓ | ✓ | ||||
| 區域性外部應用程式負載平衡器 | ✓ 預覽 | ✓ | ✓ | ✓ 預覽 | ✓ | |||
| 區域性內部應用程式負載平衡器 | ✓ 預覽 | ✓ | ✓ | ✓ 預覽 | ✓ | |||
| 跨區域內部應用程式負載平衡器 | ✓ | ✓ | ✓ | ✓ | ✓ | |||
負載平衡資料路徑中的擴充點
Service Extensions 支援負載平衡資料路徑不同階段的擴充功能。
圖 1 顯示 Service Extensions 如何在全域外部應用程式負載平衡器的應用程式安全性和流量管理階段,支援擴充功能。
圖 2 顯示 Service Extensions 如何在下列負載平衡器的路由、應用程式安全性和流量管理階段,支援擴充功能:區域外部應用程式負載平衡器、區域內部應用程式負載平衡器和跨區域內部應用程式負載平衡器。
擴充功能的運作方式
邊緣擴充功能會在要求處理路徑中優先執行,讓您使用要求標頭影響後端服務的選擇,以及 Cloud CDN 從快取提供的內容。
負載平衡器呼叫邊緣擴充功能後,會執行下列操作:
- 評估網址對應,然後選取後端服務
- 套用 Google Cloud Armor 政策 安全性政策
- 查詢快取,如果快取命中,則從快取提供服務
- 為所選後端服務套用 Cloud Armor 政策
- 套用 CORS 政策
- 套用有狀態的工作階段相依性政策
- 為所選後端服務套用 Identity-Aware Proxy (IAP) 政策
- 呼叫授權擴充功能 (如果所選後端服務的處理路徑中已設定這類擴充功能)
- 執行錯誤植入
- 來電流量額外資訊 (如有)
- 執行網址重寫
- 根據網址對應執行標頭操控,並新增自訂要求標頭變數
- 執行重新導向或轉送至所選後端服務,同時套用網址對應中的逾時和重試政策,以及後端服務的負載平衡設定
- 執行要求鏡像
授權擴充功能的運作方式
在要求路徑上,系統會在呼叫路由擴充功能並選取要求後端後,呼叫授權擴充功能。這些擴充功能無法影響後端服務選取內容。
授權擴充功能只能處理要求標頭,無法處理要求主體或回應的任何部分。
路徑擴充功能的運作方式
負載平衡器收到要求標頭時,會在要求處理路徑中優先執行路徑擴充功能,然後評估網址對應。
負載平衡器為要求呼叫路徑擴充功能後,會執行下列操作:
- 評估網址對應,然後選取後端服務
- 為所選後端服務套用 Cloud Armor 政策
- 為所選後端服務套用 IAP 政策
- 執行錯誤植入
- 執行要求標頭轉換,並解析自訂要求標頭變數
- 通話流量擴充功能 (如果選取後端服務的處理路徑中存在這類擴充功能)
- 執行網址重寫
- 執行重新導向或轉送至所選後端服務,並套用網址對應中的逾時和重試政策,以及後端服務的其他負載平衡設定
交通資訊擴充功能的運作方式
負載平衡器會在要求處理路徑中最後執行流量擴充功能,並在回應處理路徑中率先執行。
這些擴充功能可讓您修改要求和回應的標頭和酬載,不會影響後端服務的選擇。您也可以指定要記錄的資訊、格式和外部供應商,使用流量擴充功能進行自訂記錄。
負載平衡器在要求路徑上呼叫流量擴充功能之前,會先執行下列動作:
- 執行錯誤植入
- 為要求選取後端服務
- 為所選後端服務套用 Cloud Armor 政策
- 為所選後端服務套用 IAP 政策
- 如果是全域外部應用程式負載平衡器,則會套用所選後端服務的 Cloud CDN 快取政策
負載平衡器在要求路徑上對要求呼叫流量擴充功能後,會執行下列操作:
- 執行網址重寫
- 根據網址對應執行標頭操控,並新增自訂要求標頭變數
- 執行重新導向或轉送至所選後端服務,同時套用網址對應中的逾時和重試政策,以及後端服務的負載平衡設定
- 執行要求鏡像
負載平衡器在要求的回應路徑上呼叫流量擴充功能後,會執行下列操作:
- 執行回應標頭轉換,並解析自訂回應標頭變數
- 使用 Cloud Logging 執行記錄作業
- 如果是全域外部應用程式負載平衡器,則執行 Cloud CDN 快取
擴充功能的限制
- 轉送規則只能有一個
LbEdgeExtension資源、一個LbTrafficExtension資源和一個LbRouteExtension資源。 - 如果是呼叫,呼叫後端服務必須與轉送規則位於同一個專案。
- 擴充功能和轉送規則之間不支援跨專案參照。