スポットインスタンス
スポットインスタンス は、オンデマンド価格より低価で利用できる未使用の EC2 インスタンスです。スポットインスタンス では未使用の EC2 インスタンスを静止状態割引でリクエストできるため、Amazon EC2 のコストを大幅に削減できます。スポットインスタンス の時間単位の使用料金はスポット料金と呼ばれます。各アベイラビリティーゾーンにおける各インスタンスタイプのスポット料金は、Amazon EC2 によって設定され、スポットインスタンス の長期的な需給に基づいて徐々に調整されます。スポットインスタンス は、キャパシティーが使用可能でリクエストの 1 時間あたりの上限価格がスポット料金を超えるたびに実行されます。
スポットインスタンス は、アプリケーションを実行する時間に柔軟性がある場合や、アプリケーションを中断できる場合に、費用効率の高い選択肢です。たとえば、スポットインスタンス
は、データ分析、バッチジョブ、バックグラウンド処理、およびオプションタスクに適しています。詳細については、「Amazon EC2スポットインスタンス
トピック
概念
スポットインスタンス の使用を開始する前に、以下の概念を理解しておく必要があります。
-
スポットインスタンス プール – 同様のインスタンスタイプ (
m5.large
など)、オペレーティングシステム、アベイラビリティーゾーン、ネットワークプラットフォームの一連の使われていない EC2 インスタンスです。 -
スポット料金 – 時間当たりの スポットインスタンス の現在の料金です。
-
スポットインスタンス リクエスト – スポットインスタンス をリクエストします。このリクエストでは、スポットインスタンス に対して支払う 1 時間あたりの上限価格を指定します。上限料金を指定しない場合、デフォルトの上限料金はオンデマンド価格となります。お客様のリクエストの時間あたりの上限料金がスポット料金を超える場合で、容量がご利用可能な場合、Amazon EC2 はお客様のリクエストを受理します。スポットインスタンス リクエストは、1 回限りまたは永続的です。Amazon EC2 は、リクエストに関連付けられた スポットインスタンス が終了すると、自動的に永続的な スポットインスタンス リクエストを再送信します。スポットインスタンス リクエストにはオプションで スポットインスタンス の継続期間を指定できます。
-
スポットフリート – 指定した条件によって起動された一連の スポットインスタンス です。スポットフリート は必要条件に合った スポットインスタンス プールを選択して、フリートのターゲット容量を満たすまで スポットインスタンス を起動します。デフォルトでは、スポットフリート は、フリートの スポットインスタンス が削除された後に代替インスタンスを作成することによってターゲット容量が維持されるように設定されています。インスタンスの削除後に保持されないワンタイムリクエストとして スポットフリート を送信することもできます。オンデマンドインスタンス リクエストに スポットフリート リクエストを含めることができます。
-
EC2 インスタンスの再調整に関する推奨事項 - Amazon EC2 はインスタンスの再調整に関する推奨事項のシグナルを発し、スポットインスタンス が中断のリスクが高いことを通知します。このシグナルにより、2 分間の スポットインスタンス 中断通知を待つことなく、既存または新しい スポットインスタンス 間でワークロードをプロアクティブに再調整することができます。
-
スポットインスタンス の中断 – スポット料金がお客様のリクエストの上限料金を超えた場合、または容量が使用できなくなった場合、Amazon EC2 は スポットインスタンス を終了、停止、または休止状態にします。Amazon EC2 では、スポットインスタンス の中断通知が表示されます。それにより、インスタンスの停止前に 2 分の警告期間が与えられます。
スポットインスタンス と オンデマンドインスタンス の主な違い
次のテーブルは、スポットインスタンス と オンデマンドインスタンス の主な違いをまとめたものです。
スポットインスタンス | オンデマンドインスタンス | |
---|---|---|
作成時刻 |
スポットリクエストがアクティブであり、容量が利用可能である場合に限り、即時に起動できます。 |
手動で起動リクエストを実行し、容量が利用可能である場合に限り、即時に起動できます。 |
使用可能な容量 |
容量が利用可能ではない場合、スポットリクエストは、容量が利用可能になるまで継続して自動的に起動リクエストを実行します。 |
起動リクエストを行うときに容量が利用可能でない場合は、容量不足エラー (ICE) が表示されます。 |
時間料金 |
スポットインスタンス の時間単位の使用料金は、オンデマンドに応じて異なります。 |
オンデマンドインスタンス の時間単位の使用料金は固定です。 |
再調整に関する推奨事項 | インスタンスが中断のリスクが高い場合に、Amazon EC2 が実行中の スポットインスタンス に対して発するシグナル。 | お客様は、いつオンデマンドインスタンスが中断 (停止、休止、または終了) されるかを決定します。 |
インスタンスの中断 |
Amazon EBS-Backedスポットインスタンスは停止して起動することができます。また、キャパシティーが利用できなくなった場合、スポット料金が上限価格を超過する場合、またはスポットインスタンスへの需要が増大した場合に、Amazon EC2 スポットサービスは個別のスポットインスタンスを中断できます。 |
お客様は、いつオンデマンドインスタンスが中断 (停止、休止、または終了) されるかを決定します。 |
スポットインスタンス を使用した戦略
アプリケーションのコンピューティングリソースの最低保証レベルを維持する 1 つの戦略としては、オンデマンドインスタンス のコアグループを起動し、必要に応じて スポットインスタンス でコンピューティングリソースを補完します。

もう 1 つの戦略は、指定された期間 (スポットブロックとも呼ばれます) で スポットインスタンス を起動することです。これは、中断されず、選択した期間継続して実行されるように設計されています。まれに Amazon EC2 のキャパシティーの都合でスポットブロックの中断が発生する場合があります。この場合、インスタンスを削除する前に 2 分間の警告が与えられ、使用した場合でも、削除したインスタンスについては課金されません。詳細については、「スポットインスタンス の継続期間の定義」を参照してください。
開始方法
最初に必要なことは、Amazon EC2 を使用するようにセットアップすることです。また、スポットインスタンス を起動する前に、オンデマンドインスタンス を起動した経験があると役立ちます。
スポットの基本
スポットインスタンス の使用
スポットフリート の使用
関連サービス
Amazon EC2 を使用して スポットインスタンス を直接プロビジョニングすることができます。また、AWS の他のサービスを使用して スポットインスタンス をプロビジョニングすることもできます。詳細については、次のドキュメントを参照してください。
- Amazon EC2 Auto Scaling および スポットインスタンス
-
Amazon EC2 Auto Scaling で スポットインスタンス を起動できるように、支払う予定の上限価格を使用して起動テンプレートまたは起動設定を作成できます。詳細については、『Amazon EC2 Auto Scaling ユーザーガイド』の「Auto Scaling グループでの スポットインスタンス の起動」および「複数のインスタンスタイプと購入オプションを使用する」を参照してください。
- Amazon EMR および スポットインスタンス
-
シナリオによっては、Amazon EMR クラスターで スポットインスタンス を実行すると便利な場合があります。詳細については、『Amazon EMR 管理ガイド』の「スポットインスタンス」および「スポットインスタンス はどのような場合に使用しますか?」を参照してください。
- AWS CloudFormation テンプレート
-
AWS CloudFormation によって、JSON 形式のテンプレートを利用して、AWS リソースのコレクションを作成および管理できます。AWS CloudFormation テンプレートには、お支払いいただく上限料金が含まれます。詳細については、「EC2 スポットインスタンス の更新 - Auto Scaling と CloudFormation の統合
」を参照してください。 - AWS SDK for Java
-
Java プログラミング言語を使用して、スポットインスタンス を管理できます。詳細については、「チュートリアル: Amazon EC2 スポットインスタンス」と「チュートリアル: Amazon EC2 スポットリクエストの高度な管理」を参照してください。
- AWS SDK for .NET
-
.NET プログラミング環境を使用して、スポットインスタンス を管理できます。詳細については、「チュートリアル: Amazon EC2 スポットインスタンス」を参照してください。
料金と削減額
スポットインスタンス はスポット料金で課金されます。これは Amazon EC2 によって設定され、スポットインスタンス の長期供給と需要に基づいて徐々に調整されます。お客様のリクエストの時間あたりの上限料金が現在のスポット料金を超える場合で、容量がご利用可能な場合、Amazon EC2 はお客様のリクエストを受理します。スポットインスタンス は、お客様が自らスポットインスタンスを終了するか、容量が使用できなくなるか、スポット料金が上限料金を超えるか、縮小時に Amazon EC2 Auto Scaling グループのインスタンスが削除されるまで実行されます。
継続期間を事前定義した スポットインスタンス には、固定時間単価が使用され、この価格は スポットインスタンス の実行中は有効なままになります。
お客様 または Amazon EC2 が実行中の スポットインスタンス を中断した場合、使用したオペレーティングシステムおよび スポットインスタンス を中断したユーザーに応じて、使用した時間 (秒) または 1 時間の料金が請求されます。詳細については、「中断された スポットインスタンス の請求」を参照してください。
料金の表示
AWS リージョンおよびインスタンスタイプごとの最新の (5 分ごとに更新される) 最低スポット料金を確認するには、「スポットインスタンス 料金表
過去 3 か月間のスポット価格の履歴を表示するには、Amazon EC2 コンソールを使用するか、describe-spot-price-history コマンド (AWS CLI) を使用します。詳細については、「スポットインスタンス の料金設定履歴」を参照してください。
AWS アカウントごとに、個別にアベイラビリティーゾーンがコードにマッピングされます。したがって、アカウント間で同じアベイラビリティーゾーンコード (たとえば、us-west-2a
) に対して結果が異なる場合があります。
削減額の表示
単一の スポットフリート またはすべての スポットインスタンス に対して スポットインスタンス を使用することによって得られた削減額を表示することができます。過去 1 時間または過去 3 日間の削減状況を表示でき、vCPU 時間あたりの平均コストとメモリ (GiB) 時間あたりの平均コストも確認できます。削減額が予想されますが、使用状況に対する請求の調整が含まれていないため、実際の削減額と異なる場合があります。削減額情報の表示の詳細については、「スポットインスタンス 購入による削減額」を参照してください。
請求書の表示
請求書には、サービスの使用量に関する詳細が記載されています。詳細については、AWS Billing and Cost Management ユーザーガイド の「請求書の表示」を参照してください。