これは
「あ、EC2消し忘れた。。」
「むしろ、ちゃんと止めたことない。。」
「お金が。。」
「高額インスタンスで。。。」
EC2を一定時間でシャットダウンする方法です。
EC2
の ユーザデータ
という機能を使います。
参考
- 起動時に Linux インスタンスでコマンドを実行する - Amazon Elastic Compute Cloud
- 【Ubuntu】シャットダウン、再起動コマンド | PostgresWeb - ポスグレウェブ
作業の流れ
- EC2インスタンスを停止する
- ユーザーデータを設定する
- EC2を起動する
- 仕事する
- 仕事終わる
- EC2の停止を忘れる
- 自動終了する
ユーザーデータを設定する
EC2 コンソールからインスタンスに対して以下の操作をしてください
-
[Actions] (アクション)、[Instance Settings] (インスタンスの設定)、[Edit User Data] (ユーザーデータの編集) の順に選択します。
-
ユーザースクリプトを [Edit user data] (ユーザーデータの編集) ボックスにコピーして、[Save] (保存) を選択します。
ユーザデータに以下を書き込む
Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0
--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"
#cloud-config
cloud_final_modules:
- [scripts-user, always]
--//
Content-Type: text/x-shellscript; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="userdata.txt"
#!/bin/bash
sudo shutdown -h +300 # <- ここに自分の命令を入れておくだけ
--//--
実行結果
起動後3分でシャットダウンを指定した例
起動後、シャットダウン時刻が近づくと、そろそろ落ちるとメッセージが表示されて便利。
キャンセルする場合
もっと仕事頑張りたい時は、再設定ください
# キャンセル
$ shutdown -c
# 再設定
$ sudo shutdown -h +120
終わり