

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

# Amazon ECS 任務置放限制條件範例
<a name="constraint-examples"></a>

下列是任務置放條件限制的範例。

此範例使用 `memberOf` 限制條件在 T2 執行個體上置放任務。可以使用下列動作來指定：[CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html)、[UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html)、[RegisterTaskDefinition](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterTaskDefinition.html) 和 [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)。

```
"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 任務分在同一組](task-groups.md)。可以使用下列動作來指定：[CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html)、[UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html)、[RegisterTaskDefinition](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RegisterTaskDefinition.html) 和 [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)。

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

`distinctInstance` 條件限制會在不同執行個體的群組中放置每個任務。可以使用下列動作來指定：[CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html)、[UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html) 和 [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)

Amazon ECS 會查看任務置放所需的任務狀態。例如，如果現有任務的所需狀態為 `STOPPED` (但上次狀態不是)，則儘管存在 `distinctInstance` 置放限制條件，新的傳入任務仍可置放於同一執行個體上。因此，您可能會在同一執行個體上看到 2 項上次狀態為 `RUNNING` 的任務。

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