AWS Budgets と Cost Explorer ── 使いすぎを見つけて予算アラートで止める

目次

概要

クラウドは使った分だけ料金がかかります。裏を返すと、消し忘れたリソースや想定より多いデータ転送があっても、請求が届くまで気づけません。AWS には、この「気づけない」を埋めるための道具が用意されています。

AWS Cost Explorer は過去に何にいくら使ったかを見るためのツール、AWS Budgets は上限を決めて、近づいたら知らせる(場合によっては止める)ためのツールです。役割が違うので、どちらか一方ではなく両方を使います。

この記事では、請求まわりのツールの役割分担を整理したうえで、Cost Explorer でコストの内訳を確認し、Budgets で月次のコスト予算とアラートを実際に作成します。AWS Certified Cloud Practitioner(CLF)試験の第 4 分野「請求、料金、およびサポート」で問われる内容です。

請求まわりの 4 つのツール(Pricing Calculator・Cost Explorer・Budgets・Cost and Usage Report)の役割分担と、それぞれが扱う時間軸の全体像
請求まわりの 4 つのツール(Pricing Calculator・Cost Explorer・Budgets・Cost and Usage Report)の役割分担と、それぞれが扱う時間軸の全体像

—

この記事のメリット

  • Cost Explorer と Budgets の役割の違いを、試験で問われる形で区別できるようになります
  • 予算のしきい値における「実績」と「予測」の違いを理解できます
  • 予算アラートと予算アクションの違い(知らせるだけか、止めるか)を説明できるようになります
  • 予算の作成・監視が無料である一方、どこから課金されるのかを把握できます
  • 一括請求とコスト配分タグが何のための仕組みかを整理できます

—

執筆者とキャラクター紹介

執筆者:土肥(とひ)

株式会社ジェニュインの代表であり元エンジニア。これまでオンプレミスと AWS 環境のインフラ業務を担当。AWS 認定資格の学習で得た知識を、ハンズオンとともに解説するのが得意。直近では新人の教育も行っており、これから技術を学ぶ方が納得できる解説を心がけています。基礎編・Cloud Practitioner の記事では、解説役としても登場します。

土肥

クラウドおさる

クラウドおさる

はじめましてでござる。弊猿はクラウドおさる。IT インフラが異常に発達した猿山から、雲に乗って地上の AWS を学びに降りてきたのでござる。

クラウドおさる

基礎編や Cloud Practitioner の記事では、とひさんに素朴な疑問をぶつける役でござるな。Security - Specialty などの記事では、要所でワンポイントや注意点をひとこと添えるでござる。

クラウドおさる

猿山にもデータセンターや監視当番があって、地上で起きることはだいたい猿山にも同じ仕組みがあるのでござる。例え話がつい猿山に寄るのは、弊猿の癖でござる。

技術解説

請求まわりのツールの役割分担

CLF 試験では、似た名前のツールの「どれを使うべきか」が問われます。まず時間軸で整理します。

ツール扱う時間軸何をするもの
AWS Pricing Calculator(料金見積りツール)これから構成を入力して、使う前に料金を見積もる
AWS Cost Explorer過去と予測発生済みのコストを可視化し、傾向から先を予測する
AWS Budgetsこれから上限を決めて、近づいたら通知する・アクションを実行する
AWS Cost and Usage Report(CUR)過去明細レベルの生データを S3 に出力し、詳細に分析する

設問の言葉と対応させると、次のようになります。

  • 「まだ使っていないサービスの料金を知りたい」→ Pricing Calculator
  • 「先月のコストが何のサービスで増えたのか調べたい」→ Cost Explorer
  • 「月 100 USD を超えそうになったら知らせてほしい」→ Budgets
  • 「時間単位・リソース単位の明細を自分で集計したい」→ Cost and Usage Report

Cost Explorer で「何にいくら使ったか」を見る

Cost Explorer は、コストと使用量をグラフと表で可視化するツールです。

項目内容
表示できる履歴過去 13 か月
予測今後 18 か月
データの反映当月のデータは約 24 時間後に表示される(コストデータの更新は 1 日 1 回以上)
料金コンソールでの利用は無料。Cost Explorer API はページ分割されたリクエストごとに 0.01 USD

グラフはサービス別・リージョン別・アカウント別・タグ別などでグループ化でき、粒度は日次・月次を選べます。「先月から急に増えたのはどのサービスか」を調べるときに最初に開く画面です。

[!NOTE] Cost Explorer は一度有効にすると無効に戻せません。初回に有効化すると、当月・過去 13 か月・今後 18 か月ぶんのデータが AWS 側で準備されます。

AWS Budgets で「使いすぎ」に気づく

Budgets は、決めた上限に対して実績・予測がどこまで来ているかを監視し、しきい値を超えたら通知します。

予算には次の種類があります。

予算タイプ何を監視するか
コスト予算支出額
使用量予算使用量(実行時間・データ量など)
Savings Plans の使用率・カバレッジ予算購入した Savings Plans が使い切れているか、対象がどれだけ覆えているか
予約(RI)の使用率・カバレッジ予算購入したリザーブドインスタンスについて上と同じ観点

コスト予算・使用量予算の期間は、日次・月次・四半期・年次・カスタムから選びます。予算そのものは、期間ごとにリセットされる定期的な予算と、リセットされない期限切れになる予算(プロジェクト単位の 1 回限りの予算)に分かれます。

アラートのしきい値で重要なのが、次の 2 種類の違いです。CLF 試験で問われるのはここです。

トリガーいつ通知されるか使いどころ
実績(Actual)実際の支出がしきい値に達したとき「使いすぎた」事実を知る。気づいた時点で費用は発生済み。コンソールの表示は「実際」
予測(Forecasted)このままのペースなら期間内にしきい値を超えると見込まれたとき超える前に手を打つ。コンソールの表示も「予測」
実績ベースのアラートと予測ベースのアラートで、月内のどの時点で通知が飛ぶかの違い
実績ベースのアラートと予測ベースのアラートで、月内のどの時点で通知が飛ぶかの違い

しきい値は予算額に対するパーセンテージでも、絶対値でも指定できます。通知先は E メール・Amazon SNS トピック・AWS Chatbot(チャットアプリケーション)から選べ、1 つのアラートに最大 10 個の E メールアドレスを指定できます。

予算アクションで「止める」

通知だけでは、担当者がメールを見るまで支出は続きます。予算アクションを設定すると、しきい値を超えたときに AWS 側で実際に手を打てます。

アクション内容
IAM ポリシーの適用カスタムの Deny ポリシーをユーザー・グループ・ロールに適用し、新しいリソースを作れなくする
サービスコントロールポリシー(SCP)の適用Organizations の管理アカウントから、対象アカウントに SCP を適用する
EC2 / RDS インスタンスの停止指定したインスタンスを停止する

実行は「自動で実行する」か「承認してから実行する」かを選べます。なお、管理アカウントから他アカウントに SCP を適用することはできますが、他アカウントの EC2・RDS インスタンスを対象にすることはできません。

予算アラートと予算アクションの違い(しきい値超過 → 通知だけで終わるか、IAM ポリシー適用・インスタンス停止まで進むか)
予算アラートと予算アクションの違い(しきい値超過 → 通知だけで終わるか、IAM ポリシー適用・インスタンス停止まで進むか)

料金の考え方も押さえておきます。

対象料金
予算の作成・監視・通知無料
アクションを設定した予算月あたり最初の 2 つは無料。以降は 1 予算につき 0.10 USD/日
AWS Budgets レポートの配信配信 1 通につき 0.01 USD

「予算を作ること自体は無料」という点は誤解しやすいところです。課金されるのはアクション付きの予算とレポート配信です。

一括請求とコスト配分タグ

複数アカウントを AWS Organizations でまとめると、請求は管理アカウントに集約されます(一括請求 / コンソリデーティッドビリング)。

仕組み効果
一括請求請求書が 1 通にまとまる。使用量が合算されるため、ボリューム割引や無料利用枠の判定に有利になる
コスト配分タグProject Env などのタグ単位でコストを集計できる。請求コンソールで有効化すると Cost Explorer や CUR で使えるようになる

コスト配分タグには、AWS が付与するもの(aws: で始まる)とユーザーが定義するものがあり、いずれも請求コンソールで有効化するまでレポートには現れません。有効化した時点より前のコストには遡って適用されない点にも注意が必要です。

—

新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方を募集しています。プログラミング未経験から入社して活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

実践

Cost Explorer でコストの内訳を確認し、月次のコスト予算とアラートを作成します。

前提条件

  • 請求とコスト管理コンソールへのアクセス権限を持つ IAM ユーザーまたはロールでログイン済みであること(ルートユーザー、または Billing へのアクセスを許可された IAM プリンシパル)
  • Cost Explorer が有効になっていること(未有効の場合、初回アクセス時に有効化され、データの準備に最大 24 時間かかります)
  • 請求とコスト管理はグローバルなサービスのため、リージョンの指定はありません

このハンズオンで作成するリソースは以下のとおりです。

リソース種別リソース名用途
AWS Budgets の予算monthly-cost-alert月次コスト予算とアラートの検証用

[!NOTE] 予算の作成・監視・通知は無料です。この手順では予算アクション(IAM ポリシーの適用やインスタンスの停止)は設定しないため、課金は発生しません。

手順 1: Cost Explorer でコストの内訳を確認する

AWS マネジメントコンソールの右上のアカウントメニューから「請求とコスト管理」を選択します。

左側ナビゲーションの「コストと使用状況の分析」の下にある「Cost Explorer」を選択します。

画面右側の「レポートパラメータ」で以下を指定します。

  • 日付範囲: 過去 6 か月
  • 粒度: 月別
  • ディメンション: サービス

サービスごとに色分けされた月別コストのグラフが表示されます。どのサービスが支出の大半を占めているかを確認します。

Cost Explorer の月別コストグラフ(サービス別にグループ化した状態)
Cost Explorer の月別コストグラフ(サービス別にグループ化した状態)

手順 2: 予算の作成を開始する

左側ナビゲーションの「予算とプラン」→「予算」を選択し、「予算を作成」をクリックします。

「予算タイプを選択」の画面で以下を選択します。

  • 予算の設定: カスタマイズ (アドバンスト)
  • 予算タイプ: コスト予算 – 推奨

予算タイプには他に「使用量予算」「Savings Plans の予算」「予約予算」が並びます。技術解説で整理した 4 種類がそのまま選択肢になっています。

予算タイプの選択画面(コスト予算を選択した状態)
予算タイプの選択画面(コスト予算を選択した状態)

「次へ」をクリックします。予算の作成は全 5 ステップ(予算タイプを選択 → 予算を設定 → アラートの設定 → アクションをアタッチ → 確認)です。

手順 3: 予算の金額と期間を設定する

「予算を設定」の画面で以下を入力します。

  • 予算名: monthly-cost-alert
  • 期間: 月
  • 予算更新タイプ: 定期予算(毎月の請求期間の初日に更新されます)
  • 予算設定方法: 固定
  • 予算額 ($): 10(検証用に低めの値を入れます)

「予算の範囲」の範囲オプションは すべての AWS のサービス (推奨) のままにします。特定のサービスやタグに絞りたい場合は「特定の AWS コストディメンションをフィルタリングする」を選びます。

予算の金額と期間の設定画面(予算名・期間・固定・予算額を入力した状態)
予算の金額と期間の設定画面(予算名・期間・固定・予算額を入力した状態)

「次へ」をクリックします。

手順 4: アラートのしきい値を設定する

「アラート #1」で以下を設定します。

  • しきい値: 80 / 単位は 予算額の %
  • トリガー: 実際
  • E メールの受信者: 自分が受信できるメールアドレス

入力すると「要約」の行に「実際のコストが予算額 ($10.00) の 80.00% ($8.00) を超えると、アラートのしきい値を超過します」と表示されます。設定した内容が金額に換算されるので、ここで意図と合っているかを確認します。

続けて「アラートのしきい値を追加」をクリックし、2 つ目のアラートを設定します。

  • しきい値: 100 / 単位は 予算額の %
  • トリガー: 予測
  • E メールの受信者: 同じメールアドレス

実際 80% と予測 100% の 2 本立てにすることで、「使いすぎた事実」と「このままだと超える見込み」の両方を受け取れます。

[!NOTE] 1 つの予算に作成できるアラートは最大 5 個、1 つのアラートに指定できる E メールの受信者は最大 10 人です。画面右の「予算のプレビュー」には、設定したしきい値が破線でグラフに重ねて表示されます。

アラートのしきい値設定画面(実績 80% と予測 100% の 2 つを設定した状態)
アラートのしきい値設定画面(実績 80% と予測 100% の 2 つを設定した状態)

「次へ」をクリックします。予算作成は全 5 ステップで、次はアクションの設定です。ここでは何も設定せずに「次へ」をクリックします。

手順 5: 内容を確認して作成する

確認画面には、ステップごとの設定内容が並びます。予算の詳細(名前・開始日・予算額・期間)と、アラートの「しきい値」「しきい値の測定対象」(実際 コスト / 予測 コスト)が意図どおりであることを確認します。

予算作成の確認画面(設定内容の一覧)
予算作成の確認画面(設定内容の一覧)

「予算を作成」をクリックします。

手順 6: 作成した予算を確認する

予算の一覧に monthly-cost-alert が表示されます。「予算」の列に設定した金額、「使用済みの金額」「予測金額」に当月の状況、「現在 対 予算」「予測 対 予算」に進捗のバーが並びます。

予算一覧(作成した予算の現在の支出と予測される支出が表示されている状態)
予算一覧(作成した予算の現在の支出と予測される支出が表示されている状態)

[!NOTE] 作成した直後は「使用済みの金額」「予測金額」が - のままのことがあります。予算の集計は数時間ごとに更新されるため、値が入るまで少し待ちます。

予算名をクリックすると詳細画面が開きます。「予算の状態」に「現在 対 予算」と「予測 対 予算(月初来)」、右側の「アラート」にしきい値の状況が表示されます。設定したしきい値をすでに超えている場合は「超過」と件数が出ます。

下部の「予算履歴」タブには月ごとの実際のコストと予算のグラフ、「月次コスト履歴」には月別の実績・予算・差額の表が並びます。

予算の詳細画面(推移グラフとアラートの一覧)
予算の詳細画面(推移グラフとアラートの一覧)

—

まとめ

ツール役割押さえるポイント
AWS Pricing Calculator使う前に見積もる実績ではなく想定構成からの試算
AWS Cost Explorer実績を可視化する履歴 13 か月・予測 18 か月。コンソールは無料、API は有料
AWS Budgets上限を決めて知らせる・止めるしきい値は「実績」と「予測」を選べる
AWS Cost and Usage Report明細を分析するS3 に出力して詳細に集計する
  • コストを「見る」のが Cost Explorer、「上限を決める」のが Budgets。試験ではこの対応で選ぶ
  • 予算のしきい値は、超えたことを知る「実績」と、超えそうなことを知る「予測」の 2 種類
  • 通知だけでなく、IAM ポリシーの適用やインスタンス停止まで行うのが予算アクション
  • 予算の作成・監視・通知は無料。アクション付きの予算は月 2 つを超えると課金される
  • 複数アカウントは一括請求でまとめると割引・無料利用枠の判定に有利になる。内訳を分けるにはコスト配分タグを有効化する

—

参照先

キャリア相談
クラウドおさる

独学の先に、AWS の仕事がある ── ジュニアおさるのキャリア相談

CLF には受かったけれど、次に何をすればいいのか分からない。独学で AWS を学ぶジュニアおさるの相談に、株式会社ジェニュイン代表の土肥が答えています。

  • ✓資格はゴールか、CLF の次に何から手を付けるか
  • ✓EC2 の次に作ってみる構成と、IaC・コスト管理
  • ✓実務経験ゼロでも、面接で話せる「これまで」の作り方
新卒・未経験の方へ
クラウドおさる

AWS を仕事にしたい方へ ── 新卒・未経験から

この記事を書いているのは、AWS の設計・構築を仕事にしている現役エンジニアです。運営元の株式会社ジェニュインでは、新卒・未経験の方を募集しています。プログラミング未経験から入社して活躍しているメンバーもいます。

  • ✓システム開発・WEB エンジニア / インフラ構築などの職種で、未経験から応募できます
  • ✓未経験から入社した社員の声を含む社員アンケートを掲載
  • ✓応募フォームから 1 分で応募できます

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

株式会社ジェニュイン(https://genuine-pt.jp)の代表取締役.

2018年〜インフラエンジニアとしてキャリアをスタートし、オンプレミスのネットワーク・サーバ環境で3年半、クラウド環境で4年半の8年間エンジニアとして従事。
2021年に佐藤氏の創業した株式会社Luxyを引き継ぎ、代表に就任。
その後アガルートグループ内の株式会社ジェニュインと合併。
合併後同社代表に就任。

目次