應用型負載平衡ALB(Application Load Balancer)提供強大的應用程式層處理能力和豐富的進階路由功能,聚焦HTTP、HTTPS和QUIC應用程式層協議,是阿里雲官方雲原生Ingress網關。本文介紹ALB Ingress的最佳實務,您可以參考以下資訊對SAE應用進行配置,獲得最佳的使用效果。
背景資訊
隨著雲原生應用微服務化、Serverless化,您需要面對複雜路由規則可配置、支援多種應用程式層協議(HTTP、HTTPS和QUIC等)、服務訪問的安全性以及流量的可觀測性等訴求,但傳統的四層SLB Ingress已無法滿足現有訴求。
Serverless 應用引擎 SAE(Serverless App Engine)實現的ALB Ingress Controller基於應用型負載平衡ALB(Application Load Balancer)之上提供了全託管免營運的Ingress流量管理。依託SAE的網關路由相容Nginx Ingress語義,SAE具備配置以及管理複雜業務路由的能力,包括認證自動探索、流量入口可觀測、多種應用程式層協議(QUIC等)相容和大規模七層流量處理能力,讓您輕鬆應對雲原生應用流量管理。
功能詳解
ALB
應用型負載平衡ALB(Application Load Balancer)是阿里雲推出的專門面向HTTP、HTTPS和QUIC等應用程式層負載情境的負載平衡服務,具備超強彈性及大規模七層流量處理能力。
SAE的網關路由基於阿里雲應用型負載平衡ALB(Application Load Balancer),提供更為強大的Ingress流量管理方式,相容Nginx Ingress語義,具備處理複雜業務路由和認證自動探索的能力,支援HTTP、HTTPS和QUIC協議,可滿足雲原生應用情境下對超強彈性和大規模七層流量處理能力的需求。
應用情境
ALB目前支援的情境包括高彈性互連網情境、視音頻行業低延遲情境、面向雲原生應用情境等。
SAE上快速使用ALB
對於託管到SAE的應用,配置SAE路由規則,能夠實現通過Server Load Balancer執行個體,將請求流量轉寄到一個或多個應用中。適用情境如下。
單應用或多應用有相同網域名稱不同路徑流量轉寄的需求。
單應用或多應用有不同網域名稱流量轉寄的需求(不同網域名稱解析的訪問IP地址是同一個)。
配置準備
建立ALB執行個體。
SAE網關路由功能基於綁定Server Load Balancer執行個體來實現,在SAE側配置的一條網關路由,在Server Load Balancer側將會映射為一條名稱以ingress
開頭的監聽配置。Server Load Balancer支援應用型負載平衡ALB,關於ALB執行個體的更多配置資訊,請參見建立應用型負載平衡。
配置規則
建立路由規則時,需要先配置網關入口,綁定您已建立的ALB執行個體。
然後為綁定的ALB執行個體配置自訂與預設的轉寄策略,輸入欄位名、路徑、連接埠等參數,並選擇接收流量的後端應用。
本文的連接埠值僅為樣本,您可以根據實際需求配置具體的連接埠值。具體操作,請參見為應用配置網關路由(ALB)。
配置驗證
路由規則配置完成後,可以在命名空間的網關路由頁面,查看路由規則,並通過網域名稱:訪問連接埠/Path
訪問相應的後端服務或者應用。
下圖為一個簡單的路由規則,將來自www.example.com/path的請求通過8080
連接埠轉寄至後端應用spring-boot-provider,將沒有配置自訂轉寄策略的請求都轉寄到後端應用spring-boot-consumer。