健康檢查概述
健康檢查是彈性負載均衡中的一項關鍵功能,用于確定后端資源的可用性和健康狀況。
彈性負載均衡的健康檢查工作原理是通過定期向后端主機發送健康檢查請求,并根據主機的響應判斷其健康狀態。如果響應符合預期,則將主機標記為健康狀態,否則標記為不健康狀態。根據主機的健康狀態,負載均衡器決定將新的請求轉發給哪些主機,以實現工作負載的均衡分配,并定期重新進行健康檢查以更新主機的狀態。這種方式能夠提高系統的可靠性和性能,確保請求被正確處理并防止向不健康的主機轉發。
彈性負載均衡器通常提供了多種健康檢查的設置選項,包括檢查的頻率、超時時間、健康狀態判斷規則等。這些設置可以根據具體的應用需求進行調整。通過定期的健康檢查,彈性負載均衡可以及時發現故障或不可用的后端資源,并自動從負載均衡中排除,確保流量只被發送到可用的資源上,提高了系統的可用性和可靠性。
功能特點
健康檢查配置針對后端主機組,可以指定具體的端口和協議(如TCP、UDP、HTTP)進行檢查。
ELB根據健康檢查的結果,將后端實例標記為“健康”或“不健康”。如果主機實例被標記為不健康,ELB將不會將流量發送到該實例。
健康檢查可以定義成功的響應代碼范圍,還可以配置超時時間,即在多長時間內等待響應。
用戶可以指定健康檢查的頻率。較短的間隔可以更快地檢測到故障,但可能增加后端實例的負載。
用戶可以設置連續多少次健康檢查失敗后將實例標記為不健康。
當一個不健康的實例重新變為健康狀態時,ELB會自動將流量重新引導到該實例,實現自動恢復。
開啟健康檢查
操作場景
用戶可以配置運行狀況檢查,這些檢查可用來監控后端云主機的運行狀況,以便負載均衡器只將請求發送到正常運行的后端云主機。而當該故障云主機恢復正常運行時,負載均衡會將其自動恢復到對外或對內的服務中。
注意
健康檢查支持協議TCP、UDP、HTTP。TCP協議監聽器只可選TCP,UDP協議監聽器只可選UDP。 HTTP協議/HTTPS協議監聽器可選HTTP或TCP。
只支持在添加監聽器操作過程中開啟健康檢查。
彈性負載均衡使用100.89.0.0/16(IPv4)、100:0:0:2:0:0:6459:0/112(IPv6)來對后端云主機做健康檢查,如果開啟健康檢查功能需要在安全組時需要放通此網段。
操作步驟
- 登錄彈性負載均衡控制臺。
- 在頂部右側選擇彈性負載均衡所屬區域,本文選擇華東-華東1。
- 打開監聽器配置向導創建監聽器,在監聽器負載方式&健康檢查頁面開啟“健康檢查”選項,并點擊“立即創建”,則完成監聽器健康檢查功能開啟。
健康檢查的配置參數說明
| 健康檢查配置 | 說明 |
|---|---|
| 健康檢查 | 默認開啟,可關閉或打開 |
| 健康檢查類型 | 可選的方式:HTTP、TCP、UDP。TCP協議監聽器只可選TCP,UDP協議監聽器只可選UDP。 HTTP協議/HTTPS協議監聽器可選HTTP或TCP。 |
| 健康檢查端口 | 支持使用后端主機端口和使用特定端口兩種類型,默認為使用后端主機端口。在主機組開啟全端口轉發時必須使用特定端口。端口范圍:1-65535。 |
| 間隔時間 | 每隔多久進行一次健康檢查。缺省5s,取值范圍:1~20940 |
| 超時時間 | 等待主機返回健康檢查的時間。缺省2s,取值范圍2~60s |
| 最大重試次數 | 缺省2次,取值范圍1~10,健康檢查失敗達到最大重試次數后,進入健康檢查失敗狀態。 |
| 檢查路徑 | HTTP檢查類型選項,長度1~80,檢查URL。以‘/’開頭,可包含數字、大小寫字母或‘/’,路徑中可包含‘-’ ‘_’ ‘.’ ‘=’ |
| HTTP方法 | HTTP檢查類型選項,可選:GET、HEAD。GET檢查類型:使用GET方法發送HTTP請求到后端主機,負載均衡器期望從主機獲取完整的響應內容。這種檢查類型通常用于檢查后端主機的完整性和性能,并確保主機能夠正確地處理和響應GET請求。HEAD檢查類型:使用HEAD方法發送HTTP請求到后端主機,負載均衡器僅期望從主機獲取HTTP響應頭部,而不需要獲取完整的響應內容。這種檢查類型通常用于檢查主機的可用性和響應時間,而無需傳輸大量數據。 |
| HTTP狀態碼 | 選擇HTTP健康檢查范圍的狀態碼,可選http_2xx,http_3xx,http_4xx,http_5xx |
健康檢查默返回狀態碼說明
| HTTP狀態碼 | 說明 |
|---|---|
| HTTP狀態碼 200 | 表示正常響應。當健康檢查請求成功被云主機處理并返回有效的響應時,通常會返回200狀態碼。 |
| HTTP狀態碼 3xx | 重定向。在健康檢查中,重定向狀態碼可能會出現在特定情況下。 |
| HTTP狀態碼 4xx | 客戶端錯誤。這些狀態碼表示請求存在問題,可能是由于無效的URL、參數錯誤等。健康檢查中,如果主機返回了4xx狀態碼,通常表示主機無法正常處理該請求。 |
| HTTP狀態碼 5xx | 主機錯誤。這些狀態碼表示主機在處理請求時遇到了錯誤。在天翼云健康檢查中,如果主機返回了5xx狀態碼,通常表示主機出現了故障或內部錯誤。 |
健康檢查異常排查
當健康檢查探測到您的后端主機異常時,彈性負載均衡將不再向異常的后端主機轉發流量。直到健康檢查檢測到后端主機恢復正常時,彈性負載均衡才會向此主機繼續轉發流量。那么當您遇到健康檢測異常可以按如下思路進行排查:
- 檢查后端主機組是否關聯監聽器
- 檢查健康檢查配置:檢查健康檢查配置參數信息,例如域名、協議是否正確,檢查您配置的健康檢查端口和監聽的端口是否一致,檢查路徑是否正確等。
- 檢查主機所在安全組、網絡ACL是否放行ELB健康檢查源地址網段100.89.0.0/16(IPv4)、100:0:0:2:0:0:6459:0/112(IPv6)。
- 檢查后端主機是否正常:后端主機當前宕機或不可訪問,會導致檢查異常。
- 檢查主機防火墻、路由。