Amazon BedrockでRAGを構築するとき、「Bedrock Managed Knowledge Base」と、S3 Vectorsなどを使うCustomer-managed Knowledge Baseでは、料金の数え方が異なります。ストレージの1GB単価だけを比べても、どちらが安いかは判断できません。
Managed Knowledge Baseは、取り込み、パース、埋め込み生成、インデックス、検索、リランキングまでをまとめて管理するサービスです。一方、S3 Vectorsを使う構成では、ベクトル保存や検索の料金に加え、埋め込み生成と運用を含めて見積もります。
まず結論:比較する項目が異なる
| 比較項目 | Bedrock Managed Knowledge Base | Customer-managed + S3 Vectors |
|---|---|---|
| 主な保存料金 | インデックスへ取り込む生データ量 | ベクトル、キー、メタデータの論理サイズ |
| 検索料金 | Retrieve APIまたはAgentic Retrieve APIの回数 | クエリ回数、インデックスの処理量、返却量 |
| 埋め込み | 管理モデルは追加料金なし | 利用する埋め込みモデルの推論料金を確認 |
| パース・リランキング | 管理パーサーと管理リランカーは追加料金なし | 選択した処理方法やモデルの料金を確認 |
| 基盤管理 | Bedrockが管理 | 利用者がデータストアと構成を管理 |
| 検索機能 | ハイブリッド検索、Agentic Retrievalに対応 | データストアに応じて選択 |
Managed側の「生データ1GB」と、S3 Vectors側の「ベクトル1GB」は同じデータ量ではありません。元文書の容量、チャンク数、埋め込み次元数、メタデータ量によってベクトル側のサイズが変わるためです。
Bedrock Managed Knowledge Baseの料金
AWS公式料金ページでは、Managed Knowledge Baseの主な料金は次のように案内されています。料金は変更される可能性があるため、実際の見積もりでは最新の公式料金ページも確認してください。
- Index Storage:生データ1GBあたり月額5.00 USD
- Standard Retrieval:Retrieve API 1,000回あたり1.00 USD
- Agentic Retrieval:Agentic Retrieve API 1,000回あたり4.00 USD
- Agentic Retrieval内部のRetrieve API:1,000回あたり1.00 USD
管理パーサーによるマルチモーダル文書解析、管理モデルによる埋め込み生成、管理リランカーは追加料金なしです。独自の埋め込みモデルやリランカーモデルを選ぶ場合は、そのモデル料金が別に発生します。
AgentCore Gateway経由で呼び出す場合のGateway料金や、Observabilityを有効にした場合のCloudWatch料金も別途考慮します。
Managed Knowledge Baseの計算例
50GBの文書を保存し、Standard Retrievalを月10万回実行する例では、次の計算になります。
- Index Storage:50GB × 5.00 USD = 250 USD
- Standard Retrieval:100,000回 ÷ 1,000 × 1.00 USD = 100 USD
- 月額合計:350 USD
同じ50GBでも、検索回数が少なければ保存料金の比率が高くなり、検索回数が増えるほどRetrieve API料金の影響が大きくなります。
Agentic Retrievalは内部の検索回数も見る
Agentic Retrievalは、質問を複数の検索へ分解して情報を集めるため、Agentic Retrieve APIの呼び出し回数だけでは見積もれません。内部で実行されるRetrieve APIの回数も料金に含めます。
月10万回のAgentic Retrieveを実行し、1回あたり平均2回のRetrieveを行う場合は、公式例では次の内訳です。
- 50GBのIndex Storage:250 USD
- Agentic Retrieve API 10万回:400 USD
- 内部Retrieve API 20万回:200 USD
- 月額合計:850 USD
見積もりでは、試験環境で1回の質問から何回の内部検索が発生するかを確認し、平均値とピーク値を記録します。
S3 Vectorsを使う場合の料金項目
S3 Vectorsは、ベクトルを保存・検索するためのS3の専用バケットです。通常のS3 Standardのストレージ単価をそのまま当てはめるのではなく、S3 Vectors固有の料金を使います。
- PUT:登録するベクトルの論理データ量
- Storage:ベクトル、キー、メタデータを含む保存量
- Query API:検索リクエスト回数
- Data processed:検索対象インデックスの処理量
- Data returned:検索結果として返すデータ量
ベクトル1件のサイズは、おおむね「次元数 × 4バイト」にキーとメタデータを加えて考えます。1024次元なら、ベクトル本体は約4KBです。チャンク数が増えるほどベクトル件数が増え、保存量と検索時の処理量に影響します。
S3 Vectorsなら必ず安いわけではない
S3 Vectorsは大量のベクトルを低コストで保存・検索する用途に向きます。ただし、比較対象には次の費用や作業も含めます。
- 元文書を保存する通常のS3バケット
- 埋め込み生成モデルの推論
- データ同期、失敗監視、再実行
- チャンク方式やメタデータ設計
- 必要に応じたリランキングや回答生成
- 権限、暗号化、ログ、削除手順の運用
Managed Knowledge Baseは単価が高く見えても、パース、埋め込み、リランキング、インフラ運用を含みます。S3 Vectorsは利用量課金を細かく最適化できますが、構成と運用を利用者側で判断する範囲が広くなります。
比較用の見積もり手順
- 対象文書の合計容量と月間増加量を測る。
- 実際のチャンク方式で、文書あたりのチャンク数を測る。
- 埋め込みの次元数、キー、メタデータを含むベクトルサイズを見積もる。
- 月間の取り込み回数、Standard Retrieval回数、Agentic Retrieval回数を見積もる。
- 検索1回あたりの結果件数と返却メタデータ量を決める。
- 監視、障害対応、更新、削除に必要な運用工数を加える。
- 同じデータと同じ検索条件で小規模に試験し、実績値へ置き換える。
特に「元文書のGB」と「生成後のベクトルGB」を分けて記録することが重要です。ここを同じ容量として比較すると、見積もりが大きくずれる可能性があります。
どちらを選ぶか
Managed Knowledge Baseが向くケース
- 短期間でRAGを立ち上げたい
- SharePointやConfluenceなどのネイティブコネクタを使いたい
- マルチモーダル文書を扱いたい
- ハイブリッド検索やAgentic Retrievalを使いたい
- データストアや検索基盤の管理を減らしたい
Customer-managed + S3 Vectorsが向くケース
- 大量のベクトルを保存し、コストを細かく最適化したい
- セマンティック検索を中心に構成できる
- チャンク、埋め込み、メタデータ、同期方式を自分で管理したい
- 既存の処理パイプラインを活用できる
まとめ
Bedrock Managed Knowledge Baseは、生データのIndex Storageと検索API回数が見積もりの中心です。S3 Vectorsでは、ベクトル保存量、PUT量、検索回数、処理量、返却量を見ます。
どちらが安いかは、元文書の容量だけでは決まりません。実際のベクトル件数、月間検索回数、必要な検索機能、運用工数を同じ条件で並べて比較してください。
参考資料
- Amazon Bedrock Pricing
- Build a managed knowledge base
- Amazon S3 Pricing
- Working with S3 Vectors and vector buckets
