

# Amazon ECS 任务放置策略示例
<a name="strategy-examples"></a>

您可以使用以下操作指定任务放置策略：[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)。

**Topics**
+ [跨可用区平均分配任务](#even-az)
+ [在所有实例上平均分配任务](#even-instance)
+ [基于内存的垃圾箱任务](#binpack)
+ [随机置放任务](#random)
+ [以下策略跨可在多个可用区中平均分配任务，然后在每个可用区内的实例中平均分配任务](#az-instance)
+ [在多个可用区中平均分配任务，然后根据每个可用区内的内存装填任务](#az-memory)
+ [在实例之间平均分配任务，然后根据内存装填任务](#instance-memory)

## 跨可用区平均分配任务
<a name="even-az"></a>

以下策略可在各可用区之间平均分配任务。

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

## 在所有实例上平均分配任务
<a name="even-instance"></a>

以下策略可在所有实例中平均分配任务。

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

## 基于内存的垃圾箱任务
<a name="binpack"></a>

以下策略根据内存装填任务。

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

## 随机置放任务
<a name="random"></a>

以下策略随机放置任务。

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

## 以下策略跨可在多个可用区中平均分配任务，然后在每个可用区内的实例中平均分配任务
<a name="az-instance"></a>

以下策略跨可在多个可用区中平均分配任务，然后在每个可用区内的实例中平均分配任务。

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

## 在多个可用区中平均分配任务，然后根据每个可用区内的内存装填任务
<a name="az-memory"></a>

以下策略可在多个可用区中平均分配任务，然后根据每个可用区内的内存装填任务。

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

## 在实例之间平均分配任务，然后根据内存装填任务
<a name="instance-memory"></a>

以下策略将任务平均分配给所有实例，然后根据每个实例中的内存装填任务。

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