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

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

控制 Amazon ECS 終止的執行個體

重要

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

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

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

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

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

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

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

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

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