Amazon-Ec2
AWS:Target.FailedHealthChecks - 站點始終處於“嚴重”狀態
我的 Elastic Beanstalk 應用程序處於恆定
severe
狀態……即使它工作得非常好。查看 Health 螢幕,它說 100% 的請求是
3xx
,並查看日誌,這顯然得到了證實:
[29/Nov/2017:10:07:46 +0000] "GET / HTTP/1.1" 302 356 "-" "ELB-HealthChecker/2.0"
這很有意義,
/
302 將您重定向到“登錄”頁面。問題是,我告訴 AWS
/
在檢查執行狀況時不要使用,而是使用/news
which 應該始終返回 a200
,無論您是否登錄:我嘗試將執行狀況檢查 URL 更改為其他合適的端點,並重新啟動 EC2 實例,但它總是返回檢查
/
(根據日誌)。我給了它 12 個小時,看看它是否也會及時改變。那麼為什麼它會一直檢查
/
並返回一個severe
狀態呢?我能做些什麼來解決這個問題?可能是安全組問題(即使該站點對公眾開放)?
似乎錯誤是由Application Load Balancer的健康檢查引起的,而不是 Elastic Beanstalk 應用程序。ALB 需要在不同的地方更改其目標(請參閱文件)。
一旦我知道,這很容易解決:
使用控制台修改目標組的健康檢查設置
- 在https://console.aws.amazon.com/ec2/打開 Amazon EC2 控制台。
- 在導航窗格的負載平衡下,選擇目標組。
- 選擇目標群體。
- 在執行狀況檢查選項卡上,選擇編輯。
- 在 Edit target group 頁面上,根據需要修改設置,然後選擇 Save。