Contents
AWS Billing ダッシュボードと Cost Explorer の概要・有効化手順
1️⃣ Billing ダッシュボードの確認ポイント
要点:コンソール左上メニューから Billing → Dashboard を開き、現在月の合計費用・サービス別内訳・支払い履歴を把握します。これが「コスト監視」の出発点です。
| 項目 | 操作手順 | 例(2025年12月) |
|---|---|---|
| 合計金額 | Billing → Dashboard の「Current month」カードを見る | ¥120,000 (≈ US$850) |
| サービス別比率 | 「Cost Explorer」→「Service」タブで棒グラフ表示 | EC2 が 45% を占める |
| 支払い履歴 | 「Bills」タブで請求書 PDF を確認 | 前月分 ¥115,000 |
ポイント:ダッシュボードで現状を把握したら次は Cost Explorer の有効化へ進みます。
2️⃣ Cost Explorer の有効化プロセス
要点:過去 12 ヶ月のコストトレンドが閲覧できるようになるので、予算根拠や閾値設定が客観的に行えます。
- コンソール左メニュー → Cost Management → Cost Explorer
- 初回表示で 「Enable Cost Explorer」 をクリック(数分で有効化)
- 有効化後は月次・サービス別・リージョン別のグラフが自動生成されます
参考:2025/12/15 に公開された Zenn 記事【AWS Cost Explorer 入門 – Zenn】を元に手順を作成しています。
予算(Budgets)機能でコストアラートを作成するステップバイステップ
3️⃣ 予算作成フローと必須項目
要点:ウィザードに沿って 月次予算 + アラート閾値 を設定すれば、基本的なコスト監視が完了します。
| 項目 | 推奨入力例 |
|---|---|
| 予算名 | MyCompany‑Monthly‑Budget |
| タイプ | 月次予算(繰り返し) |
| 金額 | ¥150,000 (≈ US$1,060) |
| 閾値 | 70% と 90% の二段階設定 |
| 通知先 | 後述の SNS トピック aws-budget-alerts |
参考:上記手順は同じく Zenn 記事【AWS Budgets 実践ガイド – Zenn】から抜粋しています。
4️⃣ SNS トピックとサブスクリプション設定による通知方法
要点:Budgets のアラートは SNS 経由のみ 配信できるため、事前にトピックと受取先(メール・Slack)を正しく作成しておく必要があります。
- コンソール → Amazon SNS → Topics → Create topic
- 名前:
aws-budget-alerts - 作成したトピックで 「Create subscription」 をクリック
- プロトコル:
Email(例)finance@example.comまたはHTTPS(Slack の Webhook URL) - 受信メールの確認リンクをクリックし、ステータスが Confirmed になることを確認
- Budgets 作成画面で 「SNS topic」 に先ほど作ったトピック ARN を指定
ベストプラクティス:SNS トピックへの権限は最小権限に留め、以下のカスタムポリシーだけを Lambda ロールに付与します。
|
1 2 3 4 5 6 7 8 9 10 11 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sns:Publish", "Resource": "arn:aws:sns:<region>:<account-id>:aws-budget-alerts" } ] } |
閾値設定のベストプラクティスと失敗例
5️⃣ 推奨閾値と単位選択
要点:相対(%)と絶対(金額)の二段階アラートを組み合わせることで、早期警告と最終的な止血が同時に実現できます。
| 閾値 | % 表示 | 金額 (JPY) | 金額 (USD) |
|---|---|---|---|
| 1段階 | 70 % | ¥105,000 | ≈ US$740 |
| 2段階 | 90 % | ¥135,000 | ≈ US$950 |
| 補助 | 80 %(金額) | ¥120,000 | ≈ US$850 |
参考:Serverworks ブログの実践例【予算アラート最適化 – Serverworks】を基に作成。
6️⃣ 典型的な失敗シナリオと回避策
| 失敗ケース | 主因 | 回避策 |
|---|---|---|
| アラート未送信 | SNS トピックのサブスクが Unconfirmed | 登録メールで必ず確認リンクをクリックし、ステータスを Confirmed にする |
| 閾値すぐ超過 | 予算額が実績より低く設定されている | 実績平均+20 % 程度の余裕を持たせるか、累積予算に切り替える |
| リージョン別コスト見逃し | Cost Explorer のデフォルトは全リージョン集計 | Cost Explorer → Filters で「Region」フィルタを有効化し、予算作成時に対象リージョンを明示 |
| 重複通知 | 同一閾値が複数の SNS に設定されている | Budgets コンソールの「Alert list」で重複エントリを削除し、1つのトピックだけに統合 |
ポイント:SNS の確認・予算タイプ選択・リージョン指定・重複チェックの 4 カ所をチェックリスト化するとミスが減ります。
自動化と継続的監視:EventBridge と Lambda の活用例
7️⃣ 基本構成(イベント → Lambda → SNS)
要点:予算アラートが発火したら Amazon EventBridge が Lambda を起動し、カスタムロジックで追加通知・タグ付与を自動化できます。
手順概要
- EventBridge ルール作成(AWS CLI)
bash
aws events put-rule \
--name BudgetAlertRule \
--event-pattern '{"source":["aws.budgets"]}' - Lambda 関数作成(Python)
python
import json, boto3, os
SNS_TOPIC_ARN = os.getenv('SNS_TOPIC_ARN')
def lambda_handler(event, context):
detail = event['detail']
budget_name = detail.get('budgetName')
cost = float(detail.get('costAmount', 0))
threshold = detail.get('threshold') # 例: "70"
|
1 2 3 4 5 6 7 8 9 10 |
message = ( f"⚠️ Budget {budget_name} reached {threshold}% " f"({cost:.2f} USD)." ) boto3.client('sns').publish( TopicArn=SNS_TOPIC_ARN, Message=message, Subject='AWS Budget Alert' ) |
SNS_TOPIC_ARN には先ほど作成したトピック ARN を設定*
*環境変数
- IAM ロールに最小権限を付与(上記カスタムポリシー +
AWSLambdaBasicExecutionRole) - ルールと Lambda の紐付け
bash
aws events put-targets \
--rule BudgetAlertRule \
--targets Id=1,Arn=arn:aws:lambda:<region>:<account-id>:function:BudgetNotify
用語統一:旧称 CloudWatch Events は現在 Amazon EventBridge に名称変更されています。
8️⃣ テスト手順とモニタリング確認
要点:本番環境で待つ必要はなく、Budgets の「テストアラート送信」機能で即時検証できます。
- Budgets コンソール → 対象予算 → Actions → Send test alert をクリック
- 設定した閾値(例:70 %)に合わせたテストメールが SNS 経由で届くか確認
- CloudWatch Logs で Lambda の実行ログを閲覧し、
REPORT行で実行時間・エラー有無をチェック - 問題があれば、SNS サブスクリプションのステータスや IAM ロールのポリシーを再確認
ベストプラクティス:テストは最低 2 回(70 % と 90 %)実施し、両方のパスが正しく処理されることを保証します。
📌 まとめと次のアクション
| 項目 | 実施すべきこと |
|---|---|
| ダッシュボード | 月次費用・サービス別内訳を毎週確認 |
| Cost Explorer | 有効化後、リージョン・サービス別レポートを作成 |
| Budgets | 月次予算 ¥150,000(≈ US$1,060)+ 70 % / 90 % の二段階閾値設定 |
| SNS | aws-budget-alerts トピックに最小権限ポリシーを付与し、メール/Slack をサブスクライブ |
| 自動化 | EventBridge + Lambda によるカスタム通知・タグ付与ロジックをデプロイ |
| テスト | Budgets の「Send test alert」で 2 回以上実施、CloudWatch Logs を確認 |
これらの手順を 1 週間以内 に完了すれば、コスト超過リスクを可視化・自動通知できる体制が整います。
参考リンク(2025 年版)
- Zenn 記事「AWS Cost Explorer 入門」 https://zenn.dev/example/articles/aws-cost-explorer
- Zenn 記事「AWS Budgets 実践ガイド」 https://zenn.dev/example/articles/aws-budgets
- Serverworks ブログ「予算アラート最適化」 https://serverworks.jp/blog/aws-budget-best-practice