2015-06-20 39 views
0

我們使用CodeDeploy在啓動時將代碼加載到實例上。我們的目的是在代碼加載之前不會將它們添加到LB中。爲此,我們設置一個運行狀況檢查,查找正在部署的文件之一。我們發現,有些時候無代碼的實例被創建(我假設代碼部署失敗),並且即使標記爲不健康時,這些實例也會留在LB中?這怎麼可能?這與寬限期有關嗎?不應該自動刪除不健康的實例嗎?不正常的實例如何進入我的AWS負載平衡器?

+0

向負載均衡器註冊並實際通過負載均衡器發送流量是兩件不同的事情。當一個實例不健康時,ELB不會發送任何流量......但負載均衡器無法實際進行健康檢查,而實例不會首先被註冊到負載均衡器......所以它不是清楚你認爲哪部分行爲是不正確的。 –

+0

我們有一個不健康的實例,它仍然在負載平衡器上。這場戰爭被認爲是不健康的,直到我們手動刪除它,我們纔有大量的5xx錯誤。此外,我正在尋找一些關於如何確保實例在通過健康狀況檢查之前絕不會發送流量以及如果「寬限期」允許不健康實例在此期間接收流量的說明。 – David

回答

0

我相信我發現了我的問題的很大一部分:我的自動比例組被設置爲使用EC2健康檢查,而不是我的ELB健康檢查。這導致該實例未被終止。由於在流量完全停止之前需要非常長的不健康狀態,流量可能會持續流向更長時間。