コードの置き場所
以下に置いているので好きに使ってください。Serverless FrameworkとPythonコード合わせて150行も無いので読めば分かると思います。
https://github.com/shogomuranushi/aws-billing-police
何ができるのか
こんな風に費用が発生しているAWSサービスが列挙されて毎日通知されます。
なぜ作ったのか
コロナの影響もあって今後どうなるか分からないですよね。コスト意識は少しでも改善したいいところ。
で、予実管理はしてるけど月単位なのでスパンが長いので、毎日なら検知もしやすく何にいくらかかってるかもすぐにわかるようになるので、毎日通知する君を作りました。
使い方
GitHubのREADMEにも書いていますが、
-
SlackのWebhook URLを取得します。
2. こちらのURLを参考に取得してください。 -> Slack での Incoming Webhook の利用
-
AWSのパラメータストアにWebhookのURLを入れます。
bashaws ssm put-parameter --region us-east-1 \ --name "SLACK_WEBHOOK_URL" \ --description "Slack Webhook URL" \ --type "String" \ --value "https://hooks.slack.com/services/xxxxx/xxxxx/xxxxx"
-
envディレクトリの中身を書き換えます。投稿先のSlack ChannelとAWSのアカウント名(表示用)を設定します。
vim ./env/dev.yaml
-
デプロイします。裏ではServerless FrameworkでLambdaとCloudWatch Eventがデプロイされます。
bashmake dev
注意事項
- 前日と言ってもAWS側で集計に少し時間を要するために2日前のAWS利用量を出力しています。
- ドルから日本円に変換しています。固定で110円にしています。
- 0円のものも投稿されるので邪魔なので2円以上のサービスのみ表示されるようになっています。この辺りはコード内をお好きに弄りください。
- 投稿内容の文字列を変更したい場合はこちらを修正ください
- Slackへの投稿時間を変更したい方はこちらを変更ください。なお、GMTになりますので注意ください。
- コストエクスプローラーAPIのエンドポイントはバージニアになるためバージニアでデプロイしています