前回作成した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時に停止


コメント