為什么通過負載均衡無法訪問后端業務?
問題描述
當出現以下問題時,可以參考本章節排查解決。
- 可以直接訪問后端業務,但是無法通過負載均衡訪問后端業務。
- 通過私網IP可以訪問負載均衡,但是公網IP無法訪問負載均衡。
- 后端服務器健康檢查異常。
背景介紹
- 客戶端通過負載均衡訪問云主機流量可參看如下介紹。
- 公網客戶端的流量經過EIP傳送到負載均衡器;私網客戶端的流量直接通過私網IP傳送到負載均衡器。
- 負載均衡器根據監聽器配置的前端協議/端口,將流量轉發給匹配到的監聽器。
- 監聽器首先判斷后端云主機的健康檢查是否正常,只有健康檢查為正常時,才會轉發流量給后端云主機。
- 監聽器會根據后端服務器的權重和分配策略,轉發流量給相應的后端服務器。
通常情況下,客戶端通過負載均衡器無法訪問后端云主機可能原因包括安全控制和健康檢查配置問題。
建議您按照從后端到前端的順序進行排查,從而幫助您快速找到問題的原因。
排查思路
* 步驟一:排查是否可直接訪問后端云主機
使用客戶端直接訪問后端云主機,確認后端云主機配置和業務配置無問題。
可以通過客戶端直接訪問后端云主機的IP地址來快速定界是ELB配置問題,還是后端云主機本身業務配置問題。使用客戶端直接訪問后端云主機時,請注意放通客戶端到后端云主機之間的網絡ACL。
* 步驟二:排查是否開啟健康檢查
通過“監聽器 > 后端主機組”查看是否開啟了健康檢查選項。
當客戶端直接訪問后端云主機業務正常時,請檢查負載均衡器是否開啟了健康檢查。當云主機開啟了健康檢查,而健康檢查失敗時,負載均衡器不會向此后端云主機轉發流量。
如未開啟健康檢查,共享型負載均衡實例請檢查后端云主機的安全組和網絡ACL規則已經放通100.125.0.0/16網段。獨享型負載均衡請檢查后端云主機的安全組已經放通ELB后端子網所在的VPC網段。
注意
共享型實例四層監聽器開啟“獲取客戶端IP”功能后,后端云主機安全組規則和網絡ACL規則均無需放通100.125.0.0/16網段及客戶端IP地址。
獨享型負載均衡四層監聽器未開啟“跨VPC后端”功能時,后端云主機安全組規則和網絡ACL規則均無需放通ELB后端子網所在的VPC網段。
* 步驟三:排查健康檢查是否正常
通過“監聽器 > 后端主機組”查看云主機的健康檢查結果是否為正常。健康檢查異常的情況下,負載均衡不會向這臺云主機轉發流量。
當服務器開啟了健康檢查,而健康檢查失敗時,負載均衡器不會向此后端云主機轉發流量。
* 步驟四:排查后端云主機配置是否正確
通過“監聽器 > 后端主機組”查看后端云主機的權重和業務端口是否配置正確。
在“后端主機組 > 后端云主機”頁面查看已添加的后端云主機的參數,重點觀察以下參數:
權重: 權重如果設置為0,則不會向這個云主機轉發流量。
業務端口: 需要與實際的業務端口相同。
在“監聽器”頁面,單擊待查看的四層(TCP/UDP)監聽器,查看是否打開了“獲取客戶端IP”選項。
如果打開了此選項,ELB會直接使用客戶端的真實IP訪問后端云主機。此時需要在安全組和網絡ACL中設置放通客戶端的真實IP地址。
此外,如果開啟了“獲取客戶端IP”,不支持后端云主機和客戶端使用同一臺云主機,原因是后端云主機會根據報文源IP為本地IP判定該報文為本機發出的報文,無法將應答報文返回給ELB,最終導致回程流量不通。
如果未開啟“獲取客戶端IP”,需檢查后端云主機安全組是否放通相應網段。獨享型負載均衡實例需要確保后端云主機放通獨享型ELB后端子網所在的VPC網段。共享型負載均衡實例需要確保后端云主機放通100.125.0.0/16網段。
* 步驟五:檢查訪問控制配置是否正確
通過“監聽器 > 基本信息”查看是否開啟了訪問控制,以及訪問控制是否限制了客戶端的訪問。
在監聽器的“基本信息”頁簽,查看訪問控制配置是否正確,是否已經放通了客戶端的IP地址。
- 提交工單
如果上述方法均不能解決您的疑問,請提交工單尋求更多幫助。