2014-04-23 70 views
1

我有2個Amazon ELB實例使用相同的自動縮放組。亞馬遜使用相同的多個ELB實例自動縮放組

我的健康檢查類型設置爲自動縮放組的ELB。

在ASG的每個EC2實例上,我有2個Web應用程序(它們託管在IIS中,但我認爲它並不相關)。

將所有東西都啓動並運行後,我關閉了其中一個實例上的IIS,以便兩個ELB的運行狀況檢查都無法針對特定的EC2實例進行檢查。 (ASG仍看到健康,但ELB將其視爲停止服務)。

我ASG具有

Desired instances: 2 
Min: 2 
Max: 4 

我期待的EC2實例被終止和ASG創建一個新的,但這種情況不會發生。

任何想法? 謝謝

PS:它適用於1個ELB實例和1個ASG,只有一個Web應用程序在IIS下工作。

+0

看起來像一個角落的情況。你有兩個Web應用程序在同一臺服務器上的原因嗎? – Rico

回答

1

documentation

如果有與您的自動縮放組相關聯的多個負載均衡,自動縮放將通過使健康檢查調用每個負載平衡器檢查您的EC2實例的健康狀態。對於每次調用,如果Elastic Load Balancing操作返回除InService之外的任何其他狀態,則該實例將被標記爲不健康。在Auto Scaling將實例標記爲不健康後,即使其他負載均衡器的後續調用爲同一實例返回InService狀態,它仍將保持該狀態。

他們不提終止行動spesificaly,但是從我的理解,它失敗的運行狀況檢查,這將設置實例在spesific ELB不健康 - 但由於其他ELB被標記爲在職,有沒有理由終止。

當然,這是AWS,您可以隨時使用API​​編寫一些代碼來檢測此問題,並終止(設置不健康)有問題的實例,該實例適用於一個ELB,而不是另一個。

或者一個更清潔的方法是將其拆分爲每個具有一個ELB的單獨的ASG。

+0

感謝您的回答。我已經在自動縮放組上設置了ELB運行狀況檢查,如果我僅使用1個ELB實例使用該ASG,則工作正常。但是,如果我在每個EC2實例上使用2個ELB實例和2個獨立的Web應用程序,則ASG不會終止對健康檢查無響應的計算機。 – Mihai