AWS EventBridge SchedulerでEC2を定期的な停止する方法
環境
AWS EventBridge
EC2
東京リージョン
概要
指定時間帯にEC2を停止状態にする
操作方法
1.停止実行用IAMポリシーの作成
1),検索入力欄で「IAM」と入力し、表示されたサービス「IAM」をクリックします。
2).「ポリシー」->「ポリシーを作成」をクリックします。
3).アクセス許可を指定画面が表示されます。
JSONタブを選択します。
ポリシーエディタに以下の内容を記載します
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PolicyForStopEC2Instance", "Effect": "Allow", "Action": "ec2:StopInstances", "Resource": "*" } ] }
「次へ」をクリックします。
4).ポリシー名(例EC2InstanceStopPolicy)を入力し、「ポリシーの作成」をクリックします。
2.停止実行用のIAMロールの作成
EventBridge SchedulerからEC2を操作(停止・起動)するためのIAMロールが必要です。 1),検索入力欄で「IAM」と入力し、表示されたサービス「IAM」をクリックします。 2).「ロール」->「ロールを作成」をクリックします。 3).「信頼されたエンティティを選択」の画面が表示されます。 「カスタム信頼ポリシー」を選択します。
4).以下のポリシーを設定します。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "scheduler.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
「次へ」をクリックします。
4).許可ポリシーに手順1のポリシー「EC2InstanceStopPolicy」を選択します。
5).ロール名を入力し、「ロールを作成」をクリックします。
ロール名: 例EventBridgeSchedulerEC2Stop
3.EventBridge Schedulerの設定
1),検索入力欄で「EventBridge」と入力し、表示されたサービス「Amazon EventBridge」をクリックします。
2).左側に「スケジュールを作成」をクリックします。
3).右側に「スケジュールを作成」をクリックします。
スケジュール名:EC2Stop スケジュールのパターン: 定期的なスケジュール cron式 分: 00 時間: 02 日付: ? 月: * 曜日: MON-FRI 年:* フレックスタイムウィンドウ オフ タイムゾーン : (UTC+09:00)Asia/Tokyo
4).ターゲットの詳細
ターゲットAPIにて「すべてのAPI」を選択し、サービスを検索欄にEC2と入力します。 [Amazon EC2]を選択します。 「StopInstance」を選択します。
5).起動したいEC2のインスタンスIDを指定します
{ "InstanceIds": [ "i-xxx" ] }
「次へ」をクリックします。
6).EC2停止の設定が完了です。