スポットインスタンスを管理する - Amazon Elastic Compute Cloud

スポットインスタンスを管理する

Amazon EC2 はキャパシティが利用可能であるときにスポットインスタンスを起動します。スポットインスタンスは中断されるか、ユーザーにより終了されるまで実行されます。

スポットインスタンスの検索

スポットインスタンスはオンデマンドインスタンスとともに、コンソールの [インスタンス] ページに表示されます。以下の手順で、スポットインスタンスを検索します。

Console
コンソールを使用してスポットインスタンスを検索するには
  1. Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[インスタンス] を選択してください。

  3. すべてのスポットインスタンスを検索するには検索ペインで [インスタンスライフサイクル=スポット] を選択してください。

  4. インスタンスがスポットインスタンスであることを確認するにはインスタンスを選択し、[詳細] タブを選択し、[ライフサイクル] の値を確認します。スポットインスタンスの値は spot で、オンデマンドインスタンスの値は normal です。

AWS CLI
AWS CLI を使用してスポットインスタンスを検索するには

describe-instances コマンドを --filters オプションで使用します。

aws ec2 describe-instances \ --filters "Name=instance-lifecycle,Values=spot"
インスタンスがスポットインスタンスであるかどうかを確認するには

describe-instances コマンドを使用し、--query オプションを使用してライフサイクル値を確認します。

aws ec2 describe-instances \ --instance-ids i-0123a456700123456 \ --query "Reservations[*].Instances[*].InstanceLifecycle" \ --output text

出力が spot の場合、そのインスタンスはスポットインスタンスです。何も出力されない場合、インスタンスはオンデマンドインスタンスです。

次の手順に従って、特定のスポットインスタンスまたはスポットフリートリクエストから起動されたスポットインスタンスを検索します。

Console
コンソールを使用してリクエストのスポットインスタンスを検索するには
  1. Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[Spot Requests] を選択してください。リストにはスポットインスタンスリクエストとスポットフリートリクエストの両方が含まれます。

  3. スポットインスタンスリクエストが受理された場合、[キャパシティ] がスポットインスタンスの ID となります。スポットフリートの場合、[容量] はリクエストされた容量のうち受理された量を示します。スポットフリートのインスタンスの ID を表示するには拡張矢印を選択するか、フリートを選択した上で [インスタンス] を選択してください。

  4. スポットフリートの場合、[キャパシティ] はリクエストされた容量のうち受理された量を示します。スポットフリート内のインスタンスの ID を表示するにはフリート ID を選択して詳細ページを開き、[インスタンス] ペインを見つけます。

AWS CLI
AWS CLI を使用してリクエストのスポットインスタンスを検索するには

--query オプションを指定して describe-spot-instance-requests コマンドを使用します。

aws ec2 describe-spot-instance-requests \ --query "SpotInstanceRequests[*].{ID:InstanceId}"

出力例を次に示します。

[ { "ID": "i-1234567890abcdef0" }, { "ID": "i-0598c7d356eba48d7" } ]

スポットインスタンスを停止する

今すぐスポットインスタンスは必要ないが、Amazon EBS ボリューム内に保持されているデータを失わずに後で再起動する必要がある場合はそれらを停止できます。スポットインスタンスを停止する手順はオンデマンドインスタンスを停止する手順と似ています。

注記

スポットインスタンスが停止している間、そのインスタンスの属性の一部は変更可能ですが、インスタンスタイプを変更することはできません。

停止しているスポットインスタンスの使用料またはデータ転送料は課金されませんが、Amazon EBS ボリュームのストレージに対しては課金されます。

制限
  • スポットインスタンスを停止できるのはそのインスタンスが、persistent なスポットインスタンスリクエストから起動された場合だけです。

  • 関連するスポットインスタンスリクエストがキャンセルされている場合はスポットインスタンス を停止することはできません。スポットインスタンスリクエストがキャンセルされた場合はスポットインスタンスを終了することのみ可能です。

  • フリート、起動グループ、またはアベイラビリティーゾーングループの一部であるスポットインスタンスは停止できません。

Console
コンソールを使用してスポットインスタンスを停止するには
  1. Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[インスタンス] を選択してください。

  3. スポットインスタンスを選択してください。スポットインスタンスのインスタンス ID を保存しなかった場合は「スポットインスタンスの検索」を参照してください。

  4. [Instance state (インスタンスの状態)]、[Stop instance (インスタンスの停止)] の順に選択してください。

  5. 確認を求められたら、[Stop] を選択してください。

AWS CLI
AWS CLI を使用してスポットインスタンスを停止するには

スポットインスタンスを手動で停止するにはstop-instances コマンドを使用します。

aws ec2 stop-instances --instance-ids i-1234567890abcdef0

スポットインスタンスを開始する

以前に停止したスポットインスタンスは開始することができます。

前提条件

スポットインスタンスは次の場合にのみ開始できます。

  • スポットインスタンスを手動で停止している。

  • スポットインスタンスが EBS Backed インスタンスである。

  • スポットインスタンスに使用可能な容量がある。

  • スポット料金が上限価格より低くなっている。

制限
  • フリート、起動グループ、またはアベイラビリティーゾーングループの一部であるスポットインスタンスを開始することはできません。

スポットインスタンスを開始する手順はオンデマンドインスタンスを開始する手順と似ています。

Console
コンソールを使用してスポットインスタンスを開始するには
  1. Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[インスタンス] を選択してください。

  3. スポットインスタンスを選択してください。スポットインスタンスのインスタンス ID を保存しなかった場合は「スポットインスタンスの検索」を参照してください。

  4. [Instance state (インスタンスの状態)]、[Start instance (インスタンスの開始)] の順に選択してください。

AWS CLI
スポットインスタンスを開始するには (AWS CLI)

スポットインスタンスを手動で開始するにはstart-instances コマンドを使用します。

aws ec2 start-instances --instance-ids i-1234567890abcdef0

スポットインスタンスを終了する

永続スポットインスタンスリクエストによって起動された実行中または停止中のスポットインスタンスを終了すると、そのスポットインスタンスリクエストの状態は open に遷移し、新たなスポットインスタンスを起動できるようになります。新しいスポットインスタンスが起動されないようにするにはまずスポットインスタンスリクエストをキャンセルする必要があります。

スポットインスタンスを実行させている active スポットインスタンスリクエストをキャンセルしても、実行中のスポットインスタンスは自動的に終了されません。スポットインスタンスは手動で終了する必要があります。

停止中のスポットインスタンスを持つ disabled スポットインスタンスリクエストをキャンセルした場合、この停止中のスポットインスタンスはAmazon EC2 スポットサービスによって自動的に終了されます。スポットインスタンスリクエストをキャンセルしてから、スポットサービスがスポットインスタンスを終了するまでの間に、短い遅延が生じることがあります。

詳細については「スポットインスタンスリクエストをキャンセルする」を参照してください。

Console
コンソールを使用してスポットインスタンスを手動で終了するには
  1. インスタンスを終了する前に、終了時に Amazon EBS ボリュームが削除されることと、必要なデータすべてをインスタンスストアボリュームから永続的ストレージ (Amazon EBS や Amazon S3 など) にコピーしていることを確認して、データが失われないことを確認します。

  2. Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。

  3. ナビゲーションペインで、[インスタンス] を選択してください。

  4. スポットインスタンスを選択してください。スポットインスタンスのインスタンス ID を保存しなかった場合は「スポットインスタンスの検索」を参照してください。

  5. [インスタンスの状態][インスタンスの終了 (削除)] の順に選択してください。

  6. 確認を求めるメッセージが表示されたら、[終了 (削除)] を選択してください。

AWS CLI
AWS CLI を使用してスポットインスタンスを手動で終了するには

スポットインスタンスを手動で終了するにはterminate-instances コマンドを使用します。

aws ec2 terminate-instances --instance-ids i-1234567890abcdef0 i-0598c7d356eba48d7