LoginSignup
5
5

AWS EC2 自動化 自動起動・自動停止を設定してみよう

Last updated at Posted at 2022-05-12

はじめに

今回は特定のEC2インスタンスに対して、毎日決まった時間帯のみ自動起動するという設定していきたいと思います。

なんでそんな事をするのか?その理由としては、

・EC2インスタンスは起動している時間の分だけ料金が発生するので、誰も使用しない時間の起動はもったいない…!
・手動の運用だとうっかり停止を忘れてしまったり、誤った操作をしてしまうことも…!

などがあり、改善していきたいという要望から今回の設定をしていきます!

※本記事は2022年5月時点のAWS画面となります。


手順

① IAMロールの作成
② Amazon EventBridge イベントルール作成(自動起動)
③ Amazon EventBridge イベントルールを作成(自動停止)


やってみよう

① IAMロールの作成

IAM画面より、ロール→ロールを作成
image.png

AWSのサービス→CloudWatch Events→次へ
image.png

以下、許可ポリシーが追加されていることを確認→次へ
・CloudWatchEventsBuiltInTargetExecutionAccess
・CloudWatchEventsInvocationAccess
image.png

ロール名を入力
(今回は「auto_ec2startstop_role」と命名しております。)
image.png

ロールを作成
(今回はタグ追加や許可追加してません。)
※ここでポリシー「AmazonSSMAutomationRole」を追加すべきですが、慣れていない方がポリシーを後から付与する手順を学べるように意図的に分けており、後の手順で付与する流れにしております。
image.png

ロールが作成された事を確認
image.png

作成したロール「auto_ec2startstop_role」を選択
image.png

「AmazonSSMAutomationRole」を選択→ポリシーをアタッチ
image.png

今回はAWS管理ポリシーの「AmazonSSMAutomationRole」のみを付与するため、それ以外のポリシーは削除
image.png

画面のような状態になっていることを確認
【許可タブ】
image.png

【信頼関係】
信頼されたエンティティ

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

② Amazon EventBridge イベントのルールを作成(自動起動)

Amazon EventBridgeより、ルール→ルールの作成
image.png

必要事項を記載→スケジュール→次へ
image.png

特定の時刻→Cron式に時間を設定
(今回は毎日12:00にEC2インスタンスを起動するようを設定しております。)
参考公式ドキュメント:ルールのスケジュール式
image.png

AWSサービス→System Managerオートメーション→AWS-StartEC2Instance
image.png

定数→InstanceId記載(該当のEC2画面参照)→既存のロールを使用→auto_ec2startstop_roleを選択(①で作成)
image.png

次へ
(追加設定画面では有効期間や再試行回数などが設定出来ますが、今回は設定しません。)
image.png

次へ
image.png

内容を確認→ルールの作成
image.png

ルールが作成されたことを確認
image.png

③ Amazon EventBridge イベントのルールを作成(自動停止)

※②と手順はほとんど同じです。

Amazon EventBridgeより、ルール→ルールの作成
image.png

必要事項を記載→スケジュール→次へ
image.png

特定の時刻→Cron式に時間を設定
(今回は毎日19:00にEC2インスタンスを停止するようを設定しております。)
image.png

AWSサービス→System Managerオートメーション→AWS-StopEC2Instance→その他②を参考に記載→次へ
※②では「AWS-StartEC2Instance」であったが、今回は停止なので「AWS-StopEC2Instance」を選択する
image.png

次へ
image.png

内容を確認→ルールの作成
image.png

ルールが作成されたことを確認
image.png


さいごに

本手順では触れていませんが、起動と停止確認についてはCloudTrailのイベント履歴を見ることが出来ますので、是非実施した際には確認してみてください!

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5