スポットインスタンスを管理する
Amazon EC2 はキャパシティが利用可能であるときにスポットインスタンスを起動します。スポットインスタンスは中断されるか、ユーザーにより終了されるまで実行されます。
スポットインスタンスの検索
スポットインスタンスはオンデマンドインスタンスとともに、コンソールの [インスタンス] ページに表示されます。以下の手順で、スポットインスタンスを検索します。
- Console
-
コンソールを使用してスポットインスタンスを検索するには
-
Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。
-
ナビゲーションペインで、[インスタンス] を選択してください。
-
すべてのスポットインスタンスを検索するには検索ペインで [インスタンスライフサイクル=スポット] を選択してください。
-
インスタンスがスポットインスタンスであることを確認するにはインスタンスを選択し、[詳細] タブを選択し、[ライフサイクル] の値を確認します。スポットインスタンスの値は 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
-
コンソールを使用してリクエストのスポットインスタンスを検索するには
-
Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。
-
ナビゲーションペインで、[Spot Requests] を選択してください。リストにはスポットインスタンスリクエストとスポットフリートリクエストの両方が含まれます。
-
スポットインスタンスリクエストが受理された場合、[キャパシティ] がスポットインスタンスの ID となります。スポットフリートの場合、[容量] はリクエストされた容量のうち受理された量を示します。スポットフリートのインスタンスの ID を表示するには拡張矢印を選択するか、フリートを選択した上で [インスタンス] を選択してください。
-
スポットフリートの場合、[キャパシティ] はリクエストされた容量のうち受理された量を示します。スポットフリート内のインスタンスの 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
-
- AWS CLI
-
AWS CLI を使用してスポットインスタンスを停止するには
スポットインスタンスを手動で停止するにはstop-instances コマンドを使用します。
aws ec2 stop-instances --instance-ids i-1234567890abcdef0
スポットインスタンスを開始する
以前に停止したスポットインスタンスは開始することができます。
前提条件
スポットインスタンスは次の場合にのみ開始できます。
スポットインスタンスを開始する手順はオンデマンドインスタンスを開始する手順と似ています。
- Console
-
- AWS CLI
-
スポットインスタンスを開始するには (AWS CLI)
スポットインスタンスを手動で開始するにはstart-instances コマンドを使用します。
aws ec2 start-instances --instance-ids i-1234567890abcdef0
スポットインスタンスを終了する
永続スポットインスタンスリクエストによって起動された実行中または停止中のスポットインスタンスを終了すると、そのスポットインスタンスリクエストの状態は open
に遷移し、新たなスポットインスタンスを起動できるようになります。新しいスポットインスタンスが起動されないようにするにはまずスポットインスタンスリクエストをキャンセルする必要があります。
スポットインスタンスを実行させている active
スポットインスタンスリクエストをキャンセルしても、実行中のスポットインスタンスは自動的に終了されません。スポットインスタンスは手動で終了する必要があります。
停止中のスポットインスタンスを持つ disabled
スポットインスタンスリクエストをキャンセルした場合、この停止中のスポットインスタンスはAmazon EC2 スポットサービスによって自動的に終了されます。スポットインスタンスリクエストをキャンセルしてから、スポットサービスがスポットインスタンスを終了するまでの間に、短い遅延が生じることがあります。
詳細については「スポットインスタンスリクエストをキャンセルする」を参照してください。
- Console
-
コンソールを使用してスポットインスタンスを手動で終了するには
-
インスタンスを終了する前に、終了時に Amazon EBS ボリュームが削除されることと、必要なデータすべてをインスタンスストアボリュームから永続的ストレージ (Amazon EBS や Amazon S3 など) にコピーしていることを確認して、データが失われないことを確認します。
-
Amazon EC2 コンソール のhttps://console.aws.amazon.com/ec2/ を開いてください。
-
ナビゲーションペインで、[インスタンス] を選択してください。
-
スポットインスタンスを選択してください。スポットインスタンスのインスタンス ID を保存しなかった場合は「スポットインスタンスの検索」を参照してください。
-
[インスタンスの状態]、[インスタンスの終了 (削除)] の順に選択してください。
-
確認を求めるメッセージが表示されたら、[終了 (削除)] を選択してください。
- AWS CLI
-
AWS CLI を使用してスポットインスタンスを手動で終了するには
スポットインスタンスを手動で終了するにはterminate-instances コマンドを使用します。
aws ec2 terminate-instances --instance-ids i-1234567890abcdef0
i-0598c7d356eba48d7