2019年に、PDFを全文検索するデモを作って公開していました。AWS Elasticsearch Service にテキストを放り込んで、AND検索とハイライトができるものです。
これを数年で止めました。理由は費用です。デモサイトなので月に数回しか検索されないのに、検索エンジンは24時間動いていて課金だけが続く。止めた当時の請求額そのものは手元に残っていないのですが、最小構成1ノードで月3,000〜5,000円程度だったと記憶しています。
2025年12月に Amazon S3 Vectors が一般提供になりました。S3 にベクトルを置いて近傍検索できるもので、専用のデータベースを立てずに済みます。これなら安く作り直せるのではないかと考えて、実際に調べました。
結論から書くと、3つのことがわかりました。
■1. 費用は桁違いに下がる
まず料金です(バージニア北部。東京リージョンは別掲がないため要確認)。
| 項目 | 単価 |
|---|---|
| ベクトル保存 | $0.06 / GB・月 |
| 投入(PUT) | $0.20 / GB |
| クエリ | $2.50 / 100万リクエスト |
| クエリ時の返却データ | $0.01 / GB(1クエリ 512KB まで無料) |
これを、うちのデモ規模(文書46件、チャンク3,687件、1,024次元)に当てはめます。クエリは月1,000回としました。
| 項目 | 月額 |
|---|---|
| S3 Vectors 保存(15MB) | $0.0009 |
| S3 Vectors クエリ(1,000回) | $0.0025 |
| Bedrockでクエリを埋め込み | $0.003 |
| Lambda / API Gateway | 無料枠内 |
| 合計 | $0.01未満 ≒ 月1.5円 |
誰も検索しなければ、ほぼゼロに漸近します。 常時起動しているものが無いからです。これが2019年の構成との決定的な違いで、止めた理由がそのまま解消されます。
■2. ただし、同じものは作れない
ここが本題です。料金だけ見て置き換えると、機能が減ります。
| 2019年デモの機能 | S3 Vectors |
|---|---|
| 複数キーワードのAND検索 | ✗ ベクトル検索に論理積の概念が無い |
| 「型番 ABC-1234」の完全一致 | ✗ 苦手。表記の近い別文書を拾う |
| ヒットした語のハイライト | ✗ どの語で当たったか原理的に出ない |
| 「有給の申請方法」→「年次休暇届出について」 | ✓ ベクトルの独壇場 |
| 部署・年度などでの絞り込み | ✓ フィルタ可能メタデータで可能 |
公式ドキュメントの制限一覧を見ると、キーワード検索に関する項目がそもそも存在しません。できないのではなく、そういう製品ではない、ということです。
「Elasticsearchをやめて S3 Vectors にする」ではなく、**「Elasticsearch に S3 Vectors を足す」**のが実務での姿になります。キーワード検索側のインフラは別途必要で、両方のスコアを統合して1つの結果にします。
つまり、置き換えによる費用削減を期待していると外します。
■3. 規模を上げると「安い」が崩れる
デモ規模では月1.5円でしたが、受託案件の規模(文書10万件、クエリ10万回/月)で試算すると様子が変わります。
保存とリクエスト課金だけなら月$1程度に収まります。ところがS3 Vectorsのクエリ課金は「リクエスト数」と「処理したデータ量」の合算で、インデックスが大きいほど後者が支配的になります。
AWSが公開している料金例では、4億ベクトル・40インデックス・1,000万クエリで、クエリ費用が月約$997。うちリクエスト課金は$25程度で、残りはすべて処理量課金です。
「S3 Vectorsは安い」で見積もりを止めると、40倍外します。実案件では必ず Pricing Calculator でインデックス構成ごとに計算する必要があります。
■結局、どう作り直したか
調べた結果、このデモに関してはAWSを使わないことにしました。
サーバー側は静的ファイルを返すだけになりました。検索のために動き続けるものが無いので、課金対象もありません。 既存のWebサーバーに置くだけです。
代わりに、来訪者の初回ダウンロードが49MB(うちモデルが44MB)と大きくなります。社内システムなら許容範囲ですが、不特定多数向けのサイトには向きません。費用をゼロにする代わりに、初回の待ち時間を払う構成だと理解しています。
文書46件・3,687チャンクで、意味の近い文書を拾えることは確認できました。
■まとめ
「検索が高いので安くしたい」という相談は、実は「何で検索しているか」を分けて考える必要があります。型番や氏名で引いているならベクトル検索は答えになりませんし、言い回しの違いを吸収したいならキーワード検索では届きません。両方必要なことがほとんどです。
当社では、社内文書やマニュアルの検索について、現状の使われ方の調査からご相談を承っています。どの検索が実際に使われているかを見ないと、構成も費用も決められないためです。