メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

スポットインスタンスのしくみ

スポットインスタンスを使用するには、スポットインスタンスリクエストまたはスポットフリートリクエストを作成します。このリクエストには、1 インスタンスあたり 1 時間あたりの支払い上限価格 (入札価格) とその他の制約 (インスタンスタイプやアベイラビリティーゾーンなど) を含めます。指定したインスタンスの入札価格が現在のスポット料金を上回っており、指定したインスタンスが利用できる場合、リクエストは直ちに受理されます。 それ以外の場合、スポット料金が入札価格を下回るか、指定したインスタンスが利用可能になると、リクエストが受理されます。 スポットインスタンスは、お客様がスポットインスタンスを削除するか、Amazon EC2 によってスポットインスタンスが停止または削除される (スポットインスタンスの中断とも呼ばれる) まで実行されます。

スポットインスタンスを使用するときは、中断に備える必要があります。Amazon EC2 は、スポット料金が入札価格を上回ったとき、スポットインスタンスに対する需要が上昇したとき、スポットインスタンスの供給が低下したときに、スポットインスタンスを中断する可能性があります。 Amazon EC2 ではスポットインスタンスが中断され、スポットインスタンスの中断通知が表示されます。それにより、Amazon EC2 の停止または削除前にインスタンスに 2 分の警告期間が与えられます。スポットインスタンスの削除保護を有効にすることはできません。詳細については、「スポットインスタンスの中断」を参照してください。

Amazon EBS-Backed インスタンスがスポットインスタンスである場合、インスタンスを停止および開始することはできませんが、インスタンスを再起動または終了することはできます。

スポットインスタンスを OS レベルでシャットダウンすると、スポットインスタンスが終了されます。この動作を変更することはできません。

スポット市場の供給と需要

AWS は、継続的に各スポットインスタンスプールで利用可能なスポットインスタンスの数を評価し、各スポットプールに対する入札をモニタリングします。さらに、最高入札者に対して利用可能なスポットインスタンスをプロビジョニングします。プールのスポット料金は、そのプールに対して受理された最低の入札に設定されます。したがって、単一のスポットインスタンスに対するスポットリクエストが迅速に受理されるためには、スポット料金を上回る価格を入札する必要があります。

たとえば、スポットインスタンスリクエストを作成する場合に、対応するスポットインスタンスプールに販売用のスポットインスタンスが 5 つしかないとします。お客様の入札価格は 0.10 USD で、これは現在のスポット料金でもあります。 次の表は降順ランク付けされた現在の入札価格を示します。入札 1~5 は落札されます。最後に落札された入札 5 によってスポット料金が 0.10 USD に設定されます。入札 6 は落札されません。 入札価格が同じ 0.10 USD である入札 3~5 はランダムな順序でランク付けされています。

入札 入札価格 現在のスポット料金 コメント

1

1.00 USD

0.10 USD

2

1.00 USD

0.10 USD

3

0.10 USD

0.10 USD

4

0.10 USD

0.10 USD

お客様の入札

5

0.10 USD

0.10 USD

最後に落札された入札がスポット料金を設定します。 期間中のスポット料金は全員同じです。

— — —

— — —

スポット容量カットオフ

6

0.05 USD

ここで、このプールのサイズが 3 に低下したとします。入札 1~3 は落札されます。最後に落札された入札 3 によってスポット料金が 0.10 USD に設定されます。同じ 0.10 USD の入札 4 ~ 5 は落札されません。 ご覧のように、スポット料金は変わりませんが、お客様の入札を含む 2 つの入札はスポットの供給が減ったために受理されなくなります。

入札 入札価格 現在のスポット料金 コメント

1

1.00 USD

0.10 USD

2

1.00 USD

0.10 USD

3

0.10 USD

0.10 USD

最後に落札された入札がスポット料金を設定します。 期間中のスポット料金は全員同じです。

— — —

— — —

スポット容量カットオフ

4

0.10 USD

お客様の入札

5

0.10 USD

6

0.05 USD

このプールから単一インスタンスのスポットリクエストを落札するには、現在のスポット料金 0.10 USD より高い価格で入札する必要があります。0.101 USD でスポットインスタンスを入札した場合リクエストは落札されて、入札 3 のスポットインスタンスは中断され、スポット料金は 0.101 USD になります。2.00 USD で入札すると、入札 3 のスポットインスタンスは中断されて、スポット料金は 1.00 USD (入札 2 の価格) になります。

どれだけ高い価格で入札しても、スポットインスタンスプール内で利用可能なスポットインスタンスの数を超えるインスタンスを取得することはできない点に注意してください。プールのサイズがゼロになると、そのプールのスポットインスタンスは中断されます。

起動グループでのスポットインスタンスの起動

スポットインスタンスリクエストで起動グループを指定することによって、すべて起動できる場合にのみ一連のスポットインスタンスを起動するよう Amazon EC2 に指示できます。 また、スポットサービスが起動グループ内のインスタンスの 1 つを終了する必要がある場合 (スポット料金が入札価格を超えた場合など)、すべてのインスタンスを削除する必要があります。 ただし、お客様が起動グループ内の 1 つ以上のインスタンスを削除する場合、Amazon EC2 は起動グループ内のその他のインスタンスを終了しません。

このオプションは便利な場合もありますが、この制約を追加することによって、スポットインスタンスリクエストが受理される可能性が低くなる場合があります。また、スポットインスタンスが終了する可能性が高くなります。

以前に成功したリクエストと同じ(既存の)起動グループを指定する別の正常なスポットインスタンスリクエストを作成する場合、新しいインスタンスはこの起動グループに追加されます。したがって、この起動グループ内のインスタンスが終了されると、起動グループ内のすべてのインスタンスが終了します。これには、最初のリクエストと 2 番目リクエストによって起動されたすべてのインスタンスが含まれます。

アベイラビリティーゾーンでのスポットインスタンスの起動

同じアベイラビリティーゾーン内の一連のスポットインスタンスを起動するようにスポットサービスに通知するには、スポットインスタンスリクエストでアベイラビリティーゾーングループを指定します。Amazon EC2 は、アベイラビリティーゾーングループ内のすべてのインスタンスを同時に中断する必要がありません。Amazon EC2 がアベイラビリティーゾーングループ内のいずれかのインスタンスを中断する場合、他のインスタンスはそのまま実行されます。

このオプションは便利な場合もありますが、この制約を追加することによって、スポットインスタンスリクエストが受理される可能性が低くなる場合があります。

アベイラビリティーゾーングループを指定したが、スポットインスタンスリクエストでアベイラビリティーゾーンを指定しない場合、その結果は、EC2-Classic ネットワーク、デフォルトの VPC、デフォルト以外の VPC のいずれを指定するかによって異なります。 詳細については、「サポートされているプラットフォーム」を参照してください。

EC2-Classic

Amazon EC2 は、リージョン内で最低価格のアベイラビリティーゾーンを検出し、グループの最も低い入札価格がそのアベイラビリティーゾーンの現在のスポット料金を上回っている場合、そのアベイラビリティーゾーンでスポットインスタンスを起動します。 Amazon EC2 は、スポット料金がグループ内の最低入札価格を下回っている限り、スポットインスタンスをまとめて起動するために十分な容量になるまで待機します。

デフォルト VPC

Amazon EC2 は、指定されたサブネットのアベイラビリティーゾーンを使用します。また、サブネットを指定しなかった場合は、アベイラビリティーゾーンとそのデフォルトのサブネットが選択されますが、最低価格のアベイラビリティーゾーンではない可能性があります。 アベイラビリティーゾーンのデフォルトのサブネットを削除した場合は、別のサブネットを指定する必要があります。

デフォルトではない VPC

Amazon EC2 は、指定されたサブネットのアベイラビリティーゾーンを使用します。

VPC でのスポットインスタンスの起動

スポットインスタンスを使用する際に EC2 VPC の機能を活用するには、スポットインスタンスが VPC で起動されることをスポットリクエストで指定します。オンデマンドインスタンスのサブネットを指定するのと同じ方法で、スポットインスタンスのサブネットを指定します。

VPC でスポットインスタンスを起動するスポットインスタンスリクエストを実行するプロセスは、EC2-Classic でスポットインスタンスを起動するスポットインスタンスリクエストを実行するプロセスと同じですが、次のような違いがあります。

  • 入札は VPC のスポットインスタンスのスポット料金履歴に基づいて行います。

  • [デフォルトの VPC] 特定の低価格のアベイラビリティゾーンでスポットインスタンスを起動する場合、スポットインスタンスリクエストで対応するサブネットを指定する必要があります。サブネットを指定しなかった場合、Amazon EC2 によってサブネットが選択されますが、このサブネットのアベイラビリティーゾーンのスポット料金は最低ではない可能性があります。

  • [デフォルト以外の VPC] スポットインスタンスのサブネットを指定する必要があります。