CostExplorer

【AWS】AWSサービスごとの請求額をSlackへ通知する仕組みの構築

どうも、AWS勉強中のとがみんです。

前回の記事でAWSの合計利用金額を集計しSlackへ通知しました。
この記事ではAWSサービスごとの利用金額を取得しSlackへ通知する仕組みをつくっていきます。

今回作成するもの

構成は前回のものとは変わらず、サービス毎に金額を取得し、Slackへ通知されるようにソースコードを修正していき、下記のような通知がSlackに通知されるようにします。

構成は下記記事と同じで、今回はソースコードを追記&改修します。

作業手順概要

  1. 前回作成したソースコードにサービスごとに金額が出力されるコードを追加修正
  2. 動作確認

作業手順詳細

ソースコードの追加修正

ソースコード全体に関しては、下記のGitHubリポジトリの「feature/each_service」に挙げています。

処理をハンドリングする関数

全体の流れとしては、CostExplorerのインスタンス化、対象月の合計を取得する関数の呼び出し、AWSサービス毎の利用金額を取得する関数の呼び出し、合計金額と、サービス毎の利用金額のデータを元に、Slackへ通知するメッセージを作成する関数の呼び出し、作成したメッセージをSlackへ通知する関数の呼び出しを行なっています。

サービス毎の金額を取得する関数

GroupByの項目を活用することで、AWSのサービス毎の金額を取得しています。

Slackへ通知するメッセージの作成

Slackへ通知するメッセージを作成しています。

Slackへ通知する関数の作成

Slackへ通知する関数です。

動作確認

sls deployを実行し、動作を確認します。
トリガーは日曜日の午前8時に設定していたので、その時間に通知が飛ぶことが確認できました。

まとめ

AWSの利用金額の合計と、サービス毎の利用金額の通知がSlackに定期的に届くようになりました。

参考

AWSサービス毎の請求額を毎日Slackに通知してみた