3
1

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破産対策】Identity Center(SAML)連携のBedrockプロキシを作ってユーザ別にClaude Codeの日次・月次限度額を管理する

3
Last updated at Posted at 2026-08-02

Claude Code や Claude App を使ってみたいけど、最初から月額20ドルを払うのはちょっとお財布が・・・という場合に、AWS Bedrock を利用することで、完全従量制で利用することができます。

ただし、完全従量制ということは、コストが青天井であるということです。

少額で色々試したいのに、AWSの予算アラートは数時間遅れで飛んでくるので、気づいた時には予算を大幅に超過しているなんてことが起こり得て、限られたお小遣いでの個人開発には結構なリスクです。また、チームで共有してBedrockを使いたいといった場合にも、ユーザごとにクオータを設定して、特定の個人が予算を使い切ってしまうことを防ぎたいニーズはあると思います。

公式ツールはうまく動かせず、無駄にトークンを消費することに・・・

ネットを検索して、最初はAWS公式のGitHubリポジトリで公開されている管理ツールを試そうとしました。

しかし、このツールでは複数ユーザ管理のためには外部のOIDCプロバイダが必要です。今回認証基盤として使いたかった AWS IAM Identity Center は、残念ながら手軽なOIDC連携が難しいようで、利用をあきらめました。

また、手順通りにデプロイを試してもうまくいかず、Bedrock経由のClaudeで色々こねくり回して試行錯誤していたら、気づけば40ドルを超えてしまっていました。

image.png

自分でも何をやったのか記憶もないですがこちらに記録は残します。

ただ、こちら、ECS FargateやALB(Application Load Balancer)が必要のようで、これらは常時稼働のリソースとなるため、全く使っていない時間帯でも定常的にそこそこのインフラコストがかかってしまいます。

Claude Apps Gateway、爆誕

そうこうしているうちに、Anthropic公式から、「Claude Apps Gateway」というサービスが発表されました。
AWSやGCP上にゲートウェイを構築して、Claudeのあらゆる機能を使えるようになるみたいです。

ただし、この公式のセルフホスト型ツールも常時稼働のリソースがあり運用コストがかかるため、LambdaとDynamoDBを使って、コスト管理ができるBedrockプロキシを作りました。


それがこちらです。

Claude Code Bedrock Proxy

主な特徴とアーキテクチャ

  • Lambdaベースで稼働: 待機時のオーバーヘッドコストはほとんどかからないはずです。(Lambdaを起動する分、推論の開始に少しだけ時間はかかります)

  • SAML認証: AWS IAM Identity Center と、 OIDC ではなく SAML で連携します。

  • DynamoDBでコスト管理: ユーザーごとの利用額とモデルコストを管理します。専用の管理画面からクォータ(上限)管理設定も可能です。

導入方法

DEPLOY.md を参照してください。(後半に日本語版があります。)
基本的にはAWS Identity Centerを設定した後、Secretなどをセットして、proxytoken_issuer の2つのディレクトリで sam buildsam deploy を何度か実行すればOKです。

使い方 (Claude Code CLI)

使い方は非常にシンプルです。

Identity Center経由でログインします。
image.png

アプリケーションから、Claude Code Token Issuer を選択します。
image.png

すると、認証が成功して、有効期限24時間(ビルド時に設定可能)のトークンが発行されます。
スクリーンショット 2026-08-02 16.01.00.png

下にスクロールすると、ターミナルに貼り付けるコマンドが用意されているので、コピペですぐに利用開始することができます。

スクリーンショット 2026-08-02 16.05.43.png

これだけで、CLIClaude CodeからBedrockを利用できます。

スクリーンショット 2026-08-02 16.21.10.png

余談ですが、こいつ・・・
image.png

北海道テレビ(HTB)のキャラクター、onちゃんの友達、ohちゃんに似てるんですよね・・

なぜか家にあるカレンダーをみて、気づきました。

image.png

というのはおいておいて。

使いかた (Claude App(デスクトップ版))

開発者モードをオンにした Claude App(デスクトップ版) でも使うために、アプリ側が要求する「モデル一覧」を返すAPIも実装しています。

ヘルプから開発者モードを有効にした後、開発メニューから「サードパーティ推論を設定」をクリックします。

スクリーンショット 2026-08-02 16.29.36.png

ゲートウェイ ベースURLに、コンソール同様に /prod で終わるURLを指定して、APIキーにトークンを貼り付けます。

スクリーンショット 2026-08-02 16.31.50.png

接続テスト、モデルディスカバリーのテストをクリックして、それぞれ正常終了することを確認します。
スクリーンショット 2026-08-02 16.32.38.png

設定を反映するために再起動すると、動くようになります。

image.png

利用金額の確認方法

Token Issuerページをリロードすると、利用金額が表示されます。
これで安心ですね。

スクリーンショット 2026-08-02 17.07.58.png

Admin設定

AWS Identity Center側でAdminグループに登録したユーザは、Admin Consoleへのアクセス権もあります。

image.png

画面上で、各ユーザごとにクオータ設定を変更できます。また、タイムゾーンを設定することで、ローカル時間の深夜12時に日次クオータをリセットできます。

スクリーンショット 2026-08-02 17.18.59.png

※注意点
仕様上、Identity Centerで追加したユーザーが管理画面に表示されるのは「初回ログインした後」になります。(Token Issuerの処理でユーザテーブルに追加されます。)
ユーザのクオータの初期値はビルド時のパラメータで設定できます。

開発の裏話:AIとのペアプロの限界

今回、当然のようにAI(コーディングアシスタント)と一緒に作ったのですが、実態としては修正するたびに人間の目で見てツッコミを入れる必要がありました。
例えば、

  • 「SAMLの署名検証ロジックが面倒くさいから」と、しれっと検証をスキップしたコードを出してくる。

  • 新しいパラメータを増やしたのに deploy.md に追加し忘れる。

  • AWSリソースのデプロイの依存関係を全く理解しておらず、デプロイでコケる。

image.png

テストハーネスをしっかり書いたり、Skill(ツール連携)などを活用すればもっと賢くなるのかもしれませんが、今の自分のプロンプト力ではこれが限界でした。まだまだ人間のマネジメントが必要ですね。

【小ネタ】Kiroと楽しむ月末駆動開発

この節は別の記事に切り出しました。

https://qiita.com/kkoiwai/items/cfd3788907d4a6485214

40ドルの消費におののいた自分は、AIコーディングアシスタントの「Kiro」も使ってみました。Kiroは、月額20ドルで1000トークンを利用可能ですが、初回利用の料金は1000トークンのまま、日割り計算になるようで、とてもお得です。

image.png

なので「月末」数日前に使い始めて、翌月が来る前にキャンセルすると、格安(日割り)なのに1000トークン丸々使えてお得です。Kiroの「月末駆動開発」、いつ仕様変更されるかわかりませんが、おすすめです。

image.png

私はAWS Identity Centerを使ってKiroを利用しているので、もしかしたらそれ以外のSubscriptionだと、初回のみ日割りなど、縛りがあるかもしれませんし、今後仕様変更されるかもしれませんので、ご自身の責任でご活用ください。

おわりに

「個人やチームで、手軽かつコスト的にも安全・安心にClaude for Bedrock環境を構築したい」という方は、ぜひ試してみてください。
もしSAML周りなど、セキュリティの懸念点やツッコミどころがあれば、この記事のコメントやGitHubのIssue等で教えていただけると泣いて喜びます。

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?