初めに
Bedrock Managed KBは マネージドとセルフマネージドが存在します。
公式ドキュメントは1つにまとめられ、その中で個別にマネージド専用の記載があったりして差分が各所に散らばっていてわかりづらかったのでまとめてみました
20206年7月時点の情報です。今後変更される可能性があります
検証環境
- リージョン: us-east-1
- セルフマネージド KB(type: VECTOR): S3 Vectors + Titan Text Embeddings v2
- Managed KB(type: MANAGED): 組み込みモデルのデフォルト構成
- データ: 同一バケットの Markdown 12本 + それぞれの metadata.json
基本差分
| 観点 | セルフマネージドKB | マネージドKB | 根拠 |
|---|---|---|---|
| Agentic retrieval(エージェント検索) | 非対応 | 対応 | 公式 |
| データストア | ユーザーが選択・プロビジョニング・管理 | AWS管理の自動スケールストア | 公式 |
| 検索方式 | 自分で選択 | エージェント検索+セマンティックハイブリッド | 公式 |
| 埋め込みモデル | 任意のBedrock埋め込みモデルをユーザーが選択 | 組み込みモデル | 公式 |
| リランキング | 組み込み無し。Bedrockのリランカーモデルを自分で指定 | 組み込みセマンティックリランカーが付属 | 公式 |
| コネクタ | 6種(S3 / SharePoint / Confluence / Web Crawler / Salesforce / Custom) | 7種(S3 / SharePoint / Confluence / Web Crawler / Google Drive / OneDrive / Custom) | 公式 |
| パース | Default(テキスト)/ Foundation Model / Bedrock Data Automation から選択 | マルチモーダル対応の組み込みパーサ | 公式 |
| ACL-aware retrieval | 非対応 | 対応 | 公式 |
| AgentCore Gateway 統合 | 非対応 | 対応(プレビルトターゲット) | 公式 |
構成・作成
| 観点 | セルフマネージドKB | マネージドKB | 根拠 |
|---|---|---|---|
| データソース作成 | type: S3 |
MANAGED_KNOWLEDGE_BASE_CONNECTOR + connectorParameters
|
公式 |
| 埋め込みモデル / ベクトルストア | ユーザーが選択・管理 | ベクトルストアはAWS管理で選択不可 | 公式 |
| チャンキング | 指定可(作成後変更不可) | Smart Parsing | 公式 |
| 削除保護(Document deletion safeguard) | なし | あり。deletionProtectionStatus(ENABLED/DISABLED)+ deletionProtectionThreshold
|
公式 |
同期(ingestion)
| 観点 | セルフマネージドKB | マネージドKB | 根拠 |
|---|---|---|---|
| 同期の開始オーバーヘッド | ほぼゼロ | 約60秒 | 実測 |
| metadata.jsonのみ変更した時の反映範囲 | メタデータのみ差し替え | 文書ごとフル再インデックス | 実測 |
| ゾンビ文書 | 観測なし | 発生する ※1 | 実測 |
※1: Qiita 記事参照
検索(Retrieve)
| 観点 | セルフマネージドKB | マネージドKB | 根拠 |
|---|---|---|---|
| retrievalConfiguration | vectorSearchConfiguration |
managedSearchConfiguration |
公式 |
| メタデータフィルタ演算子 | 全演算子 |
startsWith / stringContains 非対応 |
公式 |
| 予約metadataフィールド |
x-amz-bedrock 接頭辞 |
_ 接頭辞(_source_uri, _data_source_id 等) |
公式 |
| 返却されるチャンク(.md限定) | 子チャンクが親テキストに置換され文書丸ごと+同一親の重複排除 | チャンク単位で返る(構造ベース) | 実測 |
location.s3Location.uri の形式 |
s3://bucket/key |
https://<bucket>.s3.amazonaws.com/<key> |
実測 |
その他
| 観点 | セルフマネージドKB | マネージドKB | 根拠 |
|---|---|---|---|
| Bedrock Evaluations(RAG評価) | 使える | 非対応 | 実測 |
| RetrieveAndGenerate API | 使える | 非対応 | 公式 |
まとめ
公式に細かく記載されていない部分(S3 URLの表記違いや、metadata.json 変更時の再インデックス挙動など)で細かい差分が存在し、まだまだ見えてない部分もあると思われます。マネージドへの移行時は色々と調査した方が良さそうです。同期処理についてはマネージド・セルフマネージドでそもそも内部構造が違うような印象を受けました。
公式ドキュメント
- 比較表と機能一覧: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-build-managed.html
- 対応リージョン: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-managed-regions.html
- クォータ: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-managed-quotas.html
- ACL-aware retrieval: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-managed-acl.html
- リソースポリシー(クロスアカウント): https://docs.aws.amazon.com/bedrock/latest/userguide/kb-managed-cross-account.html
- 可観測性: https://docs.aws.amazon.com/bedrock/latest/userguide/kb-managed-observability.html
- RetrieveAndGenerate 非対応の明記: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_RetrieveAndGenerate.html
- deletionProtectionThreshold の意味(CFNリファレンス): https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-bedrock-datasource-deletionprotectionconfiguration.html
参考記事
- Managed Knowledge Base を触ってみた: https://dev.classmethod.jp/articles/bedrock-managed-knowledge-base-retrieve-agentic-retrieval/
- マルチモーダルRAGを構築してみた: https://dev.classmethod.jp/articles/bedrock-managed-kb-multimodal-rag/
- GA発表速報・英語: https://dev.classmethod.jp/en/articles/20260617-amazon-bedrock-managed-knowledge-base/