

# Exemplo de restrições de posicionamento de tarefas do Amazon ECS
<a name="constraint-examples"></a>

Os exemplos de restrição de colocação da tarefa são os seguintes.

Esse exemplo usa a restrição `memberOf` para colocar tarefas em instâncias t2. Ele pode ser especificado com as seguintes ações: [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) e [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html).

```
"placementConstraints": [
    {
        "expression": "attribute:ecs.instance-type =~ t2.*",
        "type": "memberOf"
    }
]
```

O exemplo usa a restrição `memberOf` para posicionar tarefas de réplica em instâncias com tarefas no grupo de tarefas `daemon-service` de serviço de daemon, respeitando quaisquer estratégias de posicionamento de tarefas que também estejam especificadas. Essa restrição garante que as tarefas do serviço de daemon sejam colocadas na instância do EC2 antes das tarefas do serviço de réplica.

Substitua `daemon-service` pelo nome do serviço de daemon.

```
"placementConstraints": [
    {
        "expression": "task:group == service:daemon-service",
        "type": "memberOf"
    }
]
```

O exemplo usa a restrição `memberOf` para posicionar tarefas em instâncias com outras tarefas no grupo de tarefas `databases`, respeitando quaisquer estratégias de posicionamento de tarefas que também estejam especificadas. Para obter mais informações sobre grupos de tarefas, consulte [Tarefas do Amazon ECS relacionadas a grupos](task-groups.md). Ele pode ser especificado com as seguintes ações: [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) e [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html).

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

A limitação `distinctInstance` posiciona cada tarefa no grupo em uma instância diferente. Ele pode ser especificado com as seguintes ações: [CreateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_CreateService.html), [UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html) e [RunTask](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_RunTask.html)

O Amazon ECS analisa o status desejado das tarefas para a colocação da tarefa. Por exemplo, se o status desejado da tarefa existente for `STOPPED` (mas o último não for), uma nova tarefa de entrada poderá ser colocada na mesma instância, apesar da restrição de colocação `distinctInstance`. Portanto, você pode ver duas tarefas com o último status de `RUNNING` na mesma instância.

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