「月末にAWSの請求書を見て青ざめた」——クラウドに移行したインフラエンジニアなら、一度は経験があるのではないでしょうか。
オンプレ時代は年度予算でハードウェアを調達し、減価償却で費用を管理していました。金額は基本的に固定で、月々の支出がいきなり跳ね上がることはありません。ところがクラウドは従量課金です。テスト用に立てたEC2インスタンスを消し忘れた、S3に大量のログを放置した、NAT Gatewayのデータ転送量を甘く見ていた——こうした「うっかり」が、そのまま請求額に直結します。
この記事では、AWSのコスト管理サービスであるAWS Cost ExplorerとAWS Budgetsについて、基本的な使い方から実務で役立つTips、よくあるトラブルまで体系的に解説します。オンプレ時代のコスト管理との違いを押さえつつ、「いま何にいくらかかっているのか」を可視化し、予算超過を未然に防ぐ方法を身につけましょう。

なぜコスト管理が重要なのか?(オンプレとの違い)
オンプレのコスト管理は、年に一度の予算策定と稟議がメインでした。サーバーを買ったら5年間の減価償却、保守契約は年額固定。月次の費用に大きなブレはなく、財務部門との会話も比較的シンプルです。
クラウドに移行すると、この前提が根本から変わります。
| 項目 | オンプレ | AWS(クラウド) |
|---|---|---|
| 課金モデル | 初期購入+保守年額(固定費中心) | 従量課金(変動費中心) |
| 費用の予測 | 調達時に確定 | 使い方次第で月ごとに変動 |
| リソースの追加 | 稟議→発注→数週間〜数か月 | 数クリックで即座に追加 |
| 消し忘れのリスク | 物理的に存在するため認識しやすい | 見えないリソースが課金され続ける |
| コスト管理の責任 | 調達部門・財務部門が中心 | インフラ担当が日常的に管理 |
「リソースの追加が簡単」というクラウドの強みは、裏を返せば「意図しないコスト増が起きやすい」という弱みでもあります。開発チームが検証用にm5.4xlargeインスタンスを10台立てて、テスト完了後に消し忘れれば、月に数十万円が無駄に流れます。
だからこそ、コストの可視化と予算管理の仕組みを最初に整えておくことが重要です。AWSにはそのためのツールとして、AWS Cost ExplorerとAWS Budgetsが用意されています。
AWS Cost Explorerの基本的な使い方
AWS Cost Explorerは、AWSの利用コストを視覚的に分析できるツールです。マネジメントコンソールから利用でき、過去13か月分のコストデータをグラフやテーブルで確認できます。
1. Cost Explorerを有効化する
Cost Explorerはデフォルトでは無効になっています。まず有効化が必要です。
・マネジメントコンソールにルートアカウントまたはBilling権限を持つIAMユーザーでサインイン
・「請求とコスト管理」ダッシュボード → 左メニューの「Cost Explorer」を選択
・「Cost Explorerを起動」をクリック
有効化してからデータが表示されるまで最大24時間かかります。すぐに使えるわけではないので、クラウド移行プロジェクトの初期段階で有効化しておくことをお勧めします。
2. サービス別にコストを分析する
Cost Explorerを開くと、まずデフォルトの月別コスト推移グラフが表示されます。ここから「グループ化」の条件を変えることで、さまざまな切り口での分析が可能です。
・サービス別: どのAWSサービスにいくらかかっているかを確認。Amazon EC2、Amazon S3、Amazon RDSなど上位サービスが一目でわかる
・リージョン別: 東京リージョン(ap-northeast-1)とバージニア北部(us-east-1)でどれだけコスト差があるかを把握
・アカウント別: AWS Organizationsで複数アカウントを運用している場合、アカウントごとの内訳を確認
・タグ別: コスト配分タグを設定していれば、プロジェクト単位・チーム単位でのコスト把握が可能
オンプレ時代に「このサーバーはどの部署のものか」を台帳管理していた方も多いでしょう。AWSではタグがその台帳の役割を果たします(タグ付け戦略については後述します)。
3. AWS CLIでコストデータを取得する
GUIだけでなく、AWS CLIからもコストデータを取得できます。定期レポートの自動生成やSlack通知など、運用自動化に役立ちます。
# 今月のサービス別コストを取得(AWS CLI) aws ce get-cost-and-usage \ --time-period Start=2026-03-01,End=2026-03-31 \ --granularity MONTHLY \ --metrics "UnblendedCost" \ --group-by Type=DIMENSION,Key=SERVICE
このコマンドを実行すると、JSON形式で各サービスの利用金額が返ってきます。jqコマンドと組み合わせれば、必要な情報だけを抽出することも可能です。
# 日別のコスト推移を取得 aws ce get-cost-and-usage \ --time-period Start=2026-03-01,End=2026-03-31 \ --granularity DAILY \ --metrics "UnblendedCost"
日別で取得すれば、「何日にコストが跳ねたのか」をピンポイントで特定できます。原因調査の第一歩として覚えておくと便利です。

AWS Budgetsで予算アラートを設定する
Cost Explorerが「過去と現在のコストを分析する」ツールなら、AWS Budgetsは「将来の予算超過を防ぐ」ためのツールです。あらかじめ予算額を設定し、しきい値に達したらメールやSNS通知でアラートを飛ばす仕組みです。
1. 予算を作成する
・「請求とコスト管理」ダッシュボード → 左メニューの「Budgets」を選択
・「予算を作成」をクリック
・予算タイプを選択。「コスト予算」が最も一般的
・予算名を入力(例: monthly-total-budget)
・予算額を入力(例: $500.00)
・期間は「月次」を選択
オンプレ時代の年間予算と違い、月単位で細かく管理できるのがクラウドのメリットです。「先月は$450だったから今月は$500に設定」といった柔軟な運用が可能です。
2. アラートのしきい値を設定する
予算に対して、段階的にアラートを設定するのが実務上のベストプラクティスです。
・80%到達時(予測ベース): 月末に予算を超えそうな場合の早期警告。まだ対策を打つ時間がある
・100%到達時(実績ベース): 実際に予算額に達した時点での通知。すぐに対応が必要
・120%到達時(実績ベース): 大幅超過の緊急通知。リソースの停止や権限制限を検討
通知先にはメールアドレスを指定できます。Amazon SNSトピックと連携すれば、SlackやPagerDutyへの通知も可能です。
3. AWS CLIで予算を作成する
複数のAWSアカウントを管理している場合、GUIでの手作業は非効率です。AWS CLIを使えば、テンプレート化して一括適用できます。
# 月次コスト予算を作成(AWS CLI) aws budgets create-budget \ --account-id 123456789012 \ --budget '{ "BudgetName": "monthly-total-budget", "BudgetLimit": { "Amount": "500", "Unit": "USD" }, "TimeUnit": "MONTHLY", "BudgetType": "COST" }' \ --notifications-with-subscribers '[ { "Notification": { "NotificationType": "FORECASTED", "ComparisonOperator": "GREATER_THAN", "Threshold": 80, "ThresholdType": "PERCENTAGE" }, "Subscribers": [ { "SubscriptionType": "EMAIL", "Address": "infra-team@example.com" } ] } ]'
上記は予測値が予算の80%を超えた際にメール通知する設定です。ThresholdやAddressを変えて複数のアラートを設定すれば、段階的な通知の仕組みが完成します。
料金の仕組み(Cost Explorer・Budgetsのコスト)
「コスト管理ツール自体にコストがかかるのか?」——当然の疑問です。結論から言えば、基本機能は無料ですが、一部に課金が発生します(2026年3月時点)。
| ツール | 無料枠 | 追加料金 |
|---|---|---|
| AWS Cost Explorer | デフォルトビュー(月別・サービス別等)は無料 | Cost Explorer APIの利用: $0.01/リクエスト |
| AWS Budgets | 最初の2件の予算は無料 | 3件目以降: $0.02/日/予算 |
| AWS Budgets Actions | 無料枠なし | $0.10/アクション/月 |
Cost Explorerのコンソール画面(GUI)での操作は無料です。先ほど紹介したAWS CLIのget-cost-and-usageコマンドはAPI呼び出しに該当するため、1リクエストあたり$0.01がかかります。月に100回呼び出しても$1.00なので、運用自動化のコストとしては十分許容範囲でしょう。
AWS Budgetsは最初の2件が無料です。「全体のコスト予算」と「特定プロジェクトの予算」の2つを作る程度なら追加費用は発生しません。3件目以降は1日あたり$0.02なので、月額で約$0.60/予算です。10件作っても月$4.80程度です。
オンプレ時代に業務システムの運用監視ツールにかけていたライセンス費用を思えば、格段に安いコスト管理の仕組みだと言えます。
応用・実務Tips
タグ付け戦略でコスト配分を明確にする
Cost Explorerの真価を発揮するには、リソースへのタグ付けが不可欠です。タグなしのリソースは「その他」に分類されてしまい、誰が何のために使っているリソースなのか追跡できません。
実務では最低限、以下のタグを標準化することをお勧めします。
・Environment: production / staging / development(環境識別)
・Project: プロジェクト名やコスト負担先
・Owner: リソースの責任者やチーム名
・CostCenter: 会計上のコストセンター番号
タグを設定したら、「請求とコスト管理」→「コスト配分タグ」でタグを有効化する必要があります。タグを付けただけではCost Explorerに反映されません。この手順を見落とす方が非常に多いので注意してください。
AWS Budgets Actionsで自動対応を設定する
通知を受けても対応が遅れては意味がありません。AWS Budgets Actionsを使えば、予算超過時にIAMポリシーの適用やEC2/RDSインスタンスの停止を自動実行できます。
たとえば開発環境のアカウントに「予算の120%を超えたらEC2の新規起動を禁止するIAMポリシーを適用」という設定を入れておけば、暴走的なコスト増加を自動的に止められます。本番環境にはリスクが高いので、まず開発・検証環境から導入するのが賢明です。
Cost Anomaly Detectionも併用する
AWS Cost Anomaly Detectionは、機械学習を使って通常とは異なるコストの発生を自動検知するサービスです。Budgetsの固定しきい値アラートと組み合わせることで、「予算内だけど普段とは違うコスト増」も見逃さなくなります。
Linuxサーバーの基礎については、姉妹サイトLinuxMaster.JPで詳しく解説しています。
よくあるトラブルと対処法
タグ未設定でコスト配分ができない
「Cost Explorerでタグ別に見ようとしたが、ほとんどのコストが『タグなし』に分類される」——これは最もよくある問題です。原因は2つあります。
・リソースにタグが付いていない: AWS Config Rulesのrequired-tagsルールで、タグなしリソースを検知する仕組みを入れましょう
・コスト配分タグが有効化されていない: タグを付けても「請求とコスト管理」でコスト配分タグとして有効化しないと、Cost Explorerには反映されません。有効化後、反映まで最大24時間かかります
Budgetsのアラートが遅れる
AWS Budgetsのコストデータは最大で数時間の遅延があります。リアルタイムの請求額ではなく、数時間前のデータに基づいてアラートが評価されます。
そのため、月末ギリギリに予算に到達するパターンでは、アラートが届いた時点でもう超過しているということがあり得ます。しきい値を80%や90%に設定して早めに警告を受け取る運用が重要です。
為替変動で予算計画がずれる
AWSの請求はUSD建てです。日本円で予算管理している場合、為替レートの変動によって実質的な支出額が変わります。月初と月末で1ドルあたり5〜10円動くことも珍しくありません。
対策としては、予算策定時に想定レートに10%程度のバッファーを載せておくことです。たとえば想定レートが1ドル=150円なら、165円で計算しておけば急激な円安にも対応できます。

本記事のまとめ
AWS Cost ExplorerとAWS Budgetsの機能と使い分けを整理します。
| 機能 | AWS Cost Explorer | AWS Budgets |
|---|---|---|
| 主な用途 | 過去〜現在のコスト分析・可視化 | 予算設定・超過アラート |
| 分析の切り口 | サービス別、リージョン別、タグ別、アカウント別 | コスト予算、使用量予算、RI/SPカバレッジ |
| 通知機能 | なし(分析専用) | メール、Amazon SNS連携 |
| 自動アクション | なし | Budgets Actionsで IAMポリシー適用・インスタンス停止等 |
| 料金(2026年3月時点) | GUI無料、API $0.01/リクエスト | 最初2件無料、追加$0.02/日/予算 |
| オンプレ相当 | 月次コストレポート・台帳管理 | 年間予算枠・超過時のエスカレーション |
オンプレ時代は「予算を組んだら1年間は基本的に変わらない」のが普通でした。クラウドでは「毎月のコストが変動する」のが当たり前です。だからこそ、Cost Explorerで「いま何にいくらかかっているか」を把握し、Budgetsで「使いすぎたらすぐに気づく」仕組みを整えておくことが、クラウド運用の基本中の基本です。
まずはCost Explorerを有効化してデフォルトビューを眺めるところから始めてください。そのうえでBudgetsの予算を2つ作成し、80%と100%のアラートを設定する。ここまでやれば、クラウドのコスト管理としては十分なスタートラインに立てます。
クラウドのコスト管理、仕組み化できていますか?
Cost ExplorerやBudgetsは、使い始めは簡単でも、タグ戦略やアラート設計まで含めると奥が深い分野です。
オンプレの経験を活かしながら、現場で使えるクラウドスキルを体系的に身につけたい方へ、メルマガで実践的なクラウド活用ノウハウをお届けしています。


コメント