# Amazon S3 Vectors

> Vectors at S3 prices, for huge, cold or per-client collections where 100 ms is fine.

- Verdict: Use when it fits
- Vendor: AWS
- Layer: [AI](https://cloudlesslabs.com/stack/layers/ai.md). Job: Vector archive
- Last reviewed: 18 October 2026, by Nicolas Dao (Cloudless Labs, Sydney)
- Web page: https://cloudlesslabs.com/stack/aws-s3-vectors/. The whole stack in one file: https://cloudlesslabs.com/stack/brief.md

Not a pgvector competitor: a different tool. Hot, relational data stays in pgvector next to the app. The long tail goes here, at storage prices, with zero capacity planning.

## Use it when

- Searching 10 years of contracts or call transcripts, RAG over a document archive.
- Long-term memory for one AI agent per customer.
- A separate index per client, almost free while idle.
- Tens to hundreds of millions of vectors, queried occasionally, where about 100 ms (under a second cold) is fine.
- Bedrock Knowledge Bases with the lowest storage cost.

## Don't use it when

- Search on the latency-critical path of a busy user request.
- Filters that need SQL joins. It has metadata filters only, and no keyword search.

## Pricing

Sydney storage $0.066/GB-month; about $2.50 a month for 1M vectors, $15–154 for 10M, $76–473 for 100M (vs $2,000–12,000 to hold 100M in Postgres). No servers to size.

## Gotchas, with fixes

- **Gotcha:** No hybrid (keyword + vector) search.
  **Fix:** Search pgvector and S3 Vectors separately and merge with Reciprocal Rank Fusion, or put OpenSearch's s3vector engine on top at scale.

## Provisioning

Official Pulumi package · Official Terraform provider

Terraform AWS provider has aws_s3vectors_vector_bucket and aws_s3vectors_index; @pulumi/aws exposes them (s3 module), and @pulumi/aws-native has an s3vectors module.

## Instead, consider

- [pgvector](https://cloudlesslabs.com/stack/pgvector/index.md): Hot, relational, latency-sensitive vectors.

## Worked examples

- [pgvector or S3 Vectors?](https://cloudlesslabs.com/stack/guides/vectors/index.md): Where should my embeddings live?

## Where it fits

- [Semantic search and RAG](https://cloudlesslabs.com/stack/use-cases/search.md): pick 2. When the collection is huge, cold or per client, and 100 ms is fine.

## Sources

- [Amazon S3 Vectors](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-vectors.html)

## Related

- [AI](https://cloudlesslabs.com/stack/layers/ai.md): every tool in this layer, with its verdict
- [The whole stack in one file](https://cloudlesslabs.com/stack/brief.md): every use case and tool, for questions that span many
- [Map of every Markdown file on cloudlesslabs.com, with what each one answers](https://ask.cloudlesslabs.com)
