きっかけ
Bedrockを利用したAIエージェントの開発で、
利用していたOpenSearchServerlessを削除し忘れた結果、
AWSの請求額でチーム内トップになってしまう事態が発生しました。
OpenSearchは高性能ですが、
- インスタンスが常時稼働する
- 利用頻度が低くてもコストが発生する
という性質があり、サービス運用していくうえですごく高コストだという意識が強くなりました。
この経験から、
「もっと安価で使えるRAG構成はないかなぁ」
という課題感が生まれていました。
「Amazon S3 Vectors」とは?
2025年7月にプレビュー提供が開始された新サービスです。
特徴
- ベクトルデータを S3バケットに直接保存
- S3に格納したベクトルを使って検索が可能
- クエリを実行した時だけ課金
- AWS Bedrockの「ナレッジベース」から利用可能
既存のベクトルDB(OpenSearchやAuroraなど)とは運用モデルが根本的に異なり、
ドキュメントをベクトル化したデータを、DBではなくストレージに保存するのが大きな特徴です。
そしてとにかく安い。
OpenSearchとS3 Vectorの比較
| 項目 | OpenSearch | S3 Vector |
|---|---|---|
| コスト | インスタンスに依存(数十〜数百ドル/月) | 約 0.023 USD / GB / 月 |
| レイテンシ | 約10〜300 ms | 約300〜1000 ms |
| 検索方式 | ハイブリッド検索(ベクトル+全文検索) | ベクトル検索のみ |
特に大きい違いはコストです。
- OpenSearch利用時:数十〜数百ドル/月
- S3 Vector利用時:数ドル以下(実測)
OpenSearchはインスタンスが常時稼働するため、
使っていなくても料金がかかるのが最大のネックです。
一方でS3Vectorは
「ストレージ料金+ベクトル検索をしたときだけ課金」
という運用モデルで、低頻度アクセスのRAGに非常に適しています。
実験:OpenSearchとS3 VectorでRAGを比較してみる
以下の条件で、両者を公平に比較しました。
実験設定
- 社内のチャットボットを使用
- ナレッジベースの設定(モデル・チャンキングなど)は完全統一
- データセット:社内ヘルプセンタードキュメント
使ってみた
どちらも、ドキュメントをしっかり引っ張ってこれていて、いい感じです。
ただこれだけだと、差がよくわかりません。。
評価方法
正確性と、有用性を実際に社内で使用されていたテストデータを利用し、
AWS Bedrock Evaluationで定量評価しました。
※ オフラインRAGで実施(オンライン評価は未実施)
結果
- 正確性は OpenSearch > S3 Vector
- 有用性はほぼ同等
正確性においてはOpenSearchのほうが上の結果がでました。
おそらく、ハイブリッド検索の検索精度の差が影響しているのだと考察します。
ただ、有用性においてはS3もOpensearchと同等の回答品質が期待できそうです。
このクオリティで90%以上のコスト削減を達成できるので、かなりのインパクトです。
所感:ユースケースによっては候補の1つに入る
FAQチャットボット=“キーワード検索(全文検索)” と
“意味検索(ベクトル検索)” の両方が必要になることが多いので、
S3 Vector(ベクトルのみ)では要件を満たしきれない可能性があり、すべての置き換えは難しそうです。
ただ、AWS公式でも推奨されている通り、ドキュメントが大規模になってきた場合、
- OpenSearch:高頻度データ
- S3 Vector:低頻度データ
のようなハイブリッド構成でコストの削減を図るのは一ついい方法だと考えました。
正式リリース後は、RAG構築プロジェクトでユースケースによって候補になるのではないかと考えています。
参考
同僚のとてもわかり易く解説している記事を参考にさせていただきました🙇♀️




