AWS EC2 自動起動設定手順 (EventBridgeスケジューラ設定手順)

EC2 AutoStart - Event Bridge Scheduler

AWS (Amazon Web Services) EC2の料金体系は基本的に従量課金であるため、起動時間に応じて利用料金が増加する。そのため、利用しない時は停止し、利用する時のみ起動することが重要である。
しかし、手動でEC2を起動、停止をすると手間であると共に、起動忘れ、停止忘れなどが発生し、利用したい時に起動していない、利用していない時に停止していない、といったことが起こる。

そこで本ナレッジではEC2の自動起動の手順を説明する。
AWSのEC2を自動起動させる方法としては、EC2の機能として特にそのような機能はないため、AWSのサーバーレススケジューラであるEventBridgeスケジューラを利用して設定、実装する。

また、自動停止手順のナレッジを確認したい場合は以下を参照

Sponsored Links

EventBridgeスケジューラ向けEC2フルアクセス用IAMロール作成

EC2の自動起動はEventBridgeスケジューラを利用して設定、実装するが、まず最初にEventBridgeスケジューラがEC2を操作出来るようにするために必要なEventBridgeスケジューラ向けEC2フルアクセス用IAMロールを作成する。(EC2の自動起動のみであればEC2フルアクセス権は不要のため、適宜必要に応じてアクセス権の範囲は狭めても問題ない)

  • AWSコンソールにIAMユーザにてログイン
  • 画面上部の検索欄にて「ロール」を検索し、「IAMの機能」の「ロール」をクリック
  • IAMのロール画面が表示されるので、画面右上の「ロールを作成」をクリック

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「ロールを作成」画面が表示されるのを確認

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「信頼されたエンティティを選択」画面にて、下記を選択、入力
    • 信頼されたエンティティタイプ
      • カスタム信頼ポリシー
    • カスタム信頼ポリシー
      • EventBridgeスケジューラへ一時的にアクセス権限を渡すための、以下コードを入力

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "scheduler.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

 

  • 画面右下部の「次へ」をクリック

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「許可を追加」画面にて、下記を選択、入力
    • 許可ポリシー
      • AmazonEC2FullAccess
    • 許可の境界を設定 – オプション
      • 特に設定変更しない
  • 画面右下部の「次へ」をクリック

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「名前、確認、および作成」画面にて、下記を選択、入力
    • ロールの詳細
      • ロール名
        • 任意のロール名を入力 (例: EC2FullAccessForEventBridgeSchedulerRole)
      • 説明
        • 任意の説明を入力 (例: 空欄)
    • 信頼ポリシー
      • 前述の設定の通りになっていること確認し、特に設定変更しない
    • 許可ポリシーの概要
      • ポリシー名
        • AmazonEC2FullAccess
      • タイプ
        • AWS 管理
      • 次としてアタッチ:
        • 許可ポリシー
    • タグを追加 – オプション
      • 任意のタグを追加、不要であれば追加しない
  • 画面右下部の「ロールを作成」をクリック

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「IAM」の「ロール」画面に戻り、画面上部にロールが作成された旨のメッセージが表示されることを確認
  • 作成したIAMロールが存在することを確認

 

EC2自動起動用EventBridgeスケジューラの構築

EventBridgeスケジューラ向けEC2フルアクセス用IAMロールを作成後、EC2の自動起動用EventBridgeスケジューラを設定、構築する

  • AWSコンソールにIAMユーザにてログイン
  • 画面上部の検索欄にて「Amazon EventBridge」を検索し、クリック
  • 画面右上部のリージョン欄を確認し、EventBridgeスケジューラを構築したいリージョンを選択する。 (例: 東京)
  • 左メニューから「スケジュール」をクリック
  • 画面中央右の「スケジュールを作成」をクリック

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「スケジュールを作成」画面が表示されるのを確認

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「スケジュールの詳細の指定」画面が表示されるので、下記を選択、入力
    • スケジュール名と説明
      • スケジュール名
        • 任意のスケジュール名を入力
      • 説明 – オプション
        • 任意の説明を入力 (例: 空欄)
      • スケジュールグループ
        • 任意のスケジュールグループ (例: default)
    • スケジュールのパターン
      • 頻度
        • 定期的なスケジュール
      • タイムゾーン
        • (UTC+09:00) Asia/Tokyo
      • スケジュールの種類
        • cronベースのスケジュール
      • cron式
        • 任意の日時 (例: 分 – 0, 時間 – 9, 日付 – ?, 月 – *, 曜日 – MON-FRI, 年 – * (本設定で平日朝9時の設定となる) )
      • フレックスタイムウィンドウ
        • オフ
    • 時間枠 – 夏時間
      • 開始日時 – オプション
        • 空欄
      • 終了日時 – オプション
        • 空欄
  • 画面右下部の「次へ」をクリック

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「ターゲットの選択」画面が表示されるので下記を選択
    • ターゲットの詳細
      • ターゲットAPI
        • すべてのAPI
          • Amazon EC2

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 続けて下記を選択、入力
    • ターゲットの詳細
      • Amazon EC2
        • StartInstances
    • StartInstances
      • 入力
        • 自動起動対象のEC2を指定するための以下コードを入力
          • ※ “i-xxxxxxx”の部分は対象のEC2のインスタンスIDを記載する (インスタンスIDはAWSコンソール上のEC2の「インスタンス」ページにて確認可能)
  • 画面右下部の「次へ」をクリック

{
  "InstanceIds": [
    "i-xxxxxxx"
  ]
}

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「設定」画面が表示されるので、下記を選択、入力
    • スケジュールの状態
      • 有効化
    • スケジュール完了後のアクション
      • 空欄
    • 再試行ポリシーとデッドレターキュー(DLQ)
      • 再試行ポリシー
        • 再試行
          • ON (必要に応じてON、不要であればOFF)
      • イベントの最大経過時間 – オプション
        • hour(s)
          • 任意の日時 (例: 24)
        • minute(s)
          • 任意の日時 (例: 0)
      • 再試行回数 – オプション
        • times
          • 任意の回数 (例: 10)
      • デッドレターキュー (DLQ)
        • なし
    • 暗号化
      • 暗号化設定をカスタマイズする (高度)
        • オフ
    • アクセス許可
      • 実行ロール
        • 既存のロールを使用
      • 既存の役割を選択
        • 前述で作成したEventBridgeスケジューラ向けEC2フルアクセス用IAMロールを設定 (例: EC2FullAccessForEventBridgeSchedulerRole)
  • 画面右下部の「次へ」をクリック

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 「スケジュールの確認と作成」画面が表示されるので、内容が問題ないことを確認
  • 画面右下部の「スケジュールを作成」をクリック

EC2 AutoStart - Event Bridge Scheduler

出典 : AWS Console – Amazon.com

 

  • 構築したEventBridgeスケジューラ画面となり、画面上部にEventBridgeスケジューラが作成された旨のメッセージが表示されることを確認

 

以上がEventBridgeスケジューラによる、AWS EC2 自動起動設定手順である。

また、自動停止手順のナレッジを確認したい場合は以下を参照

Sponsored Links