はじめに
Amazon Kendraの勉強をした後に作成したリソースを消し忘れており、$262.12
(=42,169.21 円 2024/6/29時点)の請求が来てしまいました。
私がこまめにコストの方を確認していなかったのが悪いのですが、請求アラートの設定もできていなかったため今回請求アラートの設定を行いました。
またこの際に、勉強も兼ねて自分が使っているSNS(LINE、Discord)にAWSのコスト情報を通知する仕組みも実装してみました。
本記事はこれらの内容をまとめたものになります。
請求アラートの設定
AWS Billing から請求アラートをドキュメント記載の手順通り設定(AWS Billing > 請求設定 > アラート設定)するだけです。
LINEとDiscordへの通知構成
構成としては以下のようになります。
・スマホのイラスト:https://www.irasutoya.com/2014/07/blog-post_63.html
◆EventBridge
EventBridgeのスケジューラを使ってLambdaを定期的に実行しています。
◆Cost Explorer
コストを取得しています。
◆Lambda
Cost ExplorerのAPI呼び出して、コストを取得しています。
その後通知メッセージを作成した後に、LINE NotifyとDiscordにPOSTリクエストを送り、それぞれ通知を送っています。
Discordへの通知はGASを使用した下記の記事が参考になると思います。
今回は記事に記載されている処理をJavaScript⇒Pythonで焼き直してDiscordへ通知を出しています。
個人的詰まりポイント
Lambdaを実行する際に使用した requests
モジュールは標準モジュールではないのでLayerに追加して実行しました。詳細は下記の記事にまとめています。
動作確認
LINEとDiscordでそれぞれ通知を確認すると、下記のようにそれぞれメッセージを表示できていました。
LINE
Discord
終わりに
請求アラートのメール通知、LINE通知、Discord通知の3つがあれば、定期的にコスト状況を把握しやすくなり以前よりかなりマシになったと思います。
リソースを切り忘れて課金されているものがあっても、各種サービスごとにコストを表示しているのでそこも気づけそうです。
参考