AWSの予測請求額を通知して想定外の費用発生を防ぐ

はじめに

昨年末、勉強のために個人のAWSアカウントにとあるAWSリソースを一時的に作成しました。

その後、このリソースは不要になったのですが、削除することを忘れ、そのまま年を越してしまいました。

年末年始はAWSを触ることも無くのんびりと過ごしていたのですが、1月3日にAWSから以下のメールが届きました。

月末の予測請求額が28ドルであることを通知するメール

「28ドル!」

これは実際に28ドルの請求が発生したわけでなく、いまのAWS利用のペースで月末を迎えると今月の請求額が28ドルになることを予測して通知してくれたメールです。

このメールを受けて私は自分のAWSアカウント内に放置している課金対象のリソースが無いかを調べ、その存在に気付いて削除しました・・・。

AWS Budgetsについて

上記のメールはAWS Budgetsという機能により送信されたものです。

AWSアカウントを個人で運用して勉強中の初心者の中には、私と同様に不要リソースを削除し忘れた経験のある方もいるかと思います。

本記事ではAWS Budgetsを使って、請求額の予測が一定以上になったら通知する方法を解説します。

非常に簡単ですので、こうした設定を行なっていない人はぜひやってみてください。

AWSのベストプラクティスであるAWS Well-Achitectedにおいても、想定外の費用発生を通知するよう設定しておくことはコスト管理の基本であるといった旨が書かれています。

コントロールと通知: コスト管理を導入する際の一般的な最初のステップは、ポリシー外のコストまたは使用量イベントが発生した場合に通知するように設定することです。

目次

設定手順

今回はAWSマネジメントコンソールを使った設定方法を解説します。

1. AWS Budgetsの画面で予算を作成

検索欄にbudgetsなどを入力して、AWS Budgetsの画面を開きます。

マネジメントコンソールでbudgetsを入力

AWS Budgetsの画面が開いたら、予算を作成ボタンを押します。

予算を作成ボタンを押す

2. コスト予算の選択

コスト予算を選択し、予算を設定ボタンを押します。

コスト予算を選択し、予算を設定ボタンを押す

3. 予算を設定

まず、予算名と期間を設定します。

予算名と期間を設定

  • 名前 : 予算に付ける名前です。ここで付けた名前がメールの件名や本文に含まれることになります。
  • 間隔 : 月別を選択します。
  • Budgets effective dates : 定期予算を選択します。
  • 開始月 : 今月を設定します。

次に、毎月の予算を指定します。

固定10ドルを入力

固定を選択し、予算額は適当な値を入力してください。

ここでは10ドルとしておきます。

以下の追加の予算パラメータでは、予測請求額の計算に含めるAWSのサービスの種類やリージョンなどを絞ることができますが、今回はAWSアカウント全体での予測請求額で通知をしたいので、デフォルトのままとします。

追加の予算パラメータはデフォルトのまま

ここまで来たら、画面右下のしきい値を設定するボタンを押します。

しきい値を設定するボタンを押す

4. しきい値と通知先を設定する

続いて、しきい値を設定します。

予測コストを選択し、しきい値を100%に設定

予測コストを選択し、アラートのしきい値を100%とします。

こうすることで、月末の予測請求額が予算額100%(ここでは10ドル)を超過する見込みであると通知されるようになります。

さらに通知の宛先とするメールアドレスを入力します。

メールアドレスを入力

最後に予算の確認ボタンを押し、次画面で確認ボタンを押せば設定完了です。

終わりに

これで月の請求額が10ドルを超える見込みになると、月の途中でも通知メールが届くようになりました。

なお、AWS BudgetsではAWS Chatbotと連携してSlackに通知することも可能ですが、メール通知よりも少し設定手順が多いので本記事では割愛します。

Slackに通知してみたい方は以下の記事を参考にしてください。