Amazon Bedrock Knowledge BasesでS3 Vectorsを選び、bedrock-knowledge-base-...のような保存先が作られたのに、Amazon S3コンソールの通常のバケット一覧に見当たらないことがあります。
これは、検索用ベクトルの保存先が通常のS3 bucketではなく、S3 Vector bucketだからです。S3コンソールの左側メニューで「Buckets」ではなく「Vector buckets」を開いて確認します。

元文書のS3バケットとVector bucketは別物
Bedrock Knowledge BasesでS3 Vectorsを使う構成には、名前にS3が付く保存先が2種類登場します。
| 保存先 | 保存するデータ | コンソールの確認場所 |
|---|---|---|
| 通常のS3 bucket | PDF、テキストなどの元文書 | Amazon S3 → Buckets |
| S3 Vector bucket | 埋め込みベクトル、キー、メタデータ | Amazon S3 → Vector buckets |
ナレッジベースの同期では、Bedrockがデータソースの文書を読み取り、チャンクへ分割して埋め込みを生成し、Vector bucket内のVector indexへ保存します。元文書と検索用ベクトルは、役割も管理単位も異なります。
S3 Vector bucketを確認する手順
- AWSマネジメントコンソールでAmazon S3を開きます。
- 画面右上のリージョンが、ナレッジベースやVector bucketを作成したリージョンと一致しているか確認します。
- 左側ナビゲーションのVector bucketsを開きます。
- 対象のVector bucketを選び、内部のVector indexを確認します。
- Bedrock Knowledge Bases側に表示されるVector bucket名・Vector index名と照合します。
通常の「Buckets」だけを検索してもVector bucketは表示されません。名前が似ていても、一般目的バケット用のS3 APIで管理するリソースと、s3vectorsの専用APIで管理するリソースを混同しないことが重要です。
Vector bucketも課金対象
通常のバケット一覧に表示されないことは、料金が発生しないという意味ではありません。S3 Vectorsでは、主に次の利用量を確認します。
- Vector bucket内に保存しているベクトルの論理サイズ
- ベクトルを登録・更新するPUT
- 検索リクエスト
- 検索時に処理したデータ量
- 検索結果として返したデータ量
保存量はベクトルの次元数だけでは決まりません。キーや付加したメタデータも含まれます。検索費用は、クエリ数に加えて、検索対象のVector indexの規模や返却データ量にも左右されます。
料金はリージョンや仕様変更の影響を受けるため、固定の単価で判断せず、Amazon S3のS3 Vectors料金で現在の単価と課金単位を確認してください。
不要になったときは削除ポリシーを先に確認する
ナレッジベースを削除する前に、Bedrock側のデータ削除ポリシーを確認します。S3 Vectorsとの統合では、ナレッジベースまたはデータソースを削除するときにDeleteとRetainの扱いがあります。
- Delete:関連するベクトルを削除する設定。公式資料では既定値として案内されています。
- Retain:ナレッジベース側のリソースを削除しても、関連データを保持する設定。
保持が必要なデータを消さないよう、実際のポリシー、Vector bucket名、Vector index名、利用しているナレッジベースを記録してから削除します。名前だけを見て未使用と判断しないでください。
Vector bucketを手動で削除する順序
Vector bucketは、内部にVector indexが残ったままでは削除できません。手動で整理する場合は、依存関係の内側から次の順序で進めます。
- ナレッジベースやアプリケーションが対象のVector indexを参照していないことを確認する。
- Vector index内のベクトルを削除する。
- 空になったVector indexを削除する。
- 処理中の操作がないことを確認する。
- 空になったVector bucketを削除する。
コンソールではAmazon S3の「Vector buckets」から対象を開いて削除できます。AWS CLIで空のVector bucketを削除する場合は、次の専用コマンドを使います。
aws s3vectors delete-vector-bucket
--vector-bucket-name "対象のVector bucket名"
削除は元に戻せません。Vector indexを削除すると、その中のベクトルデータも利用できなくなります。削除後は、そのリソースを参照するアプリケーションやスクリプトでエラーが発生します。
削除後すぐに料金表示がゼロにならない場合
S3の料金資料では、上書きまたは削除したベクトルの使用ストレージが回収されるまで、最大1日かかる場合があると説明されています。検索結果からはすぐ除外されても、短時間はIndexのストレージサイズに含まれることがあります。
削除直後の一時的な表示だけで失敗と判断せず、対象リージョン、Vector bucket、Vector indexが削除されたことを確認し、請求データの反映時間も考慮します。
作成時に記録しておく項目
後から「どのVector bucketを消してよいか」で迷わないよう、ナレッジベースの作成時に次を記録します。
- Knowledge Base IDと名前
- データソースの通常のS3 bucket名とプレフィックス
- S3 Vector bucket名とARN
- Vector index名
- リージョン
- 埋め込みモデル
- データ削除ポリシー
- 所有者、用途、削除予定を示すタグ
S3 Vectorsは、長期間保持する大規模なベクトルをコスト重視で検索したい構成に向いています。一方、Bedrock Knowledge Basesとの利用ではセマンティック検索のみで、ハイブリッド検索には対応しないなどの制約もあります。保存料金だけで決めず、検索要件も合わせて確認します。
まとめ
Bedrock Knowledge Basesで作成したS3 Vector bucketが通常のS3バケット一覧に見えないのは、確認場所が異なるためです。Amazon S3コンソールのVector bucketsを開き、Bedrock側に表示される名前と照合します。
Vector bucketは課金対象です。不要になった場合はBedrock側の削除ポリシーを確認し、手動削除ではベクトル → Vector index → 空のVector bucketの順序で整理します。
参考資料
- Vector buckets – Amazon S3
- Using S3 Vectors with Amazon Bedrock Knowledge Bases
- Deleting an empty vector bucket
