Spot Instances - Amazon Elastic Compute Cloud

Spot Instances

スポットインスタンスは、休止中の EC2 キャパシティーを使用するインスタンスで、オンデマンド価格より低料金で利用できます。スポットインスタンス では未使用の EC2 インスタンスを静止状態割引でリクエストできるため、Amazon EC2 のコストを大幅に削減できます。 スポットインスタンスの時間料金は、スポット料金と呼ばれます。各アベイラビリティーゾーンにおける各インスタンスタイプのスポット料金は、Amazon EC2 によって設定され、スポットインスタンス の長期的な需給に基づいて徐々に調整されます。スポットインスタンス は、利用可能なキャパシティーが存在し、リクエストの 1 時間あたりの上限価格がスポット料金より高い場合に実行されます。

スポットインスタンス は、アプリケーションを実行する時間に柔軟性がある場合や、アプリケーションを中断できる場合に、費用効率の高い選択肢です。たとえば、スポットインスタンス は、データ分析、バッチジョブ、バックグラウンド処理、およびオプションタスクに適しています。詳細については、「Amazon EC2スポットインスタンス」を参照してください。

トピック

Concepts

スポットインスタンス の使用を開始する前に、以下の概念を理解しておく必要があります。

  • スポットキャパシティープール – インスタンスタイプ (m5.large など) とアベイラビリティーゾーンが同一で、使用されていない EC2 インスタンスのセットです。

  • スポット料金 – スポットインスタンスの現在の料金です (時間あたり)。

  • スポットインスタンスリクエスト – スポットインスタンスに対するリクエストです。このリクエストでは、スポットインスタンスに対して支払う 1 時間あたりの上限価格を指定します。上限料金を指定しない場合、デフォルトの上限料金はオンデマンド価格となります。 お客様のリクエストの時間あたりの上限料金がスポット料金を超える場合で、容量がご利用可能な場合、Amazon EC2 はお客様のリクエストを受理します。スポットインスタンスリクエストには、ワンタイム永続の2種類があります。リクエストに関連付けられたスポットインスタンスが終了すると、Amazon EC2 は永続スポットインスタンスリクエストを自動的に再送信します。

  • EC2 インスタンスの再調整に関する推奨事項 - Amazon EC2は、インスタンスの再調整に関する推奨事項に関するシグナルを発し、スポットインスタンスにおいて中断のリスクが高まったことをユーザーに通知します。このシグナルにより、スポットインスタンスで中断 2 分前の通知が発信されていなくても、ユーザーは既存の、または新しいスポットインスタンスについて、前もってワークロードを再調整することができます。

  • スポットインスタンスの中断 – Amazon EC2 が容量を戻してもらう必要がある場合、または、スポット料金がお客様のリクエストの上限料金を超えた場合には、Amazon EC2 はスポットインスタンスを終了、停止、または休止状態にします。Amazon EC2 は、スポットインスタンスが中断される 2 分前に、そのインスタンスに対し中断を警告するための通知を送信します。

スポットインスタンス と オンデマンドインスタンス の主な違い

次のテーブルは、スポットインスタンス と オンデマンドインスタンス の主な違いをまとめたものです。

Spot Instances On-Demand Instances

作成時刻

スポットインスタンスリクエストがアクティブであり、利用可能なキャパシティーがある場合に限り即時に起動できます。

手動で起動リクエストを実行し、容量が利用可能である場合に限り、即時に起動できます。

使用可能な容量

利用可能なキャパシティ-がない場合、スポットインスタンスリクエストは、キャパシティ-が利用可能になるまで継続して自動的に起動リクエストを実行します。

起動リクエストを行うときに容量が利用可能でない場合は、容量不足エラー (ICE) が表示されます。

時間料金

スポットインスタンス の時間単位の使用料金は、オンデマンドに応じて異なります。

オンデマンドインスタンス の時間単位の使用料金は固定です。

再調整に関する推奨事項 実行中のスポットインスタンスにおいて中断のリスクが高まった場合に、Amazon EC2 はそのインスタンスに対してシグナルを発します。 お客様は、いつオンデマンドインスタンスが中断 (停止、休止、または終了) されるかを決定します。

インスタンスの中断

ユーザーは、Amazon EBS-backed スポットインスタンスを停止および開始することができます。また、Amazon EC2 スポットサービスは、利用できるキャパシティーがなくなった場合、スポット料金が上限価格を超過した場合、またはスポットインスタンスへの需要が増大した場合に、スポットインスタンスを個別に中断できます。

お客様は、いつオンデマンドインスタンスが中断 (停止、休止、または終了) されるかを決定します。

スポットインスタンス を使用した戦略

アプリケーションのコンピューティングリソースの最低保証レベルを維持する 1 つの戦略としては、オンデマンドインスタンス のコアグループを起動し、必要に応じて スポットインスタンス でコンピューティングリソースを補完します。


					オンデマンドインスタンスと スポットインスタンス の比較

開始方法

最初に必要なことは、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 が実行中のスポットインスタンスを中断した場合、使用しているオペレーティングシステムおよび中断したユーザーに応じて、使用した秒数または時間数の料金が請求されます (料金が発生しない場合もあります)。詳細については、「中断された スポットインスタンス の請求」を参照してください。

料金の表示

AWS リージョンおよびインスタンスタイプごとに、最新の (5 分ごとに更新される) 最低スポット料金を確認するには、Amazon EC2 スポットインスタンスの料金ページを参照してください。

過去 3 か月間のスポット価格の履歴を表示するには、Amazon EC2 コンソールを使用するか、describe-spot-price-history コマンド (AWS CLI) を使用します。詳細については、「スポットインスタンスの料金履歴」を参照してください。

AWS アカウントごとに、個別にアベイラビリティーゾーンがコードにマッピングされます。したがって、アカウント間で同じアベイラビリティーゾーンコード (たとえば、us-west-2a) に対して結果が異なる場合があります。

削減額の表示

スポットインスタンスを 1 つのスポットフリートまたはすべてのスポットインスタンスに対して使用することで得られる節約額を確認できます。過去 1 時間または過去 3 日間の削減状況を表示でき、vCPU 時間あたりの平均コストとメモリ (GiB) 時間あたりの平均コストも確認できます。削減額が予想されますが、使用状況に対する請求の調整が含まれていないため、実際の削減額と異なる場合があります。削減額情報の表示の詳細については、「スポットインスタンス 購入による削減額」を参照してください。

請求書の表示

請求書には、サービスの使用量に関する詳細が記載されています。詳細については、AWS Billing and Cost Management ユーザーガイドの「請求書の表示」を参照してください。