AWS
timezone
lambda

AWSのLambdaのタイムゾーンをUTCからJST(東京)に変更

今回のお題

CloudWatchで定期的にLambdaを実行して、Slackにメッセージを送信する
こちらで、LambdaでSlack送信をしたんですが、その際にdatetime.now()を使用して、現在時間をメッセージに送信するLambda関数を作って見ました。
しかし、表示される時間がUTC基準でして、9時間前の時間が表示されたので、これをどうにかしないとなと思いました。

方法

Lambdaも実際はAmazon Linuxでの実行であるならば、確か環境変数にタイムゾーンなかったっけ?と思い、Linuxの環境変数についてグーグル検索。
検索ワード:[Linux タイムゾーン 環境変数]
はい、でました。こちらを参考にしました。
【設定確認から変更方法まで】Linuxでのタイムゾーンの扱い方
TZに対して、Asia/Tokyoを設定すればいいようですね。
なので、
スクリーンショット 2017-11-17 0.18.34.png

これでいけるのではないでしょうか?
Lambdaの実行処理は、上記の記事のままです。
早速テスト実行しました。

大成功です

スクリーンショット 2017-11-17 0.19.55.png
Slackに出ている時間と、メッセージで出ている時間が一致してますね。
これでLambdaの時間処理は問題なさそうです。

次は、CloudWatchのタイムゾーン変更について調べます...