Amazon EC2 Auto Scaling 中運作狀態不良的執行個體 - Amazon EC2 Auto Scaling

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon EC2 Auto Scaling 中運作狀態不良的執行個體

以下是 Amazon EC2 Auto Scaling 傳回的錯誤訊息、可能原因,以及解決問題時可採取的步驟。

若要擷取錯誤訊息,請參閱 檢視運作狀態檢查失敗的原因

為了回應執行處理狀態檢查失敗,EC2執行個體已取出服務

問題:Auto Scaling 執行個體無法進行 Amazon EC2 狀態檢查。

原因 1:如果發生問題導致 Amazon EC2 認為 Auto Scaling 群組中的執行個體受損,Amazon EC2 Auto Scaling 會自動取代執行個體,做為執行狀態檢查的一部分。

解決方案 1:執行個體狀態檢查失敗時,您通常必須透過變更執行個體組態來自行解決問題,直到您的應用程式不再出現任何問題為止。若要解決此問題,請遵循這些步驟:

  1. 手動建立不屬於 Auto Scaling 群組的 Amazon EC2 執行個體,並調查問題。如需調查受損執行個體的一般協助,請參閱 Amazon 使用指南中的對執行個體失敗狀態檢查進行疑難排解和 Amazon EC2 使用EC2者指南中的 Windows 執行個體疑難排解

  2. 確認您的執行個體已成功啟動且運作正常後,請將新的無錯誤執行個體組態部署到 Auto Scaling 群組。

  3. 刪除已建立的執行個體,以免持續為您的 AWS 帳戶支付費用。

執行個體已被取出服務,以回應EC2健康狀態檢查,指出執行個體已終止或停止

問題:已停止、重新啟動或終止的 Auto Scaling 執行個體被替換。

原因 1:使用者手動停止、重新啟動或終止執行個體。

解決方案 1:如果您需要停止或重新啟動 Auto Scaling 群組中的執行個體,建議您先將執行個體置於待命狀態。如需詳細資訊,請參閱從 Auto Scaling 群組暫時移除執行個體

原因 2:Amazon EC2 Auto Scaling 會在 Amazon S EC2 pot 服務中斷執行個體之後嘗試取代競價型執行個體,因為競價型價格上漲超過您的最大價格或容量不再可用。

解決方案 2:無法保證 Spot 執行個體在任何指定時間點都能滿足請求。不過,您可以嘗試下列方法:

  • 使用較高的 Spot 最高價格 (可能是隨需價格)。藉由設定較高的最高價格,Amazon S EC2 pot 服務有更好的啟動和維護所需容量的機會。

  • 在多個可用區域中執行多個執行個體類型,增加可從中啟動執行個體的不同容量集區的數量。如需詳細資訊,請參閱具有多種執行個體類型和購買選項的 Auto Scaling 群組

  • 如果使用多個執行個體類型,請考慮啟用容量重新平衡功能。如果您希望 Amazon EC2 Spot 服務在執行中的執行個體終止之前嘗試啟動新的競價型執行個體,這將非常有用。如需詳細資訊,請參閱使用容量重新平衡來處理 Amazon EC2 Spot 中斷

原因 3:使用容量區塊,Amazon EC2 會在容量區塊結束時間前 30 分鐘終止任何仍在執行的執行個體。此突然終止會導致 Auto Scaling 群組嘗試啟動新執行個體以維持其所需的容量,即使容量區塊即將結束也一樣。

決方案 3:若要解決此問題,請嘗試下列動作:

為了回應ELB系統健康狀態檢查失敗,執行個體已取出服務

問題:Auto Scaling 例執行個體可能會通過EC2狀態檢查。但是,對於已註冊 Auto Scaling 群組的目標群組或 Classic Load Balancer,它們可能無法通過 Elastic Load Balancing 運作狀態檢查。

原因 1:如果您的 Auto Scaling 群組依賴 Elastic Load Balancing 提供的運作狀態檢查,Amazon EC2 Auto Scaling 會同時檢查狀態檢查和 Elastic Load Balancing 運作EC2狀態檢查的結果,以判斷執行個體的運作狀態。為了執行運作狀態檢查,負載平衡器會傳送請求至每個執行個體並等待正確的回應,或建立與執行個體的連線。執行個體可能無法通過 Elastic Load Balancing 運作狀態檢查,因為在執行個體上執行的應用程式問題造成負載平衡器認定執行個體已停止服務。

解決方案 1:若要通過 Elastic Load Balancing 運作狀態檢查:

  • 確認目標群組的運作狀態檢查設定已正確設定。您可以依據目標群組,指定負載平衡器的運作狀態檢查設定。如需詳細資訊,請參閱設定目標的健全狀況檢查

  • 記下負載平衡器預期的成功代碼,並且確認您的應用程式已設定為在成功時傳回這些代碼。

  • 確認負載平衡器和 Auto Scaling 群組的安全群組已正確設定。

  • 確認負載平衡器設定在與 Auto Scaling 群組相同的可用區域中。

解決方案 2:更新 Auto Scaling 群組以停用 Elastic Load Balancing 運作狀態檢查。如需如何停用這些健康狀態檢查的指示,請參閱將 Elastic Load Balancing 負載平衡器連接至您的 Auto Scaling 群組

原因 2:運作狀態檢查寬限期與執行個體啟動時間不相符。

解決方案 3:編輯「Auto Scaling」群組的健康狀態檢查寬限期。將寬限期設定為足夠長的時間範圍,以支援在「Elastic Load Balancing」將新啟動的執行個體視為健康狀況良好之前所需的連續成功運作狀態檢查次數。如需詳細資訊,請參閱設定 Auto Scaling 群組的運作狀態檢查寬限期。

其他資源

如果您遇到其他問題,請參閱下列 AWS re:Post 文章以取得其他疑難排解說明: