0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Bedrockのモデル料金を即日でみたいんだ【Bedrock Agentcore】

0
Posted at

はじめに

みなさんはBedrockを使っていて、料金確認を翌日まで待った経験はあるだろうか。

自分はある。AIエージェントにブラウザツールを持たせて動かしていたら、トークン数が爆発していた。気づいたのは翌日のAWS請求ページを見てから...。

「もっと早く知れたら止められたのに」と思った。

実はBedrockはCloudWatchにトークン数をnear real-timeで出している。それを知ってからは、請求ページを待たずにその場で確認できるようになった。

この記事ではCloudWatchを使った確認方法を紹介する。


AWSの料金確認はなぜ遅いのか

AWSの請求ページやCost Explorerは、料金データが反映されるまで1〜2日かかる。当日分はその日には出てこない。

これはAWS全体の仕様で、Bedrockも例外ではない。トークンをどれだけ使ったかは、使った瞬間にはわからない...。

でも、Bedrockは別のルートでリアルタイムに近い形でトークン数を外に出している。


BedrockはCloudWatchにトークン数を出している

Bedrockは AWS/Bedrock というCloudWatchの名前空間に、モデル呼び出しのメトリクスをnear real-timeで送っている。

その中に InputTokenCountOutputTokenCount がある。

InvokeModel・Converse どちらのAPI経由でも記録される。Strandsのようなフレームワークが内部でConverseを叩いていても問題ない!!


CloudWatchメトリクスで集計を確認する

設定不要。AWSコンソールだけで確認できる。

確認手順

  1. AWSコンソールで CloudWatch を開く

  2. 左メニューから メトリクス → すべてのメトリクス を選択
    image.png

  3. Bedrock を選択
    image-1.png

  4. モデルID別 を選択(モデルごとに料金が異なるため)
    image-2.png

  5. InputTokenCountOutputTokenCount を選択
    image-3.png

統計は「合計(Sum)」で見る

ここで1つ罠がある。

デフォルトの統計が Average(1呼び出しあたりの平均トークン数)になっている。これのままだと全然違う数字が出てくる。

料金計算に使いたいのは期間の合計なので、必ず Sum (合計)に変更する

変更場所はグラフ下のメトリクス一覧テーブルの 「統計」列Average (平均)の文字をクリックすると Sum (合計)に変更できる。
image-4.png

期間(Period)の選び方

月間累計を確認したい場合

  • 時間範囲を 月初〜今日 に設定
  • Period を 30日 に設定

これでカレンダー月に沿ったバケットが作られ、データポイントが1点だけ表示される。その値が今月ここまでの合計トークン数だ!!

image-5.png

image-6.png

当日の使用量を確認したい場合

  • 時間範囲を 今日 に設定
  • Period を 1日 に設定

その日に使ったトークン数が1点で表示される。「今日どのくらい使ってるんだろう」と気になったときに手軽に確認できる。

クロスリージョン推論プロファイルを使っている場合の注意

東京リージョンでBedrockを使っている場合、ModelIdに jp.global. のプレフィックスが付いているケースがある。これはクロスリージョン推論プロファイルで、プレフィックスによって単価が変わる

モデルIDのプレフィックス 入力 出力
なし / global. $1.00 / 1Mトークン $5.00 / 1Mトークン
jp. $1.10 / 1Mトークン $5.50 / 1Mトークン

jp. は日本国内でのデータ処理を保証する地域CRISで、グローバルより約10%割増になる。

CloudWatchのModelIdディメンションにこのプレフィックスが含まれるので、プレフィックスごとに単価を分けて計算する必要がある。

トークン数から料金を計算する

メトリクスで確認したトークン数から料金を計算する方法はこうなる。

料金(ドル) = global入力トークン数 / 1,000,000 × 1.00
            + global出力トークン数 / 1,000,000 × 5.00
            + jp入力トークン数     / 1,000,000 × 1.10
            + jp出力トークン数     / 1,000,000 × 5.50

実際に検証してみた

5/1〜5/26のトークン数をCloudWatchで取得して計算してみた。

CloudWatchから算出 Cost Explorerの実際の請求
Claude Haiku 4.5 $0.966 $0.97

誤差は約0.4%。CloudWatchの表示値が丸められているため(384,277トークンを384kと表示するなど)。料金感をつかむには十分な精度だと思う。

誤差がもっと小さくなる計算方法や見落としがあったらコメントで教えてもらえると嬉しい。

この方法の限界

アカウント内の全Bedrockの呼び出しが合計される。複数のアプリやエージェントを同時に動かしている場合、どれがどれだけ使ったかは区別できない...。

1つのエージェントだけ動かしているなら十分だと思う。


おわりに

AWS請求ページを1〜2日待たなくても、CloudWatchメトリクスを使えばBedrockのトークン使用量をほぼリアルタイムで確認できる。コードの変更も不要だ。

「エージェント単位でコードの中から監視したい」「ローカル開発中にも見たい」という場合は、Strandsのフックを使う方法が別途あるらしいので、今度調べてたいと思う。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?