

# EC2 フリート の変更
<a name="modify-ec2-fleet"></a>

EC2 フリートの合計ターゲットキャパシティ、スポットキャパシティ、オンデマンドキャパシティを変更できます。また、新しい合計ターゲットキャパシティがフリートの現在のサイズを下回った場合に、実行中のインスタンスを終了すべきかどうかも変更できます。

## 考慮事項
<a name="modify-ec2-fleet-considerations"></a>

EC2 フリートを変更するときは、以下の点を考慮してください。
+ **フリートタイプ** - 変更できるのは、`maintain` タイプの EC2 フリートだけです。タイプが `request` や `instant` の EC2 フリートは変更できません。
+ **フリートパラメータ** - EC2 フリートの以下のパラメータを変更できます。
  + `target-capacity-specification` – 以下のターゲットキャパシティを増やすか減らします。
    + `TotalTargetCapacity`
    + `OnDemandTargetCapacity`
    + `SpotTargetCapacity`
  + `excess-capacity-termination-policy` – EC2 フリート の合計ターゲット容量がフリートの現在のサイズより小さくなった場合、実行中のインスタンスが終了されるかどうか。次の値を指定できます。
    + `no-termination`
    + `termination`
+ **合計ターゲットキャパシティを増やしたときのフリートの動作** – 合計ターゲットキャパシティを増やすと、EC2 フリートは `DefaultTargetCapacityType` に指定されているインスタンス購入オプションに従ってさらに別のインスタンスを起動します。これはオンデマンドインスタンスかスポットインスタンスのいずれかであり、指定された[配分戦略](ec2-fleet-allocation-strategy.md)に従います。
+ **スポットターゲットキャパシティを減らしたときのフリートの動作** – ターゲットキャパシティを減らすと、EC2 フリートは新しいターゲットキャパシティを超えるすべてのオープンリクエストをキャンセルします。フリートのサイズが新しいターゲットキャパシティに達するまで、スポットインスタンスを終了させるようにリクエストできます。ターゲット容量が減ったために EC2 フリートがスポットインスタンスを終了する場合、インスタンスはスポットインスタンスの中断通知を受け取ります。

  インスタンスは、割り当て戦略に応じて、終了対象として選択されます。
  + `capacity-optimized` – 使用可能なキャパシティが最も少ないプールからのインスタンスを終了します。
  + `price-capacity-optimized` – 価格と使用可能なキャパシティの組み合わせを使用します。使用可能なキャパシティが最も少ないプールの中で、最高価格のプールからのインスタンスを終了します。
  + `diversified` – すべてのプールのインスタンスを終了します。
  + `lowest-price` – 最高価格のプールからのインスタンスを終了します。

  あるいは、EC2 フリートの現在のサイズを維持するようにリクエストすることもできますが、中断されたスポットインスタンスや手動で終了したインスタンスの置き換えはできません。
+ **フリート状態** - 状態が `submitted` または `active` の EC2 フリートを変更できます。フリートを変更すると、そのフリートは `modifying` 状態に移行します。

## EC2 フリートを変更するためのコマンド
<a name="modify-ec2-fleet-commands"></a>

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

**EC2 フリートの合計ターゲットキャパシティを変更するには**  
[modify-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-fleet.html) コマンドを使用します。

```
aws ec2 modify-fleet \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity-specification TotalTargetCapacity=20
```

ターゲットキャパシティを小さくしてもフリートの現在のサイズを保持する場合は、前の例を以下のように変更できます。

```
aws ec2 modify-fleet \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity-specification TotalTargetCapacity=10 \
    --excess-capacity-termination-policy no-termination
```

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

**EC2 フリートの合計ターゲットキャパシティを変更するには**  
[Edit-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Fleet.html) コマンドレットを使用します。

```
Edit-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacitySpecification_TotalTargetCapacity 20
```

ターゲットキャパシティを小さくしてもフリートの現在のサイズを保持する場合は、前の例を以下のように変更できます。

```
Edit-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacitySpecification_TotalTargetCapacity 20 `
    -ExcessCapacityTerminationPolicy "NoTermination"
```

------