控制 Amazon ECS 終止的執行個體 - Amazon Elastic Container Service

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

控制 Amazon ECS 終止的執行個體

重要

您必須在 Auto Scaling 群組上開啟 Auto Scaling 執行個體縮減保護,才能使用叢集自動擴展的受管終止保護功能。

受管終止保護可讓叢集自動擴展控制要終止哪些執行個體。當您使用受管終止保護時,Amazon ECS 只會終止沒有任何執行中 Amazon ECS 任務的 EC2 執行個體。系統會忽略使用 DAEMON 排程策略的服務執行的任務,而且即使執行個體正在執行這些任務,叢集自動擴展也可以終止執行個體。這是因為叢集中的所有執行個體都在執行這些任務。

Amazon ECS 會先開啟 Auto Scaling 群組中 EC2 執行個體的執行個體縮減保護選項。然後,Amazon ECS 會將任務放置在執行個體上。在執行個體上停止所有非常駐程式任務時,Amazon ECS 會啟動縮減程序並關閉 EC2 執行個體的縮減保護。之後,Auto Scaling 群組就能終止執行個體。

Auto Scaling 執行個體縮減保護可控制 Auto Scaling 要終止哪些 EC2 執行個體。在縮減過程中,無法終止已啟用縮減功能的執行個體。如需有關防止 Auto Scaling 執行個體縮減保護的詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的使用執行個體縮減保護

您可以設定targetCapacity百分比,以便有備用容量。這有助於未來的任務更快速啟動,因為 Auto Scaling 群組不需要啟動更多執行個體。Amazon ECS 使用目標容量值來管理服務建立的 CloudWatch 指標。Amazon ECS 會管理 CloudWatch 指標。Auto Scaling 群組視為穩定狀態,因此不需要擴展動作。值可以介於 0-100% 之間。例如,若要設定 Amazon ECS,使其在用於 Amazon ECS 任務時能保持 10% 的可用容量,請將該目標容量值設定為 90%。設定容量提供者的 targetCapacity 值時,請考慮以下事項。

  • 小於 100% 的 targetCapacity 值,表示叢集中需要具備的可用容量數量 (Amazon EC2 執行個體)。可用容量代表沒有執行中的任務。

  • 在沒有其他 binpack 的情況下,置放限制條件 (如可用區域) 會強制 Amazon ECS 最終為各執行個體執行一個任務,但這可能不是必要行為。

您必須在 Auto Scaling 群組上開啟 Auto Scaling 執行個體縮減保護,才能使用受管終止保護功能。如果您未開啟縮減保護,則開啟受管終止保護可能會產生不良行為。例如,您可能會讓執行個體停留在消耗狀態。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling 使用者指南中的使用執行個體縮減保護

當您搭配容量提供者使用終止保護時,請勿在與容量提供者相關聯的 Auto Scaling 群組上執行任何手動動作 (例如分離執行個體)。手動動作可能會中斷容量提供者的縮減作業。如果您從 Auto Scaling 群組中分離執行個體,您還需要從 Amazon ECS 叢集中取消註冊已分離的執行個體