awsの料金が気になり始めたので、通知をするようにしてみました。
awsの機能でまずできるところまでやってみます。
Aws Chatbotまでの設定
aws Chatbotを利用して通知を実現しているみたいです。chatbotがAmazon Snsを利用しているためAmazon Snsの設定から行なっていきます。
今回はslackへの通知を試しますが、slackはすでに使える状態を想定しています。
Amazon Snsのトピック作成。「Simple Notification Service」へ移動。
トピックの設定内容は「スタンダード」。chatbotの設定時かbillingの通知でエラーになるためスタンダードにします。名前はわかりやすい名前を指定します。
作成完了です。
次にAWS Chatbotを作成。AWS Chatbotのサービスへ移動。
送信するslackのスペースを入力。
chatbotの設定を入力。
通知は作成したSNSトピックを設定します。
chatbotまでの設定は完了です。
予算の通知設定
今回はIAMユーザーで設定していますが、請求情報が閲覧できる人なら設定可能だと思います。
通知先の設定周りがややこしかったので、細かく説明を書いてみます。
Billingの画面へ遷移。
Budgetsへ遷移。予算作成。
予算作成の設定内容
閾値の設定。
通知を設定。(※ここからちょっと面倒でした)
作成したトピックのアクセスポリシーを編集するためsns画面へ移動して編集画面へ遷移。
アクセスポリシーを開き、Statementの配列に追加をします。Resource部分は最初に設定されている__default_statement_ID側と同じ値を設定。
{ "Version": "2008-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "AWSBudgets-notification-1", "Effect": "Allow", "Principal": { "Service": "budgets.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:ap-northeast-1:********:chatbot-billing" }, { "Sid": "__default_statement_ID", "Effect": "Allow", "Principal": { "AWS": "*" }, ~~~~~~~~
編集した内容を登録し、SNSのARNをコピー。
コピーした内容をBillingの通知内容のAmazon SNSの部分に入力。
エラーがなければ設定について問題なし。作成を行います。
完了です。
slackでの表示
出来ました。
Amazon Chime
調べている中でAmazon Chimeの機能を初めて知りました。awsのチャットサービスですね。
正直使用料がかかるため使うことはなさそうな気がしてます。slack, chatwork, discordが無料で使えるうちは使わないかな。
awsを使えば連携が簡単になりそうだけど、チャットツールの外部連携機能やwebhookがあるからやり方次第で連携が簡単だからしょうがないと思います。
雑記
昔はcronとかhubotとか利用して、apiを駆使した仕組みで通知を作った気がします。サーバーを用意したくないので、ありがたい仕組みです。
とりあえずいろんなサービスを使ってみたいので、マニュアル通りにやってみましたがlambdaを利用して細かいデータが送信されるほうがありがたいのでやり方を変えて運用すると思います。
やっぱりチャットツールの便利さは偉大ですなー