Golangを勉強しているので、AWSの請求情報をSlackに通知するLambda関数をGolangで書いてみた。
事前準備
- SlackのIncoming WebHookのURL生成
- AWS SAM CLIのインストール
- Golangのインストール
コード
d-shimizu/NotifyAwsBillingToSlack に置いた。
コメントやインデントが整ってなかったりと些末なところでもなかなか汚いので追って直す。
SlackのIncoming WebHookのURLはパラメータストアのものを取得して呼び出すようにしているので、Incoming WebHookのURLを事前にパラメータストアへの登録しておく必要がある。
template.yamlには既存のAPI Gatewayの設定を削除して、IAMポリシーでssm:GetParameterの権限付与、Cloudwatch Eventsで所定の時間(ここでは9時)に実行されるような設定を追加する。
月額の料金に加えて、サービスごとの料金も通知するようにしている。
あとはデプロイすれば動くはず。
まとめ
Golangを勉強の一貫で、AWSの請求情報をSlackに通知するLambda関数をGolangで書いてみた。
構造体とポインタはまだ難しく感じる。