【EventBridge】EC2インスタンスの自動起動/停止 設定をしたい

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/240822b1-b0d5-9bac-c9bf-33ed6d23bf37.png)


## 本記事で実現できること
EventBridgeでEC2インスタンスの自動起動/停止 設定を行う。

## 前提
- AWSマネコンはログイン済み
- 2024.11.26 時点でのコンソールのUIになります

## 目次
1. 事前準備 IAMのロール、ポリシーを作成する
2. EventBridgeでEC2インスタンスの自動起動/停止 設定を行う

## 解説 -1. 事前準備 IAMのロール、ポリシーを作成する
全部で9フェーズ

①AWSマネジメントコンソールよりIAM 画面にアクセスする。
 左ペインより[**ポリシー**]を選択して、
 右ペインにて[**ポリシーの作成**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/5a7fd649-0040-da05-6eff-32ce654fcfc8.png)


②[アクセス許可を指定]の画面にて、
 [**JSON**]を選択する。
 ポリシーエディタに定義を貼り付ける。
 [**次へ**]をクリックする。

```**貼り付ける定義**
{
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "Test",
			"Effect": "Allow",
			"Action": [
				"ssm:*",
				"ec2:*"
			],
			"Resource": "*"
		}
	]
}
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/06ebaafe-8c5c-068b-668b-903d60a9f824.png)



③ポリシー名に任意の名前を入力して、[**ポリシーの作成**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/72023a9d-dbb8-2f4c-85a4-a7a21f45efaa.png)

④正常にポリシーが作成されたことを確認する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/40b2d3bd-7397-0b8a-cb08-1586eb1ca58a.png)

⑤左ペインより[**ロール**]を選択して、右ペインにて[**ロールを作成**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/7bbabaf4-27ed-c717-4c1e-2707d97e8603.png)


⑥サービスまたはユースケースから[**EC2**]を選択する。
 [**次へ**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/c50f9637-9f82-d731-e516-447a4d9b9a7c.png)


⑦先に作成したポリシーを選択して、 [**次へ**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/f054664d-6741-826b-6235-f3f52f44df0a.png)


⑧ロール名に任意の名前を入力して、[**ロールを作成**]をクリックする。


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/4c48c3bc-9c81-1d7a-fb52-793b08fde690.png)


⑨正常にロールが作成されたことを確認する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/2bd4d177-db8b-9004-44c4-a80d6922c35f.png)


## 解説 -2. EventBridgeでEC2インスタンスの自動起動/停止 設定を行う
全部で7フェーズ

①AWSマネジメントコンソールよりEventBrigde 画面にアクセスする。
 左ペインにて[**ルール**]を選択し、右ペインにて[**ルールを作成**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/c402f060-f3a9-3f32-01e0-8d33cbd01b8e.png)




②名前に任意の名前を入力する。
 [**スケジュール**]を選択して、[**続行してルールを作成する**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/6c6ee457-c32c-d7f4-522a-d653a35b2018.png)


③Cron式にEC2を停止もしくは起動するタイミングを設定する。
　全ての入力が完了すると移行10回のトリガー日が表示されるので、
 　[**ローカルタイムゾーン**]を選択して、想定通りスケジュールされていること
  　を確認して、[**次へ**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/8f3e2201-320c-a2ff-ef40-8a90dce0229a.png)




④ターゲットを選択画面にて下記を設定する。
- [**Systems Manager オートメーション**]を選択する。
- ドキュメントにてEC2停止の場合は[**AWS-StopEC2instance**]を、
  EC2起動の場合は[**AWS-StartEC2instance**]を選択する。
- InstanceIdに停止/起動対象のEC2インスタンスの
  [**インスタンスID**]を入力する。
- [**既存のロールを使用**]を選択して、先に作成したロールを選択する。
- [**次へ**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/aa4dde05-f22b-1a1d-5fdf-76a54f58f472.png)

⑤タグ設定では[**次へ**]をクリックする。(任意でタグを設定)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/840a3407-847b-a28a-9f2a-421ebd683430.png)


⑥設定内容に誤りが無いことを確認して、[**ルールの作成**]をクリックする。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/519f2bd0-d554-0c05-dcfb-188d5b63079a.png)


⑦ルールが正常に作成されたことを確認する。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3754524/a9e588ab-ed09-dca2-dbfe-422e6763438f.png)


## まとめ
本稿が、AmazonEC2-基本操作-起動・停止・接続(Linux Server)を学びたい方の参考になれば嬉しいです。

ITエンジニア向け、AWS資格取得を目指す方向けに個人ブログで記事も投稿していますので、
合わせて読んでもらえると嬉しいです。
[ことなの学校(個人ブログ)](https://kotona-school.com)

更によりレベル感の高そうなAWS関連の発信はZennの方で行います。
こちらももしよければフォロー、ご確認いただけると嬉しいです。
[Zenn個人アカウント](https://zenn.dev/tomo_itbizblog)

Twitterでも役立つ情報を発信しますのでフォローしてもらえると嬉しいです 
→ [@tomo_ITBizBlog](https://twitter.com/tomo_ITBizBlog)