EC2スポットインスタンスで停止と再開ができるようになりました!

EC2スポットインスタンスでオンデマンドインスタンスと同様に停止と再開ができるようになりました! オンデマンデインスタンス同様、ユーザーの好きなタイミングでEC2スポットインスタンスの停止ができるようになっています。
2020.01.14

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

EC2スポットインスタンスでオンデマンドインスタンスと同様に停止と再開ができるようになりました!

今までスポットインスタンスの停止は、価格高騰時にAWS側から強制的に停止させられた時のみ可能でした。

これが、オンデマンデインスタンス同様、ユーザーの好きなタイミングでEC2スポットインスタンスの停止ができるようになりました。

試してみた

スポットインスタンスを起動するために、適当にEC2インスタンスを作成します。

インスタンスの詳細を設定する画面の購入オプションで、スポットインスタンスのリクエストをします。

今回はインスタンスタイプにt3a.nanoを選択したので、最高価格をt3a.nanoのオンデマンド価格にして、オンデマンドより安く利用できるように設定しています。
スポットインスタンスの停止は永続的なスポットリクエストでのみ利用できる機能ですので、永続的リクエストにもチェックを入れます。
残りの項目は適当に設定してインスタンスを起動します。

インスタンスの起動ができたら、パブリックIP宛へSSHで接続してみます。

SSHで接続できたら、スポットインスタンスの停止と再開ができることを確認するため、適当なファイルを作っておきます。

$ touch hello_world.txt
$ ls -l
合計 0
-rw-rw-r-- 1 ec2-user ec2-user 0  1月 14 01:51 hello_world.txt

EC2スポットインスタンスを停止してみる

オンデマンドインスタンスと同様に、マネジメントコンソールから普通に停止の操作ができます。

スポットインスタンスを停止すると、スポットリクエストは marked-for-stop 状態になります。

EC2スポットインスタンスを再開してみる

オンデマンドインスタンスと同様に、マネジメントコンソールから普通に開始の操作ができます。

スポットインスタンスを開始すると、スポットリクエストは fullfilled 状態になります。

インスタンスの起動ができたらSSH接続してみて、さきほど作成したファイルが残っていることを確かめることで、停止したインスタンスが再開できていることを確認してみます。

$ ls -l
合計 0
-rw-rw-r-- 1 ec2-user ec2-user 0  1月 14 01:51 hello_world.txt

スポットインスタンスの再開ができていることが確認できました!

終わりに

スポットインスタンスの停止と再開ができるようになったことで、検証用にEC2をちょっと立てて置いておきたいなんて用途にもすごく使いやすくなったと思います。

EC2のコスト削減にスポットインスタンスの活用をぜひご検討ください。