全部產品
Search
文件中心

:如何排查ECS執行個體異常

更新時間:Feb 28, 2024

在負載平衡服務中開啟健全狀態檢查功能後,當後端某個ECS健全狀態檢查出現問題時,會將請求轉寄到其他健全狀態檢查正常的ECS上。當該ECS恢複正常運行時,負載平衡會將其自動回復到對外或對內的服務中。

針對七層負載平衡服務,當監聽擷取到健全狀態檢查異常的資訊時,可以從以下方面對ECS執行個體進行健康排查:

  • 確保您能夠直接通過ECS訪問到您的應用服務。
  • 確保後端伺服器開啟了相應的連接埠,該連接埠必須與您在負載平衡監聽配置中配置的後端連接埠保持一致。
  • 檢查後端ECS內部是否開啟了防火牆或其他的安全類防護軟體,這類軟體很容易將負載平衡服務的本地 IP地址屏蔽掉,導致負載平衡服務無法跟後端伺服器進行通訊。
  • 檢查負載平衡健全狀態檢查參數設定是否正確,建議參照預設提供的健全狀態檢查參數進行設定。
  • 建議使用靜態頁面來進行健全狀態檢查,如果您用於健全狀態檢查的頁面在後端ECS應用伺服器上並不是預設首頁,需要您在健全狀態檢查配置中指定該頁面的URL。健全狀態檢查指定的檢測檔案,建議是html形式的簡單頁面,只用於檢查返回結果,不建議用php等動態指令碼語言。
  • 檢查後端ECS資源是否有較高負載,降低了ECS對外提供服務的響應速度。

另外,由於七層負載平衡服務跟後端ECS之間通過內網通訊,因此需要ECS監聽內網或者全網連接埠。您可使用以下方法進行檢查:

  1. 檢查監聽功能是否正常。

    假設負載平衡前端連接埠是80,ECS後端連接埠也是80,ECS內網IP是10.11.192.1。在伺服器上運行以下命令,如果能看到10.11.192.1:80的監聽資訊,或者0.0.0.0:80的監聽資訊,說明這部分連接埠的監聽正常。

    • Windows 伺服器上運行:netstat -ano | findstr :80
    • Linux 伺服器上運行:netstat -anp | grep :80
  2. 檢查伺服器內網防火牆是否允許存取80連接埠,可以暫時關閉防火牆進行測試。輸入以下命令關閉防火牆。
    • Windows:firewall.cpl
    • Linux:/etc/init.d/iptables stop
  3. 檢查後端連接埠是否正常。
    • 對於四層負載平衡,使用telnet測試有響應即為正常。本例中使用telnet 10.11.192.1 80來測試。
    • 對於七層負載平衡,HTTP狀態代碼需要是200等代表正常的狀態代碼,檢驗方法如下:
      • Windows:直接在ECS上訪問ECS的內網IP測試是否正常,本例中為:http://10.11.192.1
      • Linux:使用curl -I命令查看狀態是否為HTTP/1.1 200 OK,本例是:curl -I 10.11.192.1