本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon ECS 任務置放限制範例
下列是任務置放條件限制的範例。
此範例使用 memberOf
限制條件將任務放置在 t2 執行個體上。可以使用下列動作來指定:CreateService、UpdateService、RegisterTaskDefinition 和 RunTask。
"placementConstraints": [ { "expression": "attribute:ecs.instance-type =~ t2.*", "type": "memberOf" } ]
範例使用 memberOf
限制條件以便將複本任務與常駐程式服務 daemon-service
任務群組中的任務放置到執行個體上,還要顧及其他被指定的任何任務置放策略。此限制可確保常駐程式服務任務在執行複本服務任務之前放置在 EC2 執行個體上。
以常駐程式服務的名稱取代 daemon-service
。
"placementConstraints": [ { "expression": "task:group == service:
daemon-service
", "type": "memberOf" } ]
範例使用 memberOf
限制條件以便將任務與 databases
任務群組中的其他任務放置到執行個體上,還要顧及其他被指定的任何任務置放策略。如需有關任務群組的詳細資訊,請參閱 群組相關的 Amazon ECS 任務 。可以使用下列動作來指定:CreateService、UpdateService、RegisterTaskDefinition 和 RunTask。
"placementConstraints": [ { "expression": "task:group == databases", "type": "memberOf" } ]
distinctInstance
條件限制會在不同執行個體的群組中放置每個任務。可以使用下列動作來指定:CreateService、UpdateService 和 RunTask
Amazon ECS 會查看任務置放所需的任務狀態。例如,如果現有任務的所需狀態為 STOPPED
, (但最後一個狀態不是),則即使distinctInstance
置放限制條件,新的傳入任務仍可放置在同一個執行個體上。因此,您可能會在同一個執行個體RUNNING
上看到最後狀態為 的 2 個任務。
"placementConstraints": [ { "type": "distinctInstance" } ]