5分でできる♪ AWS Lambda で EC2 Event を Slack 通知
以前 AWS EC2 メンテ通知のイベントチェックスクリプトを作成しました。
合わせて、対象インスタンスを停止・起動する様にしました。
これを AWS Lamda で Slack 通知させる様にし
毎朝メンテの必要なイベントがわかる様にしました。
事前準備
1 | $ pip install lambda-uploader awscli |
プロジェクト clone
1 | macOS%$ git clone https://github.com/kenzo0107/AWSEC2Events2Slack |
各種環境に合わせて情報編集
- lambda.json
1 | { |
Item | Explain |
---|---|
role | EC2リソースをdescribeする権限を所持したポリシーをアタッチ |
variables | 通知先Slack情報 |
AWS Lambda へソースアップロード
1 | macOS%$ lambda-uploader --profile <profile> |
AWSコンソールより Lambda 確認
登録されていることがわかります。
テスト実行
イベントを取得しSlackに通知させる様にすることができました。
トリガー設定
CloudWatch スケジュール式で cron 設定し 毎朝届ける様に指定しました。
総評
lambda-uploader でのアップロードにより
ローカルで開発→テスト→デプロイ
とバージョン管理が明確になって良いです。
但し、一点気になる点はアップロード後、ソースがコンソール上で見えません。
具体的には
Lambda 関数 「AWSEvent2Slack」のデプロイパッケージが大きすぎて、インラインコード編集を有効にできません。ただし、関数を今すぐ呼び出すことはできます。
とコンソール上に表示されます。
前まで zip にまとめてアップロードするシェルを書いていたけど
その時はソースは見ることができました。
ローカルで挙動確認しておりコンソール上では見えなくても今のところ支障なしです。
以上
参考になれば何よりです。
5分でできる♪ AWS Lambda で EC2 Event を Slack 通知
https://kenzo0107.github.io/2017/07/17/2017-07-18-notify-to-slack-about-ec2-events-by-lambda/