cronで時間指定してec2インスタンスを自動起動・停止する

cronとは

時間とその時間に実行したいプログラムを指定しておけば、 設定した時間にそのプログラムが実行される

cronコマンド

// cronに設定されているものを確認
crontab -l

// cronの設定を編集
crontab -e

// cronを削除(まるっと消える)
crontab -r

時間指定の書式

// 分・時・日・月・曜日
* * * * * {command}

その他諸々の書き方:https://www.server-memo.net/tips/crontab.html

ec2インスタンス起動・停止

// 起動
aws ec2 start-instances  --region=ap-northeast-1 --instance-ids=i-XXXXXXXX

// 停止
aws ec2 stop-instances  --region=ap-northeast-1 --instance-ids=i-XXXXXXXX

まとめると

// 毎朝9時に起動して
0 9 * * * aws ec2 start-instances  --region=ap-northeast-1 --instance-ids=i-XXXXXXXX

// 毎晩22時に停止する
0 22 * * * aws ec2 stop-instances  --region=ap-northeast-1 --instance-ids=i-XXXXXXXX