はじめに
AWSのサービスを利用するに当たり、設定ミスにより知らぬ間に利用料金が増えてしまうことがあります。
いつの間にか高額請求されてしまうことのないように、
毎月の閾値を決め、その料金まで利用したら通知されるというような設定をAWSで行なっていきます。
今回はSlackへの通知とメール送信を同時に行うように設定します。
また、使用料が予算の50%,80%...それぞれのタイミングで通知されるようにします。
設定手順
設定対象のAWSサービスは下記の3つです。
- Amazon SNS
- AWS Chatbot
- AWS Budgets
ルートユーザでログイン
今回は請求に関する設定のため、
ルートユーザでログインして設定を行なっていきます。
Amazon SNSの設定
SNSのトピックを作成します。
設定はデフォルトで名前は CostAlert
にしました。
タイプはスタンダード
に設定しました。
ここで表示されているARNは次の設定に使用します。
次に、編集でアクセスポリシーを編集します。
下記のコードをStatementの下の行に追加します。
その際にInsert-ARN-here
に先ほどのARNを入力します。
{
"Sid": "AWSBudgets-notification-1",
"Effect": "Allow",
"Principal": {
"Service": "budgets.amazonaws.com"
},
"Action": "SNS:Publish",
"Resource": "Insert-ARN-here"
},
保存して、Amazon SNSの設定は終了です。
Slackの設定
Slackで通知する。チャンネルを決めるか新しく作成します。
AWS Chatbotの設定
権限リクエストの画面が表示されるので、通知したいワークスペースを選択して許可します。
設定したクライアントで新しいチャネルを設定します。
設定名はaws-alert-conf
にします。
アクセス許可の項目ではロール名のみ設定し他はデフォルト設定にします。
Slackチャネルの項目で、先ほど決定したSlackのチャンネルをここで設定します。
通知オプションはSNSを作成したリージョンを選び、
先ほど作成したトピックを選択します。
これで、AWS Chatbotの設定は終了です。
AWS Budgetsの設定
最後にAWS Budgetsの設定を行います。
右上のアカウントの項目の[マイ請求ダッシュボード]
-> 左の[Budgets]
-> [予算を作成する]で遷移していきします。
閾値を超えた場合に通知を行いたいので[コスト予算]を選択します。
予算の名前は任意で設定します。
間隔は月別
にします。
Budget effective datesは定期予算
にします。
実際にアラートされる金額を設定します。
予算額の50%
($5)を設定しました。
毎月$5を超えた場合に通知が来るようになります。
次に通知の設定です。
Eメールの受信者にアラートを受信したいメールアドレスを設定します。
Amazon SNSには最初に作成したSNSトピックのARNを設定します。
また、新しいしきい値というボタンがありますので、
こちらのボタンを押して閾値の設定を同様に設定することで80%の通知、100%の通知...と増やすことができます。
あとは作成まで進めば完了です。
通知例
動作確認のために、閾値を最低限まで低くして待機してみました。
(その他AWSサービスを触ったり...)
待機してみると、Slackとメールに通知が来ていました。
同じように、もし動作確認のために閾値を低く設定していた場合は、
確認出来次第、設定を戻しておきましょう。
最後に
これで閾値に設定した金額になったらすぐにわかるようになったので、
安心してAWSを触れるようになりました。