こんにちは、シュガーです。
今回はAWS Lambdaを使ってEC2インスタンスを定時に自動で停止・起動させる方法をご紹介したいと思います。
Lambda関数作成編とCloudWatch Event作成編の2つに分けてご紹介いたします。
【前回記事】AWS LambdaでEC2インスタンスの自動停止・起動(Python) ①Lambda関数作成編
CloudWatch Eventsの設定(停止)
それではCloudWatch Eventの設定を行います。
まずは定時停止のイベントルールを作成します。
左のメニューからイベントを選択し、ルールの作成を選択します。
ステップ1
イベントソースは、「スケジュール」、 「Cron式」の順に選択します。
Cron式の詳しい記載方法は公式ドキュメントを参考にするとよいかと思います。
今回は、月曜~金曜の18:00に自動停止するようにしています。
※タイムゾーンはUTC基準となりますので時差に注意して設定しましょう。
ターゲットは①で作成した停止用のLambda関数を指定します。
ステップ2
ルールの詳細を設定するでは、イベントルールの名前と、説明を登録します。
自分があとから見てわかるにしましょう。説明箇所は日本語で登録することも可能です。
ルールの作成をクリックすれば停止用のイベントルール作成完了です。
CloudWatch Eventsの設定(起動)
続けて定時起動のイベントルールを作成します。
先ほどと異なる箇所は、Cron式の設定と指定するLambda関数です。
こちらは月曜~金曜の09:00に自動起動するように設定しています。
Lambda関数は、同じく①で作成した起動用のLambda関数を指定します。
イベントルール名と説明は起動用とわかるように登録します。
最後に
以上で設定は終了になります。
このようにCloudWatch EventsとLambdaを組み合わせることで、サーバの自動停止起動を行うことができます。
開発環境等で夜間はサーバを利用しないなど、使用しない時間が決まっているのであれば自動化させることで人的なミスとコストの削減を行えるかと思います。
ただし、今回のCron式では祝日などを加味しないため、注意してください。
次回もお楽しみに。