【ITニュース解説】Amazon Bedrockのコストをユーザー別管理するためにApplication Inference Profilesを試した
2025年09月18日に「Qiita」が公開したITニュース「Amazon Bedrockのコストをユーザー別管理するためにApplication Inference Profilesを試した」について初心者にもわかりやすく解説しています。
ITニュース概要
Amazon BedrockのAI利用料金は、通常AWSアカウントでまとめて管理される。しかし、複数ユーザーや用途で使う場合、個別の費用を把握したいケースがある。この記事は、Application Inference Profilesを利用し、このAIコストをユーザー別・用途別に細かく分けて管理する方法を解説している。
ITニュース解説
Amazon Bedrockは、大規模言語モデル(LLM)をはじめとする強力な生成AIモデルを、開発者が簡単に利用できるようにしたAWSのマネージドサービスである。これにより、複雑なAIモデルのインフラ管理を行うことなく、アプリケーションにAIの機能を組み込むことが可能になる。しかし、このような便利なサービスを利用する上で、サービスの利用料金、つまり「コスト」の管理は非常に重要となる。特に、一つのAWSアカウント内で複数のユーザーが同じAIモデルを利用したり、異なる目的で利用したりする場合、コストの把握が課題となることがある。
通常、AWSアカウント内で発生するBedrockの利用コストは、設定によっては全て一括りにして計上される。これは、例えば会社全体でAIサービスを利用している場合、どの部署がどれだけの費用を使っているのか、あるいはどのプロジェクトがコストを圧迫しているのかを把握するのが難しいという問題を引き起こす。正確なコストの内訳が分からないと、予算の計画や、サービスの利用状況に応じた適切なリソース配分、さらには不正利用の検知などが困難になる。個々のユーザーや用途ごとのコストを明確に把握できれば、利用状況の分析が進み、より効果的なサービス運用や予算管理につながる。
このような課題を解決するための一つのアプローチとして、「Application Inference Profiles」という概念が紹介されている。これは、Bedrockへのリクエストに特定の情報を付与することで、そのリクエストがどのユーザーやどの用途によるものなのかを識別し、コストを細かく管理できるようにする仕組みである。具体的には、AWSの各種サービスを連携させ、Bedrockへのリクエストに「タグ」と呼ばれる識別子を動的に付与する。このタグを使うことで、後からコストの内訳を詳細に分析できるようになる。
この仕組みを実現するための具体的な構成は次のようになる。まず、ユーザーはWebアプリケーションなどを通じてAIサービスを利用するが、その際にAWS Cognito(コグニート)という認証サービスでユーザー認証を行う。Cognitoは、ユーザーのサインアップやサインイン、アクセス制御などを管理するサービスで、これにより「誰が」サービスを利用しようとしているのかを識別できる。
次に、ユーザーからのリクエストはAPI Gateway(APIゲートウェイ)を経由する。API Gatewayは、Web APIの入り口として機能し、セキュリティやルーティング、リクエストの変換などを担う。このAPI Gatewayに、AWS WAF(ウェブアプリケーションファイアウォール)を連携させる。WAFは、Webアプリケーションへの不正なアクセスや攻撃から保護するサービスであるが、ここではリクエストの内容を検査し、必要に応じて変更を加える役割を果たす。このWAFの機能を使って、Cognitoで認証されたユーザーのID情報をリクエストに含めるように設定する。
WAFで加工されたリクエストは、AWS Lambda(ラムダ)というサーバーレスコンピューティングサービスで処理される。Lambdaは、プログラムコードを実行するためのサービスで、サーバーの準備や管理が不要なため、必要な時に必要なだけ処理を実行できる。ここでLambda関数が、WAFから受け取ったリクエスト内のユーザーIDなどの情報をもとに、Bedrockに送信するリクエストに「タグ」を付与する処理を行う。タグは、キーと値のペアで構成される識別子で、例えば「User:Suzuki」や「Project:A」といった形で情報を紐付けられる。
Lambda関数は、タグが付与されたリクエストをAmazon Bedrockに送信し、Bedrockはそのリクエストに応じたAIモデルの推論を実行する。このとき、Lambdaによって付与されたタグ情報は、Bedrockの利用ログやコスト情報に紐付けられて記録される。
最終的に、このタグ付けされたコスト情報はAWS Cost Explorer(コストエクスプローラー)で確認できるようになる。Cost Explorerは、AWSのコストを可視化・分析するためのツールで、タグ情報を使って費用をフィルタリングしたり、グラフで表示したりすることが可能である。例えば、「User」タグで絞り込むことで、特定のユーザーがどれだけのBedrock費用を使ったのかを簡単に把握できる。また、「Project」タグを使えば、プロジェクトごとの費用配分を明確にすることも可能になる。
このApplication Inference Profilesのアプローチは、複数のユーザーや用途でBedrockを利用する際に、コスト管理の透明性を大幅に向上させる。誰が、何のために、どれくらいのコストを使っているのかが明確になることで、よりきめ細やかな予算管理や、リソースの最適化が可能になる。企業や組織がAIサービスの利用を拡大していく上で、このような詳細なコスト管理の仕組みは不可欠であり、大規模なAIシステムを安定的に運用するための基盤となる。システムエンジニアを目指す上で、このような実運用における課題解決のアプローチを理解することは、将来のシステム設計や運用に役立つ重要な知識となるだろう。