Amazon ECS タスク配置の制約事項の例 - Amazon Elastic Container Service

Amazon ECS タスク配置の制約事項の例

以下はタスク配置の制約事項の例です。

この例では、memberOf 制約を使用して T2 インスタンスにタスクを配置します。次のアクションを使用して指定できます。CreateServiceUpdateServiceRegisterTaskDefinition、および 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 タスクをグループ化する 」を参照してください。次のアクションを使用して指定できます。CreateServiceUpdateServiceRegisterTaskDefinition、および RunTask

"placementConstraints": [ { "expression": "task:group == databases", "type": "memberOf" } ]

distinctInstance 制約は、グループ内の各タスクを別のインスタンスに配置します。次のアクションを使用して指定できます。CreateServiceUpdateService、および RunTask

Amazon ECS は、タスク配置におけるタスクの目的のステータスを確認します。例えば、既存のタスクの目的のステータスが STOPPED の場合 (ただし、最後のステータスが目的のステータスではない場合)、distinctInstance 配置の制約事項にもかかわらず、新しい受信タスクを同じインスタンスに配置することができます。したがって、同じインスタンスで最後のステータスが RUNNING のタスクが 2 つ表示される場合があります。

"placementConstraints": [ { "type": "distinctInstance" } ]