

# Exemplo de estratégias de posicionamento de tarefas do Amazon ECS
<a name="strategy-examples"></a>

É possível especificar estratégias de posicionamento de tarefas com as ações a seguir: [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).

**Topics**
+ [Distribuir tarefas uniformemente entre zonas de disponibilidade](#even-az)
+ [Distribuir tarefas uniformemente entre todas as instâncias](#even-instance)
+ [Tarefas de agrupamento baseadas na memória](#binpack)
+ [Posicionar tarefas aleatoriamente](#random)
+ [Distribui tarefas uniformemente em zonas de disponibilidade e, em seguida, distribui as tarefas uniformemente entre as instâncias em cada zona de disponibilidade](#az-instance)
+ [Distribui tarefas uniformemente em zonas de disponibilidade e, em seguida, agrupa as tarefas com base na memória em cada zona de disponibilidade](#az-memory)
+ [Distribui as tarefas uniformemente entre as instâncias e, em seguida, agrupa as tarefas com base na memória](#instance-memory)

## Distribuir tarefas uniformemente entre zonas de disponibilidade
<a name="even-az"></a>

A estratégia a seguir distribui tarefas uniformemente em zonas de disponibilidade.

```
"placementStrategy": [
    {
        "field": "attribute:ecs.availability-zone",
        "type": "spread"
    }
]
```

## Distribuir tarefas uniformemente entre todas as instâncias
<a name="even-instance"></a>

A estratégia a seguir distribui tarefas uniformemente em todas as instâncias.

```
"placementStrategy": [
    {
        "field": "instanceId",
        "type": "spread"
    }
]
```

## Tarefas de agrupamento baseadas na memória
<a name="binpack"></a>

O pacote de estratégias a seguir agrupa tarefas com base na memória.

```
"placementStrategy": [
    {
        "field": "memory",
        "type": "binpack"
    }
]
```

## Posicionar tarefas aleatoriamente
<a name="random"></a>

A estratégia a seguir posiciona tarefas aleatoriamente.

```
"placementStrategy": [
    {
        "type": "random"
    }
]
```

## Distribui tarefas uniformemente em zonas de disponibilidade e, em seguida, distribui as tarefas uniformemente entre as instâncias em cada zona de disponibilidade
<a name="az-instance"></a>

A estratégia a seguir distribui tarefas uniformemente em zonas de disponibilidade, em seguida, distribui as tarefas uniformemente entre as instâncias em cada Zona de disponibilidade.

```
"placementStrategy": [
    {
        "field": "attribute:ecs.availability-zone",
        "type": "spread"
    },
    {
        "field": "instanceId",
        "type": "spread"
    }
]
```

## Distribui tarefas uniformemente em zonas de disponibilidade e, em seguida, agrupa as tarefas com base na memória em cada zona de disponibilidade
<a name="az-memory"></a>

A estratégia a seguir distribui tarefas uniformemente em zonas de disponibilidade, em seguida agrupa as tarefas com base na memória em cada Zona de disponibilidade.

```
"placementStrategy": [
    {
        "field": "attribute:ecs.availability-zone",
        "type": "spread"
    },
    {
        "field": "memory",
        "type": "binpack"
    }
]
```

## Distribui as tarefas uniformemente entre as instâncias e, em seguida, agrupa as tarefas com base na memória
<a name="instance-memory"></a>

A estratégia a seguir distribui as tarefas uniformemente em todas as instâncias e, em seguida, agrupa as tarefas com base na memória de cada instância. 

```
"placementStrategy": [
    {
        "field": "instanceId",
        "type": "spread"
    },
    {
        "field": "memory",
        "type": "binpack"
    }
]
```