AWSのコストをSlackに連携する方法【AWS】

・SLackにコストを連携したい。
・AWS Budgetsを使ってみたい。
・AWS Chatbotを使ってみたい。
先月AWSで遊んでいたら、月額のコストが合計60,000円ほどかかってしましました…。
運用していく上で、コスト管理は非常に重要なので、AWS Budgetsを使用して、予算が一定ラインを超えたらslackに通知がいくように設定したいと思います。
今回作成する。全体の構成・サービスとしては、下記の通りです。

SNSトピックの作成
AWSマネジメントコンソールにログインし、上部検索ペインから「SNS」と入力し、SNSのダッシュボードに移動。
下記のような画面になると思うので「トピックの作成」をクリック・

下記のように設定してください。
タイプはスタンダードで、名前、表示名を任意で設定してください。

「正常に作成されました。」と表示されたら作成完了です。
ARNより下の数字(下記の図では赤く塗りつぶされているところ)をメモしてください
ARNをメモしたら編集をクリック

アクセスポリシー – オプションより「statement」に以下の文を追記してください。
追記が完了したら、下にスクロールして「変更の保存」をクリック
{
"Sid": "AWSBudgets-notification-1",
"Effect": "Allow",
"Principal": {
"Service": "budgets.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "<YOUR_ARN_ID>"
},

AWS Chatbotの作成
AWS クライアント設定
次にAWS Chatbotを作成します。
検索ペインから「Chatbot」と入力し、Chatbotのダッシュボードに移動。
チャットクライアントを「Slack」に設定し「クライアントを設定」をクリック

すると下記の画面のようになると思いますので、ワークスペースのSlack URLを入力して「続行する」をクリック

※Slack URLは下記のように、ワークスペース名をクリックすれば表示されます。


「許可する」をクリック

するとAWS Chatbotに遷移します。下記の画面になっていればクライアント設定は完了です。

AWS Chatbot チャネル設定
次にAWS Chatbotのチャネルを設定します。
AWS Chatbotより「新しいチャネルを設定」をクリック

Slackチャネルを設定で下記のように情報を入力し「設定」をクリック
※チャネルIDはチャンネル→コピー→リンクをコピーの末尾のアルファベットです。

※チャネルID確認方法

下記のように表示されましたら完了です。

AWS Budgetsの設定
次にAWS Budgetsの設定です。
上部検索ペインに「AWS Budgets」と入力しBudgetsの予算ページに移動します。
下記のような画面になると思いますので「予算の作成」をクリック

下記のように情報を入力し「次へ」をクリック

ステップ2では下記のように情報を入力します。
予算名・予算額は任意で設定してください。

ステップ3アラートの設定では、下記のように設定します。

最終確認

最終確認画面で問題がなければ「予算を作成」をクリック
確認
先ほど作成したslackを開いてみます
作成した時点で、設定した予算を超過しているので、slackに通知が来ていることを確認できました。
