EC2 自動起動停止
概要
- EC2のインスタンスをcronで自動で起動、停止するように設定する。
- 備忘録としてAWSのコンソールの新UIで設定する方法を残すもの。
- EC2のインスタンスを必要ないときに停止して節約する。
前提
- EC2インスタンスを起動できる。
手順
-
IAMでSystems Managerを操作できるサービスロールを作成する。 -
Amazon EventBridgeでEC2を自動起動するように設定する。 -
Amazon EventBridgeでEC2を自動停止するように設定する。
IAMでSystems Managerを操作できるサービスロールを作成する。
-
①のプルダウンを押し、
Systems Managerを検索ボックスに入れ検索する。
②のチェックボックスを選択して、次へを押す

-
①の検索ボックスに
AmazonSSMAutomationRoleを入れてEnterを押して絞り込む。
絞り込んだら、②の部分のチェックボックスを押す。
③を押して次へを押す。

-
①の部分にわかりやすいロール名を入れる。(例:ssm-automation-role など)
その後、右下のロール作成ボタンを押す。

-
ロール一覧から作成したロールの名前を押し、詳細画面へ移動する。
詳細から①の信頼関係のタブを押し、②の信頼ポリシーを編集を押して編集する。

-
①の部分を
ssm.amazonaws.comをevents.amazonaws.comに変更する。
変更後②のポリシー更新を押して更新する。

Amazon EventBridge でEC2を自動起動するように設定する。
-
①にわかりやすい名前を付ける。
②にわかりやすい説明を入れる。
③の部分のチェックボックスを押し、ルールタイプをスケジュールにする。
④を押し、次へ。
- ①の部分にcronの形式で自動で起動する日時を設定する。※UTCで設定なので、日本時間から-9時間で設定する(例: 平日の10時に起動する)
②の部分を押し、次へ。
- ①のプルダウンの検索ボックスに
System Manager オートメーションを入れ、System Manager オートメーションを選択する。
②のプルダウンの検索ボックスにAWS-StartEC2Instanceを入れ、AWS-StartEC2Instanceを選択する。
③のテキストボックスに自動起動したいEC2のインスタンスIDを入れる。
④のラジオボタンを押し、⑤のプルダウンから前手順で設定したサービスロールを選択する。(今回の場合はssm-automation-role)
⑥を押し、次へ。
- タグ設定は特にせずに、
次へを押し、次の画面の右下のルールを作成を押す。
Amazon EventBridge でEC2を自動停止するように設定する。
- 「
Amazon EventBridgeでEC2を自動起動するように設定する。」で行った手順とほぼ同じ。 - 「
Amazon EventBridgeでEC2を自動起動するように設定する。」の4の②の部分をAWS-StopEC2Instanceにする。 - その後の手順も同じ。
あとがき
- クラウド系のUIはコロコロ変わるので、CLIのやり方についても調べて時間があったらこのページへ追記しようと思う。
参考サイト




