AWS LambdaでEC2インスタンスを自動起動・自動停止する

前回作成したZend Server 8 + ubuntuのインスタンスをLambdaで平日だけ稼働するようにスケジュールしてみました。

こちらの記事がわかりやすかったです。

LambdaとCloudWatch EventsでEC2の自動起動&自動停止をやってみた(Python版)
http://dev.classmethod.jp/cloud/aws/lambda_cloudwatch-events_ec2-star-stop-python/

最初、少し古い記事を読んでしまって、AWS CLIライブラリを含めたデプロイzipを作ってみたりしましたが、2017/04/11現在はAWS SDKがLambdaの実行環境に含まれていて、インスタンスの起動と停止だけなら、トリガーの設定とコードを書くだけでした。

Lambda 実行環境と利用できるライブラリ
http://docs.aws.amazon.com/ja_jp/lambda/latest/dg/current-supported-versions.html

参考にした記事ではトリガーをCloudWatchのダッシュボードから作成していますが、Lambdaからもcronの設定ができるので簡単。

トリガーにCloudWatchイベント・スケジュールを設定し

ルール名lambda-instance-start
スケジュール式cron(0 0 ? * MON-FRI *)
トリガーの有効化ON
平日の朝9時に起動

これでCloudWatch側にルールが作成されます。

停止関数のほうは、こんな感じ。
ルール名lambda-instance-stop
スケジュール式cron(0 14 ? * MON-FRI *)
トリガーの有効化ON
平日の夜11時に停止


コメント
トラックバック
この記事のトラックバックURL