スポットフリート の仕組み
スポットフリート は、スポットインスタンス (オプションでは オンデマンドインスタンス) のコレクションまたはフリートです。
スポットフリート は、スポットフリート リクエストで指定した容量ターゲットを満たすような スポットインスタンス と オンデマンドインスタンス の数を起動しようと試みます。スポットインスタンス へのリクエストは、利用可能な容量があり、リクエストで指定した上限料金がスポット料金を超えている場合に達成されます。また、スポットインスタンス が中断した場合、スポットフリート はターゲット容量フリートを維持しようとします。
フリートに対する 1 時間あたりの支払い上限料金を設定し、上限料金に達するまで スポットフリート でインスタンスを起動することもできます。支払い上限料金に達すると、ターゲット容量に満たない場合でも、フリートはインスタンスの起動を停止します。
スポットインスタンス プールは、同様のインスタンスタイプ (m5.large
など)、オペレーティングシステム、アベイラビリティーゾーン、ネットワークプラットフォームの一連の使われていない EC2 インスタンスです。スポットフリート のリクエストを行う場合に複数の起動条件を含めることができ、これにはインスタンスタイプ、AMI、アベイラビリティーゾーン、またはサブネットがあります。スポットフリート
は、スポットフリート リクエストとその スポットフリート リクエストの設定を含む起動条件に基づいてリクエストを満たすために使用される スポットインスタンス プールを選択します。スポットインスタンス
は選択されたプールから取得されます。
コンテンツ
スポットフリート でのオンデマンド
インスタンスのキャパシティーを常に確保するには、オンデマンドキャパシティーのリクエストを スポットフリート リクエストに含めることができます。スポットフリート リクエストでは、希望するターゲットキャパシティーとそのキャパシティーのうちどのくらいがオンデマンドであるかを指定します。このバランスは、利用可能な Amazon EC2 キャパシティーと可用性がある場合に起動されるスポットキャパシティーで構成されます。たとえば、スポットフリート リクエストでターゲットキャパシティーを 10、オンデマンドキャパシティーを 8 と指定すると、Amazon EC2 は 8 キャパシティーユニットをオンデマンドとして、2 キャパシティーユニット (10-8=2) をスポットとして起動します。
オンデマンド容量に基づくインスタンスタイプの優先順位付け
スポットフリート でオンデマンド容量を達成する場合、デフォルトで最低価格のインスタンスタイプが最初に起動されます。OnDemandAllocationStrategy
を prioritized
に設定すると、スポットフリート は優先度に従って、オンデマンド容量を達成するために最初に使用するインスタンスタイプを決定します。優先度は起動テンプレートの上書きに割り当てられ、最も高い優先度が最初に起動されます。
たとえば、3 つの起動テンプレートの上書きにそれぞれ異なるインスタンスタイプとして c3.large
、c4.large
、c5.large
を設定したとします。c5.large
のオンデマンド価格は、c4.large
より低価格です。c3.large
が最低価格です。順番の決定に優先度を使用しない場合、フリートはオンデマンド容量を達成するために最初に c3.large
を起動し、次に c5.large
を起動します。c4.large
の リザーブドインスタンス は未使用のことが多いため、起動テンプレートの上書きの優先度を設定し、c4.large
、c3.large
、c5.large
の順にすることができます。
スポットインスタンス の配分戦略
スポットフリート の スポットインスタンス の配分戦略は、起動条件による スポットインスタンス プールからどのように スポットフリート のリクエストを満たすかについて決定します。以下に、スポットフリート リクエストで指定できる配分戦略を示します。
lowestPrice
-
スポットインスタンス は、最低価格のプールから取得されます。これはデフォルトの戦略です。
diversified
-
スポットインスタンス はすべてのプールに分散されます。
capacityOptimized
-
スポットインスタンス は、起動するインスタンスの数に最適な容量のスポットインスタンスプールから取得されます。
InstancePoolsToUseCount
-
スポットインスタンス は、指定した数のスポットプールに分散されます。このパラメータは
lowestPrice
と組み合わせて使用する場合にのみ有効です。
ターゲット容量の維持
スポット料金や スポットインスタンス プールの使用可能な容量の変動に伴って スポットインスタンス が終了すると、maintain
型の スポットフリート によって代替 スポットインスタンス が起動されます。配分戦略が lowestPrice
である場合、スポット群は、スポット料金が現在最低値のプールに代替インスタンスを起動します。配分戦略が diversified
である場合には、フリートは残りのプールに代替 スポットインスタンス を分散します。配分戦略が lowestPrice
と InstancePoolsToUseCount
の組み合わせである場合、フリートは最低価格のスポットプールを選択し、指定した数のスポットプールで スポットインスタンス を起動します。
コスト最適化のための スポットフリート の設定
スポットインスタンス の使用コストを最適化するには、lowestPrice
配分戦略を指定し、スポットフリート が現在のスポット料金に基づいてインスタンスタイプおよびアベイラビリティーゾーンの最も安価な組み合わせを自動的にデプロイするようにします。
オンデマンドインスタンス のターゲット容量では、スポットフリート は スポットインスタンス の配分戦略 (lowestPrice
、capacityOptimized
、または diversified
) を引き続き採用しながら、公開オンデマンド価格に基づいて最もコストが低いインスタンスタイプを常に選択します。
コスト最適化と分散のための スポットフリート の設定
安価で同時に分散型の スポットインスタンス のフリートを作成するには、lowestPrice
配分戦略を InstancePoolsToUseCount
と組み合わせて使用します。スポットフリート は、現在のスポット料金に基づく最も安いインスタンスタイプとアベイラビリティーゾーンの組み合わせを、指定した数のスポットプールに自動的にデプロイします。この組み合わせを使用することで、最も高価な
スポットインスタンス を回避できます。
容量最適化のための スポットフリート の設定
スポットインスタンス では、価格は需要と供給の長期的な傾向に基づいて時間の経過とともに緩やかに変動しますが、容量はリアルタイムで変動します。capacityOptimized
戦略では、リアルタイムの容量データを調べ、可用性の最も高いプールを予測することで、そのプールから スポットインスタンス を自動的に起動します。この戦略は、作業の再開とチェックポイントの設定に関連する中断のコストが高くなる可能性のあるワークロード
(ビッグデータと分析、画像とメディアのレンダリング、機械学習、ハイパフォーマンスコンピューティングなど) に適しています。中断の可能性を低くすることにより、capacityOptimized
戦略ではワークロードの全体的なコストを削減できます。
適切な配分戦略の選択
ユースケースに基づいて スポットフリート を最適化できます。
フリートが小さい場合、または短時間の実行である場合、すべてのインスタンスが単一の スポットインスタンス プールにあるとしても、スポットインスタンス が中断されることがあります。これより、lowestPrice
戦略は、低コストを提供している期間に条件に合いやすくなります。
フリートが大サイズ、または長期間実行される場合には、複数のプールに スポットインスタンス を分散することでフリートの可用性を改善できます。たとえば、スポットフリート リクエストの条件が 10 プールとして、ターゲット容量が 100 インスタンスとすると、フリートはプールごとに 10 個の スポットインスタンス を起動します。1 つのプールのスポット料金がこのプールの上限料金を超える場合、フリートの 10% のみに影響がおよびます。この戦略を使用すると、いずれのプールにおいても経時的にフリートが受けるスポット料金の上昇の影響を減少させます。
diversified
戦略では、スポットフリート は、オンデマンド価格
安価で分散型のフリートを作成するには、lowestPrice
戦略を InstancePoolsToUseCount
と組み合わせて使用します。スポットインスタンス には少数または多数のスポットプールを選択して割り当てることができます。たとえば、バッチ処理を実行する場合は、少数のスポットプール
(InstancePoolsToUseCount=2
など) を指定することをお勧めします。これにより、キューのコンピューティング性能を常に確保しながら、削減額を最大化できます。ウェブサービスを実行する場合は、多数のスポットプール
(InstancePoolsToUseCount=10
など) を指定し、スポットインスタンス が一時的に使用不可になった場合の影響を最小限に抑えることをお勧めします。
作業の再開とチェックポイント設定に関連する中断に伴うコストが高くなる可能性があるワークロードをフリートで実行している場合は、capacityOptimized
戦略を使用します。この戦略では中断の可能性を低くすることにより、ワークロードの全体的なコストを削減できます。
容量の再調整
Amazon EC2 が再調整に関する推奨事項を発したときに代替 スポットインスタンス を起動するように スポットフリート を設定して、スポットインスタンス が中断のリスクが高いことの通知を受け取ることができます。容量の再調整は、実行中のインスタンスが Amazon EC2 により中断される前に、新しいスポットインスタンスでフリートを事前に拡張することにより、ワークロードの可用性を維持するのに役立ちます。詳細については、「EC2 インスタンスの再調整に関する推奨事項」を参照してください。
代替 スポットインスタンス を起動するように スポットフリート を設定するには 、Amazon EC2 コンソールまたは AWS CLI を使用します。
-
Amazon EC2 コンソール: スポットフリート を作成するときは、[容量の再調整] チェックボックスをオンにする必要があります。詳細については、「定義済みパラメータを使用して スポットフリート を作成する (コンソール)」のステップ 6.d を参照してください。
-
AWS CLI: request-spot-fleet コマンドと
SpotMaintenanceStrategies
構造内の関連するパラメーターを使用します。詳細については、「起動設定の例」を参照してください。
の制限事項
-
タイプ
maintain
のフリートでのみ使用可能です。 -
フリートが実行されているときは、容量の再調整設定を変更できません。容量の再調整設定を変更するには、フリートを削除し、新しいフリートを作成する必要があります。
考慮事項
容量の再調整用に スポットフリート を設定する場合は、次の点を考慮してください。
- スポットフリート は、満たされた容量がターゲット容量の 2 倍になるまで、新しい代替 スポットインスタンス を起動できます
-
スポットフリート が容量の再調整用に設定されている場合、 フリートは、再調整に関する推奨事項を受け取るすべての スポットインスタンス に対して、新しい代替 スポットインスタンス を起動しようとします。スポットインスタンス が再調整に関する推奨事項を受け取ると、そのスポットインスタンスは満たされた容量の一部としてカウントされなくなり、スポットフリート インスタンスは自動的に終了しません。これにより、インスタンスで再調整アクションを実行できるようになります。その後、インスタンスを終了することも、実行したままにすることもできます。
フリートがターゲット容量の 2 倍に達すると、代替インスタンス自体が再調整に関する推奨事項を受け取った場合でも、新しい代替インスタンスの起動を停止します。
例えば、100 個の スポットインスタンス のターゲット容量を持つ スポットフリート を作成したとします。すべての スポットインスタンス は、再調整に関する推奨事項を受け取ります。これにより、スポットフリート は 100 個の代替スポットインスタンスを起動します。これにより、満たされた スポットインスタンス の数が 200 になり、目標容量の 2 倍になります。一部の代替インスタンスは再調整に関する推奨事項を受け取りますが、フリートがターゲット容量の 2 倍を超えることができないため、代替インスタンスはそれ以上起動されません。
インスタンスの実行中は、すべてのインスタンスに対して課金されることに注意してください。
- 再調整に関する推奨事項を受け取る スポットインスタンス を手動で終了することをお勧めします
-
容量の再調整が行えるように スポットフリート を設定する場合は、フリート内のスポットインスタンスが受信する再調整推奨シグナルをモニタリングすることをお勧めします。シグナルをモニタリングすることで、Amazon EC2 が中断する前に、影響を受けるインスタンスで再調整のアクションをすばやく実行し、手動で終了できます。インスタンスを終了しない場合、インスタンスの実行中、課金が継続します。スポットフリート は、再調整に関する推奨事項を受け取るインスタンスを自動的に終了しません。
Amazon EventBridge またはインスタンスメタデータを使用して通知を設定できます。詳細については、「再調整に関する推奨事項シグナルのモニタリング」を参照してください。
- スポットフリート は、スケールインまたはスケールアウト中に満たされた容量を計算する際、再調整に関する推奨事項を受け取るインスタンスはカウントされない
-
容量の再調整を行うように スポットフリート が設定されていて、ターゲット容量をスケールインまたはスケールアウトするように変更した場合、次のように、フリートは、再調整の対象としてマークされたインスタンスを、満たされた容量の一部としてカウントしません。
-
– のスケールイン。希望するターゲット容量を減らすと、フリートは目的の容量に達するまで、再調整の対象としてマークされていないインスタンスを終了します。再調整の対象としてマークされたインスタンスは、満たされた容量にはカウントされません。
例えば、100 個の スポットインスタンス のターゲット容量を持つ スポットフリート を作成したとします。10 個のインスタンスは再調整に関する推奨事項を受け取ります。そのため、フリートは 10 個の新しい代替インスタンスを起動し、その結果、110 個のインスタンスの容量が満たされます。その後、ターゲット容量を 50 個に減らし (スケールインし) ますが、再調整の対象としてマークされた 10 個のインスタンスはフリートによって終了されないため、満たされた容量は実際には 60 インスタンスになります。このようなインスタンスは手動で終了する必要があります。または、実行したままにしておくことができます。
-
– のスケールアウト。目的のターゲット容量を増やすと、目的の容量に達するまでフリートは新しいインスタンスを起動します。再調整の対象としてマークされたインスタンスは、満たされた容量にはカウントされません。
例えば、100 個の スポットインスタンス のターゲット容量を持つ スポットフリート を作成したとします。10 個のインスタンスは再調整に関する推奨事項を受け取ります。そのため、フリートは 10 個の新しい代替インスタンスを起動し、その結果、110 個のインスタンスの容量が満たされます。その後、ターゲット容量を 200 個に増やし (スケールアウトし) ますが、再調整の対象としてマークされた 10 個のインスタンスは、フリートによってターゲット容量の一部としてカウントされないため、実際には 210 個のインスタンスになります。このようなインスタンスは手動で終了する必要があります。または、実行したままにしておくことができます。
-
- リクエストにできる限り多くの スポットインスタンス プールを提供する
-
複数のインスタンスタイプとアベイラビリティーゾーンを使用するように スポットフリート を設定します。これにより、スポットインスタンス をさまざまな スポットインスタンス プールで起動できる柔軟性が得られます。詳細については、「インスタンスタイプとアベイラビリティーゾーンについて柔軟に対応する」を参照してください。
- 最適な スポットインスタンス プールを使用するように スポットフリート を設定する
-
capacity-optimized
割り当て戦略を使用して、代替 スポットインスタンス が最適なスポットインスタンスプールで起動されるようにします。詳細については、「容量を最適化する配分戦略を使用する」を参照してください。
スポット料金の優先
各 スポットフリート リクエストには、グローバルな最大価格を含めることも、デフォルト (オンデマンド価格) を使用することもできます。スポットフリート は、これを各起動仕様のデフォルトの最高価格として使用します。
任意で 1 つまたは複数の起動条件に上限料金を指定することができます。これは、起動条件に指定された料金です。起動条件に特定の料金が含まれる場合、スポットフリート は起動条件の上限料金としてこの料金を使用し、全体の上限料金に優先することになります。特定の上限料金を含まないそのほかの起動条件は、全体の上限料金を引き続き使用することにご注意ください。
使用量の管理
ターゲット容量または支払い上限料金に達すると、スポットフリート はインスタンスの起動を停止します。フリートに支払う 1 時間あたりの料金を管理するには、スポットインスタンス
の SpotMaxTotalPrice
と オンデマンドインスタンス の OnDemandMaxTotalPrice
を指定できます。上限の合計料金に達すると、ターゲット容量に満たない場合でも、スポットフリート はインスタンスの起動を停止します。
以下の例は、2 つの異なるシナリオを示しています。最初の例では、ターゲット容量に達すると、スポットフリート はインスタンスの起動を停止します。2 番目の例では、支払い上限料金に達すると、スポットフリート はインスタンスの起動を停止します。
例: ターゲット容量に達したときにインスタンスの起動を停止する
m4.large
オンデマンドインスタンス に対するリクエストの内容が以下のとおりとします。
-
オンデマンド料金: 1 時間あたり 0.10 USD
-
OnDemandTargetCapacity
: 10 -
OnDemandMaxTotalPrice
: 1.50 USD
スポットフリート は 10 オンデマンドインスタンス を起動します。合計料金 1.00 USD (10 インスタンス x 0.10 USD) は OnDemandMaxTotalPrice
(1.50 USD) を超えないためです。
例: 上限の合計料金に達したときにインスタンスの起動を停止する
m4.large
オンデマンドインスタンス に対するリクエストの内容が以下のとおりとします。
-
オンデマンド料金: 1 時間あたり 0.10 USD
-
OnDemandTargetCapacity
: 10 -
OnDemandMaxTotalPrice
: 0.80 USD
スポットフリート がオンデマンドターゲット容量 (10 オンデマンドインスタンス) を起動した場合、1 時間あたりの合計コストは 1.00 USD になります。これは
OnDemandMaxTotalPrice
として指定した料金 (0.80 USD) を超えます。支払い可能な額を超えないように、スポットフリート は 8 オンデマンドインスタンス (オンデマンドターゲット容量未満)
を起動します。これを超えて起動すると、OnDemandMaxTotalPrice
を超えてしまいます。
スポットフリート インスタンスの分量指定
スポットインスタンス のフリートをリクエストするとき、それぞれのインスタンスタイプがアプリケーションのパフォーマンスに応じるように容量ユニットを定義し、また、インスタンス分量指定を利用して スポットインスタンス プールごとに上限価格を調整できます。
デフォルトでは、指定したスポット料金は 1 インスタンス時間当たりの入札料金を表します。インスタンスの分量指定機能を使用すると、指定した料金は ユニット時間ごとの料金となります。ユニット時間あたりの入札価格は、インスタンスタイプの入札価格をそのユニットの数で割って計算できます。スポットフリート では、ターゲット容量をインスタンス分量で割ることで起動する スポットインスタンス の数を計算します。その結果が整数でなければ、スポットフリート はその数を次の整数に切り上げ、これによりフリートのサイズがターゲット容量以上になります。起動されたインスタンスの容量がリクエストされたターゲット容量を超えた場合でも、スポットフリート は起動仕様で指定したどのプールでも選択できます。
以下の表では、スポットフリート リクエストのターゲット容量が 10 の場合のユニットあたりの料金を算定する例を示します。
インスタンスタイプ | インスタンスの分量 | インスタンス時間あたりのスポット料金 | ユニット時間あたりの価格 | 起動されたインスタンスの数 |
---|---|---|---|---|
r3.xlarge |
2 |
0.05 USD |
.025 (.05 ÷ 2) |
5 (10 ÷ 2) |
インスタンスタイプ | インスタンスの分量 | インスタンス時間あたりのスポット料金 | ユニット時間あたりの価格 | 起動されたインスタンスの数 |
---|---|---|---|---|
r3.8xlarge |
8 |
0.10 USD |
.0125 (.10 ÷ 8) |
2 (10 ÷ 8、結果切り上げ) |
次に示すように、スポットフリート を使用して、受理時のユニットごとの最低価格のプールに指定するターゲット容量をプロビジョニングします。
-
スポットフリート のターゲット容量を、インスタンス (デフォルト) あるいは仮想 CPU、メモリ、ストレージまたはスループットからご希望のユニットで設定します。
-
ユニットあたりの料金を設定します。
-
各起動設定で、インスタンスタイプがターゲット容量に対して必要なユニット数である分量を指定します。
インスタンスの分量指定例
次の設定の スポットフリート を検討します。
-
ターゲット容量 24
-
r3.2xlarge
のインスタンスタイプの起動条件と分量 6 -
c3.xlarge
のインスタンスタイプの起動条件と分量 5
分量とは、インスタンスタイプがターゲット容量に対して必要なユニット数を表します。最初の起動条件がユニットあたりの料金を最低値で提供する場合 (インスタンス時間あたりの
r3.2xlarge
の料金を 6 で割ったもの)、スポットフリートはこれらのインスタンスから 4 つを起動します (24 を 6 で割ったもの)。
2 番目の起動条件がユニットあたりの料金を最低値で提供する場合 (インスタンス時間あたりの c3.xlarge
の料金を 5 で割ったもの)、スポットフリート はこれらのインスタンスから 5 つを起動します (24 を 5 で割ったもの、結果が切り上げられる)。
インスタンスの分量指定と配分戦略
次の設定の スポットフリート を検討します。
-
ターゲット容量 30
-
c3.2xlarge
のインスタンスタイプの起動条件と分量 8 -
m3.xlarge
のインスタンスタイプの起動条件と分量 8 -
r3.xlarge
のインスタンスタイプの起動条件と分量 8
スポットフリート は、4 つのインスタンスを起動します (30 を 8 出割ったもの、結果を切り上げ)。lowestPrice
戦略では、すべての 4 つのインスタンスはユニットあたりの最低価格を提供するプールから取得されます。diversified
戦略では、スポットフリート は 3 プールごとに 1 つのインスタンスを起動し、そしてプールのいずれかから取得された 4 つ目のインスタンスがユニットあたりの最低スポット料金を提供することになります。
チュートリアル: スポットフリート を使ってインスタンスの分量を指定する
このチュートリアルでは、サンプル株式会社という名の架空会社で、インスタンス分量指定を使った スポットフリート リクエストのプロセスを説明します。
目的
製薬会社であるサンプル株式会社は、癌と闘うために使用される可能性のある化合物を選別するために Amazon EC2 の計算処理能力を利用したいと考えています。
計画
サンプル株式会社はまず、「Spot Best Practices
インスタンスタイプ
サンプル株式会社には、60 GB 以上のメモリと 8 つの仮想 CPU (vCPU) で最適に実行される、計算能力とメモリに負担がかかるアプリケーションがあります。同社は、できるだけ低価格でアプリケーション用のこれらのリソースを最大化したいと考えています。サンプル株式会社は、以下のいずれかの EC2 インスタンスタイプがそのニーズを満たすと判断します。
インスタンスタイプ | メモリ (GiB) | vCPU |
---|---|---|
r3.2xlarge |
61 |
8 |
r3.4xlarge |
122 |
16 |
r3.8xlarge |
244 |
32 |
ユニット単位の目標容量
インスタンスの分量指定を使用すると、ターゲット容量はインスタンスの数 (デフォルト)、またはコア (vCPU)、メモリ (GiB) とストレージ (GB) との要素の組み合わせで表すことができます。アプリケーションのベース (60 GB の RAM と 8 個の vCPU) を 1 ユニットとして考えることで、サンプル株式会社はこの量の 20 倍で十分ニーズに合うと決定します。これにより、会社は スポットフリート リクエストのターゲット容量を 20 に設定します。
インスタンスの分量
ターゲット容量の決定後、サンプル株式会社はインスタンスの分量を計算します。各インスタンスタイプのインスタンスの分量を計算することは、以下のように、ターゲット容量に達するために必要な各インスタンスタイプのユニットの数を決定することです。
-
r3.2xlarge (61.0 GB、8 個の vCPU) = 1/20 ユニット
-
r3.4xlarge (122.0 GB、16 個の vCPU) = 2/20 ユニット
-
r3.8xlarge (244.0 GB、32 個の vCPU) = 4/20 ユニット
これよりサンプル株式会社は、1、2 と 4 のインスタンス分量を スポットフリート リクエストのそれぞれの起動設定に割り当てます。
ユニット時間あたりの価格
サンプル株式会社は、料金の出発点としてインスタンス時間あたりの「オンデマンド料金
インスタンスタイプ | オンデマンド価格 | インスタンスの分量 | ユニット時間あたりの価格 |
---|---|---|---|
r3.2xLarge |
0.7 USD |
1 |
0.7 USD |
r3.4xLarge |
1.4 USD |
2 |
0.7 USD |
r3.8xLarge |
2.8 USD |
4 |
0.7 USD |
サンプル株式会社は、ユニット時間あたりのグローバルな料金として 0.7 USD を使用し、3 つのインスタンスタイプすべてで競争力を高めることもできます。また、r3.8xlarge
の起動条件のなかで、1 ユニット時間あたりの全体料金を 0.7 USD、そして 1 ユニット時間あたりの指定入力料金を 0.9 USD とすることもできます。
アクセス許可の確認
スポットフリート のリクエストを作成する前に、サンプル株式会社は必要アクセス許可の IAM ロールがあることを確認します。詳細については、「スポットフリート のアクセス許可」を参照してください。
リクエストの作成
サンプル株式会社は、スポットフリート リクエストのために次の設定の config.json
ファイルを作成します。
{ "SpotPrice": "0.70", "TargetCapacity": 20, "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.2xlarge", "SubnetId": "subnet-482e4972", "WeightedCapacity": 1 }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.4xlarge", "SubnetId": "subnet-482e4972", "WeightedCapacity": 2 }, { "ImageId": "ami-1a2b3c4d", "InstanceType": "r3.8xlarge", "SubnetId": "subnet-482e4972", "SpotPrice": "0.90", "WeightedCapacity": 4 } ] }
サンプル株式会社は、request-spot-fleet コマンドを使用して スポットフリート リクエストを作成します。
aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json
詳細については、「スポットフリートリクエストでオプションで指定するパラメータです。」を参照してください。
受理
配分戦略は、スポットインスタンス が取得される スポットインスタンス プールを決定します。
lowestPrice
戦略 (デフォルトの戦略) では、受理時にユニットあたりの料金が最低値であるプールから スポットインスタンス が取得されます。20 ユニットの容量を提供するためには、20
の r3.2xlarge
インスタンス (20 ÷ 1)、10 の r3.4xlarge
インスタンス (20 ÷ 2)、あるいは 5 の r3.8xlarge
インスタンス (20 ÷ 4) が スポットフリート から起動されることになります。
サンプル株式会社が diversified
戦略を採用する場合、スポットインスタンス は 3 つのすべてのプールから取得されます。スポットフリート は、6 つの r3.2xlarge
インスタンス (6 ユニットを提供)、3 つの r3.4xlarge
インスタンス (6 ユニットを提供)、そして 2 つの r3.8xlarge
インスタンス (8 ユニットを提供) の全部で 20 ユニットを起動します。