有了 Service Extensions,您就能使用擴充功能,指示支援的應用程式負載平衡器使用外掛程式,或從負載平衡資料路徑傳送呼叫,呼叫後端服務或 Google 服務。本頁面提供 Cloud Load Balancing 擴充功能的總覽。
您可以設定應用程式負載平衡器,使用下列類型的擴充功能:
邊緣擴充功能可協助您修改要求標頭,影響後端服務的選擇,以及 Cloud CDN 從快取提供的內容。這些擴充功能會設定為在要求處理生命週期的早期執行,以便在邊緣分別影響快取和路徑決策。
路徑擴充功能可協助您影響後端服務的選擇。這些擴充功能會設定在要求處理生命週期的早期階段執行。
授權擴充功能可協助您將授權要求傳送至自訂授權引擎。您會在處理週期結束時設定這些項目,也就是負載平衡器將要求傳送至後端之前。
流量擴充功能可支援額外的自訂安全邏輯和流量管理功能。您可以在授權擴充功能之後,但負載平衡器將要求傳送至後端或從後端接收回應之前,設定這些擴充功能。
使用者管理的擴充功能支援的應用程式負載平衡器
Service Extensions 支援下列應用程式負載平衡器的使用者管理擴充功能:
| 應用程式負載平衡器 | 擴充功能 | |||||||
|---|---|---|---|---|---|---|---|---|
| Edge | 路由 | 授權 | 流量 | |||||
| 外掛程式 | 外掛程式 | 呼叫 | 呼叫 | 外掛程式 | 呼叫 | |||
| 全域外部應用程式負載平衡器 | ✓ | ✓ | ✓ | ✓ | ||||
| 區域性外部應用程式負載平衡器 | ✓ 預覽 | ✓ | ✓ | ✓ 預覽 | ✓ | |||
| 區域性內部應用程式負載平衡器 | ✓ 預覽 | ✓ | ✓ | ✓ 預覽 | ✓ | |||
| 跨區域內部應用程式負載平衡器 | ✓ | ✓ | ✓ | ✓ | ✓ | |||
負載平衡資料路徑中的擴充點
Service Extensions 支援負載平衡資料路徑不同階段的擴充功能。
圖 1 顯示 Service Extensions 如何在全域外部應用程式負載平衡器的應用程式安全性和流量管理階段,支援擴充功能。
圖 2 顯示 Service Extensions 如何在這些類型的負載平衡器 (區域外部應用程式負載平衡器、區域內部應用程式負載平衡器和跨區域內部應用程式負載平衡器) 的路由、應用程式安全性和流量管理階段支援擴充功能。
Edge 擴充功能的運作方式
邊緣擴充功能會在要求處理路徑中優先執行,讓您使用要求標頭影響後端服務選取作業,以及 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資源。 - 如果是呼叫,呼叫後端服務必須與轉送規則位於同一個專案。
- 擴充功能和轉送規則之間不支援跨專案參照。