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" } ]