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に変更