

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

# 修改 Spot Fleet 請求
<a name="modify-spot-fleet"></a>

您可以修改作用中的 Spot Fleet 請求，來完成下列任務：
+ 增加總目標容量和隨需部分
+ 減少總目標容量和隨需部分

當您增加總目標容量時，Spot 機群會根據其 Spot 機群請求的[配置策略](ec2-fleet-allocation-strategy.md)，啟動額外的 Spot 執行個體。當您增加隨需部分時，Spot Fleet 會啟動額外的隨需執行個體。

當您減少總目標容量時，Spot 機群會取消超出新目標容量的所有開放請求。您可以請求 Spot Fleet 終止 Spot 執行個體，直到機群大小達到新的目標容量。如果分配策略為 `diversified`，則 Spot Fleet 會在集區中終止執行個體。或者，您可以請求該 Spot Fleet 將機群保持為目前的大小，但不能取代任何中斷的或您手動終止的 Spot 執行個體。

**考量事項**
+ 您無法修改一次性的 Spot Fleet 請求。當您建立 Spot Fleet 請求時，如果已選取 **Maintain target capacity** (維護目標容量)，則只能修改 Spot Fleet 請求。
+ 當 Spot Fleet 因為目標容量減少而終止執行個體時，執行個體會收到 Spot 執行個體中斷通知。

------
#### [ Console ]

**修改 Spot 機群請求**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在瀏覽窗格中，選擇 **Spot 請求**。

1. 選取您的 Spot Fleet 請求。

1. 選擇**動作**和**修改目標容量**。

1. 在**修改目標容量**中，執行下列動作：

   1. 輸入新的目標容量和隨需部分。

   1. (選用) 如果您正在減少目標容量，但希望叢集保持目前的大小，請清除**終止執行個體**。

   1. 選擇**提交**。

------
#### [ AWS CLI ]

**修改 Spot 機群請求**  
請使用 [modify-spot-fleet-request](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-spot-fleet-request.html) 命令更新指定 Spot Fleet 請求的目標容量。

```
aws ec2 modify-spot-fleet-request \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity 20
```

如果要減少所指定 Spot Fleet 的目標容量，而不會因此終止任何 Spot 執行個體，您可以如下修改先前的命令：

```
aws ec2 modify-spot-fleet-request \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity 10 \
    --excess-capacity-termination-policy NoTermination
```

------
#### [ PowerShell ]

**修改 Spot 機群請求**  
使用 [Edit-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SpotFleetRequest.html) cmdlet，更新指定 Spot 機群請求的目標容量。

```
Edit-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacity 20
```

如果要減少所指定 Spot Fleet 的目標容量，而不會因此終止任何 Spot 執行個體，您可以如下修改先前的命令：

```
Edit-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacity 20 `
    -ExcessCapacityTerminationPolicy "NoTermination"
```

------