初めに
これからAWSを学ぼうとしている方。やっぱり気になるのは利用料金ですよね。
無料枠で学びたい人も、多少は課金してより多くを学びたい人も。高額請求になったらどうしよう。
ネットでは何十万円にもなってしまった。なんて記事も見ます。
そんな事態にならないためにも、「課金発生」や「予算超過」でslack通知やメール送信をして適切なコスト管理を一番最初に設定することを強くお勧めします。
流れ
・ 通知先のslack チャンネル作成
・ 対象チャンネルにアプリ「aws chatbot」を追加
・ SNSトピックの作成
・ AWS Budgets(予算)の作成
・ AWS Chatbotの設定
では、早速やっていきましょう。(一番最初のslack チャンネルの作成に関しては説明を割愛します)
Slackチャンネルに「aws chatbot」を追加する
対象チャンネルの「インテグレーション」から「アプリを追加する」を選択
SNSトピックの作成
「sns」で検索し「Simple Notification Service」を選択
サブメニューから「トピック」を選択 → 「トピックの作成」を押下
アクセスポリシー「アドバンスト」を選択
「Statement」に以下を追加
{
"Sid": "AWSBudgets-notification-1",
"Effect": "Allow",
"Principal": {
"Service": "budgets.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "atode"
},
トピックの作成を押下
作成後、ARNをコピーします。
※このARNは後続の予算作成時にも使用します。コピーしておいてください
トピックの編集からアクセスポリシーを変更します。
下記の「atode」の箇所を上記でコピーしたARNで更新。
AWS Budgets(予算)の作成
「予算を作成」を押下
今回は以下(一日で5ドルの予算を設定)で設定
ここの予算は各自で調整
次へ
アラートの閾値を追加します
今回は100%(5ドル超過)で通知するようにします。
閾値は複数設定することができます。100%(5ドル)で通知。200%(10ドル)で通知など
「Amazon SNS ARN」に上記で作成した SNSトピックのARNを入力
次へを押下し、設定内容を確認し問題なければ「予算を作成」を押下
AWS Chatbotの設定
チャットクライアントにslackを選択し、クライアントを設定
slackにログイン済みであれば下記画面が表示されます。未ログインであればログインしてください
ワークスペースを追加したら「新しいチャンネルを設定」
設定名やチャンネルIDを設定
ロール設定は「チャネルロール」
ポリシーテンプレート及びチャネルガードレールポリシーはデフォルトで選択されているものでOK
通知オプションでリージョン(SNSトピックを作成したリージョン 通常は東京だと思います)を選択。
トピックは先ほど作成したトピックを選択し設定
これで予算に合わせてslack通知できるようになりました。
まとめ
比較的簡単に設定できますが、これからAWSを学ぼうとしている方にはちょっと難しい箇所もあるかもですが、思わぬ高額請求とならないためにも頑張って設定しておきましょう・