

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# オンデマンドインスタンスとスポットインスタンスを管理する
<a name="environments-cfg-autoscaling-spot-and-demand"></a>

1 つの Auto Scaling グループ内で、オンデマンドインスタンスとスポットインスタンスのフリートを起動してオートスケールできます。以下のオプションを並行して使用して、Auto Scaling サービスが環境内のスポットインスタンスとオンデマンドインスタンスを管理する方法を設定できます。

[Elastic Beanstalk コンソール](environments-cfg-autoscaling-configuration-approaches.md#environments-cfg-autoscaling-console)、[名前空間設定オプション](environments-cfg-autoscaling-configuration-approaches.md#environments-cfg-autoscaling-namespace)、[AWS CLI](environments-cfg-autoscaling-configuration-approaches.md#environments-cfg-autoscaling-aws-cli)、または [EB CLI](environments-cfg-autoscaling-configuration-approaches.md#environments-cfg-autoscaling-ebcli) を使用して、環境のこれらのオプションを設定できます。

これらのオプションは、[aws:ec2:instances](command-options-general.md#command-options-general-ec2instances) 名前空間の一部です。
+ `EnableSpot` ‐ `true` に設定すると、この設定により環境のスポットインスタンスリクエストが有効になります。
+ `SpotFleetOnDemandBase` ‐ 環境のスケールアップ時にスポットインスタンスを考慮する前に、Auto Scaling グループがプロビジョニングするオンデマンドインスタンスの最小数を設定します。
+ `SpotFleetOnDemandAboveBasePercentage` ‐ Auto Scaling グループが `SpotOnDemandBase` インスタンスを超えてプロビジョニングする追加容量の一部としてのオンデマンドインスタンスの割合。

前に一覧表示されたオプションは、[aws:autoscaling:asg](command-options-general.md#command-options-general-autoscalingasg) 名前空間の以下のオプションと相関しています。
+ `MinSize` ‐ Auto Scaling グループで使用するインスタンスの最小数。
+ `MaxSize` ‐ Auto Scaling グループで使用するインスタンスの最大数。

**重要**  
`EnableSpot` オプション設定により、Elastic Beanstalk は起動設定から起動テンプレートに既存の環境を移行することができます。これを行うには、起動テンプレートを管理するために必要なアクセス許可が必要です。これらのアクセス許可は、マネージドポリシーに含まれています。マネージドポリシーの代わりにカスタムポリシーを使用した場合、環境設定を更新すると、環境の作成または更新が失敗する可能性があります。詳細情報と重要な考慮事項については、「[Elastic Beanstalk 環境を起動テンプレートに移行する](environments-cfg-autoscaling-launch-templates.md)」を参照してください。

## 両方の名前空間オプションのセットを適用する
<a name="environments-cfg-autoscaling-spot-and-demand-combined"></a>

以下のポイントは、これらのオプション設定の組み合わせが環境のスケーリングにどのように影響するかを示しています。
+ `MinSize` のみが、環境の初期容量 (最小で実行するインスタンスの数) を決定します。
+  `SpotFleetOnDemandBase` は初期容量には影響しません。スポットが有効である場合、このオプションは任意のスポットインスタンスが考慮される前に、プロビジョニングされるオンデマンドインスタンス数を決定します。
+ `SpotFleetOnDemandBase` が `MinSize` よりも小さい場合を考慮します。それでも、初期容量どおりの `MinSize` インスタンスが得られます。そのうち少なくとも `SpotFleetOnDemandBase` はオンデマンドインスタンスである必要があります。
+ `SpotFleetOnDemandBase` が `MinSize` よりも大きい場合を考慮します。環境のスケールアウト時には、2 つの値の差に等しい数のインスタンスが追加されることが保証されます。つまり、`SpotFleetOnDemandBase` 要件を満たす前に、少なくともオンデマンドである追加の `(SpotFleetOnDemandBase - MinSize)` インスタンスを取得することが保証されています。

**単一インスタンス環境**  
本稼働環境では、スポットインスタンスは、スケーラブルな負荷分散された環境の一部として特に便利です。単一インスタンス環境でスポットを使用することはお勧めしません。スポットインスタンスが使用できない場合、環境の容量全体（単一インスタンス）が失われる可能性があります。開発またはテストを目的として、単一インスタンス環境でのスポットインスタンスの使用を希望する場合があるとします。その場合は、`SpotFleetOnDemandBase` と `SpotFleetOnDemandAboveBasePercentage` の両方を必ずゼロに設定してください。その他の設定を行うと、オンデマンドインスタンスになります。

## スケーリングオプション設定の例
<a name="environments-cfg-autoscaling-spot-and-demand-examples"></a>

次の例は、幅広いスケーリングオプションを設定するさまざまなシナリオを示しています。すべての例において、スポットインスタンスリクエストを有効にした負荷分散環境が想定されています。

**Example 1: 初期容量の一部としてのオンデマンドとスポット**  <a name="environments-cfg-autoscaling-spot-example1"></a>


**オプション設定**  

|  **オプション**  |  **名前空間**  |  **値**  | 
| --- | --- | --- | 
|  `MinSize`  |  `aws:autoscaling:asg`  |  `10`  | 
|  `MaxSize`  |  `aws:autoscaling:asg`  |  `24`  | 
|  `SpotFleetOnDemandBase`  |  `aws:ec2:instances`  |  `4`  | 
|  `SpotFleetOnDemandAboveBasePercentage`  |  `aws:ec2:instances`  |  `50`  | 

この例では、環境は 10 個のインスタンスから始まります。そのうちの 7 個はオンデマンド（4 つのベース、上記 6 つのベースの 50%）で、3 個はスポットです。環境はインスタンスを最大 24 個にスケールアウトできます。スケールアウトすると、4 つのベースオンデマンドインスタンスの上にあるフリートの部分のオンデマンド部分は 50% に保たれ、全体では最大 24 のインスタンスが維持されます。そのうちの 14 はオンデマンド（4 つのベース、上記 20 のうち 50%）、10 はスポットです。



**Example 2: すべてのオンデマンドの初期容量**  <a name="environments-cfg-autoscaling-spot-example1"></a>


**オプション設定**  

|  **オプション**  |  **名前空間**  |  **値**  | 
| --- | --- | --- | 
|  `MinSize`  |  `aws:autoscaling:asg`  |  `4`  | 
|  `MaxSize`  |  `aws:autoscaling:asg`  |  `24`  | 
|  `SpotFleetOnDemandBase`  |  `aws:ec2:instances`  |  `4`  | 
|  `SpotFleetOnDemandAboveBasePercentage`  |  `aws:ec2:instances`  |  `50`  | 

この例では、環境は 4 つのインスタンスから始まり、そのすべてがオンデマンドです。環境はインスタンスを最大 24 個にスケールアウトできます。スケールアウトすると、4 つのベースオンデマンドインスタンスの上にあるフリートの部分のオンデマンド部分は 50% に保たれ、全体では最大 24 のインスタンスが維持されます。そのうちの 14 はオンデマンド（4 つのベース、上記 20 のうち 50%）、10 はスポットです。

**Example 3: 初期容量を超える追加のオンデマンドベース**  <a name="environments-cfg-autoscaling-spot-example1"></a>


**オプション設定**  

|  **オプション**  |  **名前空間**  |  **値**  | 
| --- | --- | --- | 
|  `MinSize`  |  `aws:autoscaling:asg`  |  `3`  | 
|  `MaxSize`  |  `aws:autoscaling:asg`  |  `24`  | 
|  `SpotFleetOnDemandBase`  |  `aws:ec2:instances`  |  `4`  | 
|  `SpotFleetOnDemandAboveBasePercentage`  |  `aws:ec2:instances`  |  `50`  | 

この例では、環境は 3 つのインスタンスから始まり、そのすべてがオンデマンドです。環境はインスタンスを最大 24 個にスケールアウトできます。初期の 3 つ上の最初の追加インスタンスはオンデマンドで、4 つのベースオンデマンドインスタンスを完成させます。さらにスケールアウトすると、4 つのベースオンデマンドインスタンスの上にあるフリートの部分のオンデマンド部分は 50% に保たれ、全体では最大 24 のインスタンスが維持されます。そのうちの 14 はオンデマンド（4 つのベース、上記 20 のうち 50%）、10 はスポットです。