プロジェクト

全般

プロフィール

EC2起動と停止のタイマー設定手順

EC2の起動と停止をタイマーで自動化する手順
すべてAWSコンソールで作業する

1.許可ポリシーの作成
 IAM→ポリシー→ポリシーの作成
 ポリシーエディタをJSONモードに変更し、下記の内容を貼り付け

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:StartInstances",
        "ec2:StopInstances" 
      ],
      "Resource": "arn:aws:ec2:*:*:instance/*" 
    }
  ]
}

 任意のポリシー名を入力し保存

2.ロールの作成
 IAM→ロールー→ロールを作成
 以下を入力し、次へ
  信頼されたエンティティタイプ:AWSのサービス
  ユースケース:EC2
 許可ポリシーに1で作成したポリシーを選択して、次へ
 任意のロール名を入力
 信頼ポリシーを下記に変更

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

 ロールを作成を押下

3.起動スケジュールの作成
 Amazon EventBridge→スケジュール
 スケジュールを作成
 EC2起動で使用する任意のスケジュール名を入力
 スケジュールのパターンに以下を入力して、次へ
  頻度:定期的なスケジュール
  タイムゾーン:(UTC+09:00) Asia/Tokyo
  スケジュールの種類:cronベースのスケジュール
  cron式:cron式のフォーマットに従い任意の値
  フレックスタイムウィンドウ:任意の値
 ターゲットの詳細に以下を入力して、JSON画面を開く
  ターゲットAPI:すべてのAPI
  すべてのAWSのサービス:Amazon EC2 StartInstances
 JSON画面で以下を入力して、次へ

{
  "InstanceIds": [
    "MyData" ←ここにタイマー設定するインスタンスIDを入力
  ]
}

 設定画面で以下を入力して、次へ
  スケジュールの状態:有効化
  スケジュール完了後のアクション:NONE
  アクセス許可
   実行ロール:既存のロールを使用
   既存の役割を選択:2で作成したロール
 設定内容を確認し、スケジュールを作成

4.停止スケジュールの作成
 手順3を参考に停止用のスケジュールを作成する
 すべてのAWSのサービスは、Amazon EC2 StopInstancesに変更