LoginSignup
134
104

More than 3 years have passed since last update.

AWSの請求情報を毎日Slackに投稿してコスト意識を高めることにした

Last updated at Posted at 2020-05-17

コードの置き場所

以下に置いているので好きに使ってください。Serverless FrameworkとPythonコード合わせて150行も無いので読めば分かると思います。

https://github.com/shogomuranushi/aws-billing-police

何ができるのか

こんな風に費用が発生しているAWSサービスが列挙されて毎日通知されます。

image.png

なぜ作ったのか

コロナの影響もあって今後どうなるか分からないですよね。コスト意識は少しでも改善したいいところ。
で、予実管理はしてるけど月単位なのでスパンが長いので、毎日なら検知もしやすく何にいくらかかってるかもすぐにわかるようになるので、毎日通知する君を作りました。

使い方

GitHubのREADMEにも書いていますが、

  1. SlackのWebhook URLを取得します。

    1. こちらのURLを参考に取得してください。 -> Slack での Incoming Webhook の利用
  2. AWSのパラメータストアにWebhookのURLを入れます。

    bash
    aws 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"
    
  3. envディレクトリの中身を書き換えます。投稿先のSlack ChannelとAWSのアカウント名(表示用)を設定します。

    vim ./env/dev.yaml
    
  4. デプロイします。裏ではServerless FrameworkでLambdaとCloudWatch Eventがデプロイされます。

    bash
    make dev
    

注意事項

  • 前日と言ってもAWS側で集計に少し時間を要するために2日前のAWS利用量を出力しています。
  • ドルから日本円に変換しています。固定で110円にしています。
  • 0円のものも投稿されるので邪魔なので2円以上のサービスのみ表示されるようになっています。この辺りはコード内をお好きに弄りください。
  • 投稿内容の文字列を変更したい場合はこちらを修正ください
  • Slackへの投稿時間を変更したい方はこちらを変更ください。なお、GMTになりますので注意ください。
  • コストエクスプローラーAPIのエンドポイントはバージニアになるためバージニアでデプロイしています
134
104
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
134
104