aws-billing-and-cost-management について
AWS の請求とコスト管理を行うエージェント向けスキルです。コスト分析、予算、リソースの適正化、料金照会、請求データ検索の手順を提供し、日付確認と確定的な計算を重視します。
主な機能
- 01コストと使用量の分析
- 02予算アラートと請求ビュー
- 03Savings Plans と Reserved Instance の案内
- 04リソースの適正化提案
- 05料金照会と CUR 2.0 の検索
- 06スクリプトによるコスト計算
活用シーン
- 01AWS の支出傾向や急増の調査
- 02請求ビューに対する予算設定
- 03割引コミットメントとリソース構成の評価
- 04Athena による詳細な請求データ検索
MCP 対応
サンドボックス実行と監査ログのため、AWS MCP サーバーの利用を推奨します。コマンドラインにアクセスできるエージェントでは AWS CLI も使用できます。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill aws-billing-and-cost-managementインストール後、Claude Code で/aws-billing-and-cost-managementを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/budgets.mdcost-audit.mdcost-explorer.mdcost-optimization-hub.mdcur-athena.mddeterministic-calculations.mdebs-optimization.mdec2-rightsizing.mdfree-tier.mdlambda-optimization.mdpricing-lookup.mdrds-optimization.mdreserved-instances.mdsavings-plans.mdservice-optimization.md詳細
請求とコスト管理
概要
AWS のコストを分析、最適化、管理します。このスキルには、AWS のコスト管理製品に関するドメイン知識(注意点、正しい API の使用パターン、モデルが頻繁に誤る最適化ワークフロー)が組み込まれています。
使用方法
次のような場合にこのスキルを使用します。
- AWS の支出、コストの傾向、コストの内訳を分析する
- 予算アラートを設定または管理する
- Savings Plans や Reserved Instance の購入を評価する
- EC2、Lambda、RDS、EBS リソースの適正サイズを判断する
- AWS サービスの料金を調べる
- コスト監査を実施する、またはコストの急増を調査する
- Athena で CUR データをクエリする
- コスト分析の範囲を特定の請求ビューに限定する
- Free Tier の使用状況を確認する
主な概念
- Cost Explorer — サービス、アカウント、タグ、期間ごとにコストや使用状況のデータをクエリします
- Budgets — アラート付きの支出しきい値を設定します。請求ビューによる範囲指定をサポートしています
- Billing Views — 請求データの範囲を限定します(カスタムビュー、請求グループ、プライマリ)
- Compute Optimizer — EC2、Lambda、EBS、RDS の適正サイズに関する推奨事項を提示します
- Cost Optimization Hub — サービス全体の削減に関する推奨事項を集約します
- Savings Plans / Reserved Instances — 利用コミットメントに基づく割引
- CUR 2.0 — Athena でクエリできる詳細な明細請求データ
推奨セットアップ: サンドボックスでの実行、監査ログ、エンタープライズ制御のために AWS MCP サーバーを使用します。参照先:https://docs.aws.amazon.com/aws-mcp/
AWS MCP を使用しない場合: すべてのコマンドは標準的な AWS CLI 構文を使用しており、CLI にアクセスできる任意のエージェントで動作します。
重要なルール:必ず現在の日付を確認する
Cost Explorer、Budgets、Savings Plans の API を呼び出す前に、必ず現在の日付を確認してください。 ツールを使って現在の日付と時刻を取得してください。年を推測したり、決めつけたりしてはいけません。LLM は実際の現在の日付ではなく、学習データの日付を使いがちです。その結果、古いデータに基づく分析が、正しそうに見えても完全に誤ったものになります。
重要なルール:計算は決定論的に行う
回答内で推論して、数値計算(合計、平均、割合、比較、件数、最小値/最大値)を行ってはいけません。 LLM の算術計算は信頼性に欠け、コストデータに対して誤った回答を生成します。
API 呼び出しで返されたデータについて計算する場合は、必ずスクリプトまたは計算ツールを使用してください。 計算を実行して結果を出力する Python スクリプトを書いてください。AWS MCP サーバーの run_script ツールが利用できる場合は、それを使用してください。利用できない場合は、スクリプトをローカルで実行してください。
計算パターンと例については、references/deterministic-calculations.md を参照してください。
判断ガイド
| 質問 | ツール | リファレンス |
|---|---|---|
| 支出額はいくらですか?コストが増えているのはどこですか? | Cost Explorer | references/cost-explorer.md |
| サービスの料金はいくらですか? | Price List API | references/pricing-lookup.md |
| どこでコストを削減できますか?(まずはこちら) | Cost Optimization Hub | references/cost-optimization-hub.md |
| Savings Plans を購入すべきですか? | CE SP Recommendations | references/savings-plans.md |
| Reserved Instances を購入すべきですか? | CE RI Recommendations | references/reserved-instances.md |
| 特定の EC2/Lambda/EBS/RDS の推奨事項を詳しく確認するには? | Compute Optimizer | references/ec2-rightsizing.md、references/lambda-optimization.md、references/rds-optimization.md、references/ebs-optimization.md |
| 予算アラートを設定するには? | Budgets | references/budgets.md |
| コストの急増の原因は何ですか? | Cost Anomaly Detection | references/cost-explorer.md |
| Free Tier の範囲内ですか? | Free Tier API | references/free-tier.md |
| 請求額を減らすには? | Cost Audit ワークフロー | references/cost-audit.md |
| 詳細な請求データをクエリするには? | CUR 2.0 + Athena | references/cur-athena.md |
| 特定のサービスを最適化するには? | サービスごとのパターン | references/service-optimization.md |
| コストの範囲を請求ビューに限定するには? | Billing Views | 以下のBilling Viewsを参照してください |
一般的なタスク
サービス別にコストを分析する
aws ce get-cost-and-usage \
--time-period Start=2026-03-01,End=2026-04-01 \
--granularity MONTHLY \
--metrics UnblendedCost \
--group-by Type=DIMENSION,Key=SERVICE
デフォルトでは UnblendedCost を使用します。クレジットと返金を除外するには、--filter '{"Not":{"Dimensions":{"Key":"RECORD_TYPE","Values":["Credit","Refund"]}}}' を指定します。終了日は期間に含まれません。
コスト監査を実施する
7 ステップのワークフロー全体については、references/cost-audit.md を参照してください。主なコスト要因 → 前月比の比較 → 最適化の推奨事項 → アイドル状態のリソース → コミットメントのカバレッジ → サービス別のすぐに実行できる改善策 → レポート、の順に進めます。
適正サイズの推奨事項を取得する
Compute Optimizer を使用するには、事前にオプトインする必要があります。aws compute-optimizer update-enrollment-status --status Active を実行してください。その後、EC2 については references/ec2-rightsizing.md を、その他のリソースについては該当するリソース固有のリファレンスを参照してください。
サービスの料金を調べる
サービスコードと属性フィルターについては、references/pricing-lookup.md を参照してください。よくある落とし穴は、Price List API のサービスコードが Cost Explorer のサービス名と異なることです。
請求ビュー
請求ビューは、アカウントの請求に含まれるコストおよび使用状況データの範囲を特定の区分(請求グループ、カスタムビュー、デフォルトのプライマリビューなど)に限定します。特定の請求ビューを通じてコストを分析したい場合は、対応する API 呼び出しに --billing-view-arn を追加します。
利用可能な請求ビューを確認する
aws billing list-billing-views \
--billing-view-types PRIMARY CUSTOM BILLING_GROUP
billing:ListBillingViews 権限が必要です。
Cost Explorer で請求ビューを使用する
aws ce get-cost-and-usage \
--time-period Start=2026-03-01,End=2026-04-01 \
--granularity MONTHLY \
--metrics UnblendedCost \
--group-by Type=DIMENSION,Key=SERVICE \
--billing-view-arn arn:aws:billing::ACCOUNT_ID:billingview/BILLING_VIEW_ID
請求ビューを対象とする予算を作成する
--budget の JSON に BillingViewArn フィールドを含めます。
aws budgets create-budget --account-id ACCOUNT_ID \
--budget '{
"BudgetName": "TeamX-Monthly",
"BudgetLimit": {"Amount": "1000", "Unit": "USD"},
"TimeUnit": "MONTHLY",
"BudgetType": "COST",
"BillingViewArn": "arn:aws:billing::ACCOUNT_ID:billingview/BILLING_VIEW_ID"
}'
--billing-view-arn の API 対応状況
--billing-view-arn に対応 | 非対応 |
|---|---|
ce get-cost-and-usage | ce get-reservation-coverage |
ce get-cost-and-usage-with-resources | ce get-reservation-utilization |
ce get-cost-forecast | ce get-savings-plans-coverage |
ce get-usage-forecast | ce get-savings-plans-utilization |
ce get-dimension-values | |
ce get-tags | |
ce get-cost-comparison-drivers | |
budgets create-budget(予算 JSON 内) |
トラブルシューティング
| エラー | 原因 | 対処方法 |
|---|---|---|
Cost Explorer での ValidationException | ディメンションキーが誤っている(例:RECORD_TYPE ではなく CHARGE_TYPE) | 料金タイプのフィルタリングには RECORD_TYPE を使用します |
| フィルターを指定すると結果が空になる | フィルター値が完全には一致していない | 最初に GetDimensionValues を呼び出して有効な値を取得します |
時間単位データでの AccessDeniedException | 時間単位の粒度が有効になっていない | Cost Explorer の設定で有効にします |
Compute Optimizer での Account not registered | オプトインしていない | update-enrollment-status --status Active を実行します |
| Budgets API が us-east-1 以外で失敗する | Budgets には us-east-1 が必要 | --region us-east-1 を設定します |
Cost Explorer で GroupBy を指定すると Total が空になる | 仕様上、グループ化すると合計は含まれません | GroupBy を指定せずに別の呼び出しを行うか、スクリプトを使ってグループ化された結果を合計します |
list-billing-views での AccessDeniedException | 権限が不足している | ユーザーに billing:ListBillingViews 権限が必要です |
--billing-view-arn を指定したときの ValidationException | API が請求ビューに対応していない、または ARN の形式が正しくない | 上記の API 対応表を確認します。ARN の形式は arn:aws:billing::ACCOUNT_ID:billingview/VIEW_ID です |
予算のヘルスステータスが UNHEALTHY と表示される | 請求ビューへのアクセス権が取り消されたか、ビューが削除された | describe-budget の出力で HealthStatus.StatusReason を確認し、billing:GetBillingViewData が付与されていることを確認します |
追加リソース
- AWS Cost Management ユーザーガイド:https://docs.aws.amazon.com/cost-management/
- AWS Pricing Calculator:https://calculator.aws/
- Compute Optimizer ユーザーガイド:https://docs.aws.amazon.com/compute-optimizer/
- Well-Architected コスト最適化の柱:https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/