見出し画像

AWSのコストをlineに通知

表題の通り、AWSのコストをlineに通知するようにしました。
最近AWSを触り始めましたが、やはりコストが気になります。
事前に調べても、CloudWatchでアラートが出るように設定していても、何となく不安です。
なので、頻繁にAWSにログインしてコストを確認してログアウトする、みたいなことをしていました。
そこで、毎日ラインでコストを通知させようと思いました。

構成図

こんな感じです。
ggると、SAMを利用しているものが多いですかね。
方法は色々あるとは思います。以下の構成で解説しているところは無いかも?

AWSのコストを毎日lineで通知する図

補足

Secrets Managerでは、lineのアクセストークンを管理しています。
ローテーションするわけでもないので、もっと楽な方法もありますが、AWSのサービスを触ってみるというのが趣旨でもあるので、盛り込めるサービスは盛り込んでいます。

line通知

こんな感じで届きます。
EventBridgeのスケジューラにて、11:00からフレックスタイムウィンドウを15分に設定しています。
毎日きっかり11:08です。タスクの数が増えたりすると、いい感じに分散してくれるんでしょうか。
大して利用していないため、この通知をするための料金が表示されている状況です(Route53だけが、この通知に関係なくかかる料金です)
今回は他の記事を見ずに作る縛りを課していたため、「LINE Notify」というものの存在に気づけませんでした。(こちらのほうが簡単そう)
今回は、公式アカウントを作成しました。通知先を自分のlineのidとしました。

line通知

今後

この構成では、AWS上はコスト情報を保存していません。
前日と比べてどうか?というのもline通知できると良いかなと思いました。
昨日分を取得すれば良いことではありますが、Cost ExplorerのAPIを1回コールするごとに0.01USDかかります。
調べてみると、DynamoDBが25GBまで無料で利用できるようなので、後々改めて取るよりは、ここに貯めておくほうが安く済みます(ということにしておく)。
S3にJSONとか、sqliteとかで保存しても良いのかもしれませんが、数円とはいえお金がかかるのと、AWSのお勉強という趣旨からは外れるので、ナシと判断しました。
(結局はDynamoDBも触っておきたいだけです)

感想

今回触ったサービスは、いずれも割と簡単に設定できるものばかりなので、入門に丁度良かったです。
それに、毎日コストを確認できるのは精神衛生上とても良いです。
AWS入門の第一歩にちょうど良いコンテンツな気がします。(これから色々触る上で、コストを知るのも大事)
今回は、他の方の記事は見ずに、独自に、独力で作るという縛りも課していました。公式ドキュメントおんりーです。といっても、AWS SDKのドキュメントは非常に分かりやすいです。サンプルコードもあるので。
実際の設定方法やLambdaで使用しているコードとか、技術的なことはQiitaにでも書こうと思います。
次は何を作ろうかな~


この記事が参加している募集

お金について考える

この記事が気に入ったらサポートをしてみませんか?