
Cost Explorer の Amazon Bedrock product attributes でモデル別に集計してみた
はじめに
2026年10月8日、Cost Explorer が Amazon Bedrock の product attributes に対応しました。
group by とフィルタに provider や model などの属性を使うと、モデルごとに別のサービス名で表示される Bedrock の費用を、SERVICE を指定せずにまとめて取得できます。この記事では、属性の値、SERVICE フィルタとの関係、属性が空の費用の扱い、利用できる期間を、コンソールと AWS CLI で確認した結果を紹介します。
これまでの Bedrock 費用確認の課題
Cost Explorer で Bedrock の費用を見るとき、これまでは SERVICE ディメンションで絞り込むのが基本でした。ただし Bedrock はモデルによってサービス名が分かれるため、SERVICE だけでは全体を追いきれません。まず、その状況を確認します。
サービス名がモデルごとに分かれる
Anthropic と OpenAI のモデルは、Cost Explorer ではモデルごとに別のサービス名で表示されます。たとえば Claude Sonnet 5.5 は、Claude Sonnet 5.5 (Amazon Bedrock Edition) というサービス名で表示されます。検証アカウントを新しいモデルの評価に使っていたため、試すモデルが増えるたびにサービス名が増えていきました。次の表には、各月に確認できたモデルごとのサービス名を載せています。
| 利用月 | モデルごとのサービス名 |
|---|---|
| 8月 | Claude Opus 5、OpenAI GPT-5.6 Luna、OpenAI GPT-5.6 Sol、OpenAI GPT-5.6 Terra |
| 9月 | Claude Fable 5、Claude Fable 5.1、Claude Opus 5.5、Claude Sonnet 5.5、OpenAI GPT-6 Astra、OpenAI GPT-6.1 Sol |
| 10月 | Claude Sonnet 5、Claude Haiku 5.5 |
SERVICE フィルタでサービス名を列挙している場合は、モデルを追加するたびにフィルタを更新する必要があります。
コンソールの Service フィルタで bedrock と検索すると 32 件が該当し、Select all でまとめて選べます。この中には Bedrock AgentCore のようにモデルの費用ではないサービスも含まれます。

Amazon Bedrock だけに絞ると Claude と GPT が出ない
SERVICE を Amazon Bedrock だけに絞り、SERVICE と model 属性で group by しました。
aws ce get-cost-and-usage --region us-east-1 --time-period Start=2026-09-01,End=2026-10-09 --granularity MONTHLY --metrics UnblendedCost \
--filter '{"Dimensions":{"Key":"SERVICE","Values":["Amazon Bedrock"]}}' \
--group-by Type=DIMENSION,Key=SERVICE Type=PRODUCT_ATTRIBUTE,Key=model \
| jq -r '[.ResultsByTime[].Groups[].Keys | @tsv] | unique[]'
Amazon Bedrock model$
Amazon Bedrock model$Grok 4.7
Amazon Bedrock model$Nova 2.0 Lite
Amazon Bedrock model$Nova Lite
Amazon Bedrock model$xai.grok-4.6
Grok と Nova だけが表示され、Claude と GPT は含まれません。
Product attributes
対応しているサービスは、現時点では Amazon Bedrock だけです。この記事の AWS CLI のバージョンは 2.37.11 です。
属性のキーは provider、model、inferenceType、feature の4つで、次のコマンドで取得できます。
aws ce get-dimension-values --region us-east-1 --time-period Start=2026-09-01,End=2026-10-09 --dimension PRODUCT_ATTRIBUTE --context COST_AND_USAGE \
| jq -r '.DimensionValues[].Value'
feature
inferenceType
model
provider
各キーの値は、--dimension-key にキー名を指定して取得します。値には空文字も含まれます。空文字は、その属性がない費用を表します。
provider
利用実績のあったモデルのプロバイダが表示されました。
aws ce get-dimension-values --region us-east-1 --time-period Start=2026-09-01,End=2026-10-09 --dimension PRODUCT_ATTRIBUTE --dimension-key provider --context COST_AND_USAGE \
| jq -r '.DimensionValues[].Value | if . == "" then "(空文字)" else . end'
(空文字)
Anthropic
OpenAI
xAI
model
利用実績のあったモデル名が表示されました。
aws ce get-dimension-values --region us-east-1 --time-period Start=2026-09-01,End=2026-10-09 --dimension PRODUCT_ATTRIBUTE --dimension-key model --context COST_AND_USAGE \
| jq -r '.DimensionValues[].Value | if . == "" then "(空文字)" else . end'
(空文字)
Banana
Claude Fable 5
Claude Fable 5.1
Claude Haiku 5.5
Claude Opus 5.5
Claude Sonnet 5
Grok 4.7
Nova 2.0 Lite
Nova Lite
OpenAI GPT-6 Astra
OpenAI GPT-6.1 Sol
xai.grok-4.6
inferenceType
利用実績のあった課金要素(入力・出力トークン、プロンプトキャッシュの読み書き)が表示されました。
aws ce get-dimension-values --region us-east-1 --time-period Start=2026-09-01,End=2026-10-09 --dimension PRODUCT_ATTRIBUTE --dimension-key inferenceType --context COST_AND_USAGE \
| jq -r '.DimensionValues[].Value | if . == "" then "(空文字)" else . end'
(空文字)
Input tokens
Input tokens global
Output tokens
Output tokens global
Prompt cache read input tokens
Prompt cache write input tokens
feature
利用実績のあった機能が表示されました。
aws ce get-dimension-values --region us-east-1 --time-period Start=2026-09-01,End=2026-10-09 --dimension PRODUCT_ATTRIBUTE --dimension-key feature --context COST_AND_USAGE \
| jq -r '.DimensionValues[].Value | if . == "" then "(空文字)" else . end'
(空文字)
On-demand Inference
SERVICE フィルタの要否
属性を使うときの SERVICE フィルタは、API によって任意か必須かが異なります。
- GetCostAndUsage、GetCostAndUsageWithResources:任意
- GetDimensionValues:フィルタに ProductAttributes を含めるときは必須(取得する Dimension を問わず)。それ以外は任意
- GetTags、GetCostCategories:フィルタに ProductAttributes を含めるときは必須
SERVICE 名との対応
SERVICE 名と model・provider の対応のうち、一部を抜粋しました。
| Service | Model | Provider |
|---|---|---|
| Amazon Bedrock | Grok 4.7 | xAI |
| Amazon Bedrock | xai.grok-4.6 | (空文字) |
| Amazon Bedrock | Nova Lite | (空文字) |
| Claude Sonnet 5.5 (Amazon Bedrock Edition) | Banana | Anthropic |
| OpenAI GPT-6 Astra (Amazon Bedrock Edition) | OpenAI GPT-6 Astra | OpenAI |
- provider でまとまる:サービス名が違っても、Claude は Anthropic、GPT は OpenAI、Grok 4.7 は xAI にまとまります。
- model はサービス名とほぼ同じ:Claude と GPT は、サービス名から (Amazon Bedrock Edition) を除いた部分が、そのまま model に入ります。サービス名と model が一致しない例が1件あり、Claude Sonnet 5.5 (Amazon Bedrock Edition) の model には Banana が入っていました。
- provider が空のモデルがある:Nova と xai.grok-4.6 は provider が空です。
SERVICE を指定せずに CLI で集計する
複数のサービス名に分かれる費用をすべて含めたいときは、SERVICE を省略します。
provider で group by する
SERVICE を指定せず、provider だけで group by しました。
aws ce get-cost-and-usage --region us-east-1 --time-period Start=2026-09-01,End=2026-10-10 --granularity MONTHLY --metrics UnblendedCost \
--group-by Type=PRODUCT_ATTRIBUTE,Key=provider \
| jq -r '[.ResultsByTime[].Groups[].Keys[0]] | unique[]'
provider$
provider$Anthropic
provider$OpenAI
provider$xAI
SERVICE で絞らなくても、属性で group by するだけで、Bedrock の費用だけが表示されました。
ProductAttributes フィルタで絞る
provider の3つの値を ProductAttributes フィルタに指定し、SERVICE で group by しました。
aws ce get-cost-and-usage --region us-east-1 --time-period Start=2026-09-01,End=2026-10-10 --granularity MONTHLY --metrics UnblendedCost \
--filter '{"ProductAttributes":{"Key":"provider","Values":["Anthropic","OpenAI","xAI"]}}' --group-by Type=DIMENSION,Key=SERVICE \
| jq -r '[.ResultsByTime[].Groups[].Keys[0]] | unique[]'
Amazon Bedrock
Claude Fable 5 (Amazon Bedrock Edition)
Claude Fable 5.1 (Amazon Bedrock Edition)
Claude Haiku 5.5 (Amazon Bedrock Edition)
Claude Opus 5.5 (Amazon Bedrock Edition)
Claude Sonnet 5 (Amazon Bedrock Edition)
Claude Sonnet 5.5 (Amazon Bedrock Edition)
OpenAI GPT-6 Astra (Amazon Bedrock Edition)
OpenAI GPT-6.1 Sol (Amazon Bedrock Edition)
フィルタ1つで、サービス名が分かれている Claude と GPT、サービス名が Amazon Bedrock の Grok 4.7 をまとめて取得できました。
コンソールで使う
Group by に Product attribute → Model を選び、フィルタなしで実行しました。Service フィルタを使わなくても、Claude・GPT・Grok・Nova のモデルが並びます。属性がない費用は、No product attribute: Model の行にまとまります。

Anthropic や OpenAI など、provider が設定されているモデルの費用だけを見たいときは、Model provider で絞ります。次の画面は、フィルタに Model provider の Anthropic・OpenAI・xAI を指定し、Group by は Model のままにしたものです。provider が空の xai.grok-4.6 と Nova は、このフィルタで除外されます。

Model provider 以外の属性も、フィルタに使えます。Inference type のフィルタには Includes と Excludes の切り替えがあります。選べる値は、CLI で取得した6つ(空文字を除く)と、No product attribute: Inference type です。

属性が空の費用を拾う
属性が空の費用は、ProductAttributes フィルタの MatchOptions に ABSENT を指定すると取得できます。このとき Values は省略します。model が空の費用を、SERVICE で group by しました。
aws ce get-cost-and-usage --region us-east-1 --time-period Start=2026-09-01,End=2026-10-10 --granularity MONTHLY --metrics UnblendedCost UsageQuantity \
--filter '{"ProductAttributes":{"Key":"model","MatchOptions":["ABSENT"]}}' \
--group-by Type=DIMENSION,Key=SERVICE \
| jq -r '[.ResultsByTime[].Groups[].Keys[0]] | unique[]'
Amazon Bedrock
Amazon Bedrock AgentCore
コンソールで Group by を Model にしたときの No product attribute: Model の行と同じ費用を、CLI で取得できました。
取得できる期間
属性のデータは 2026-09-01(UTC)以降の期間で利用できます。それより前の期間を指定して属性を使うと、API はエラーを返します。
aws ce get-dimension-values --region us-east-1 --time-period Start=2026-08-31,End=2026-09-01 --dimension PRODUCT_ATTRIBUTE --context COST_AND_USAGE
aws: [ERROR]: An error occurred (DataUnavailableException) when calling the GetDimensionValues operation: Product attribute information is not available before 2026-09-01
コンソールでは、2026-09-01 より前を含む期間を指定すると、product attribute の選択と Service フィルタが解除されるという警告が表示されます。

まとめ
Amazon Bedrock product attributes を Cost Explorer で試しました。provider か model で group by するだけで、SERVICE を指定しなくても Bedrock の費用だけが集計でき、Claude や GPT のようにモデルごとにサービス名が分かれていても provider でまとまります。利用するモデルが増えるたびに SERVICE フィルタへサービス名を追加する必要はなくなります。
一方で、Nova や xai.grok-4.6 のように provider が空のモデルもあり、Model provider で絞ると除外されます。空の費用は MatchOptions の ABSENT で拾えます。属性のデータは 2026-09-01(UTC)以降に限られ、それより前の期間を含めるとエラーや警告になる点にも注意が必要です。
Bedrock の利用詳細を見るには CUR 2.0 を Athena で解析する方法もありますが、CUR 2.0 ほどの粒度が必要ない場合は、アップデートされた Cost Explorer を試してみてください。











