Getting Started with Amazon S3 Vectors
What is S3 Vectors?
Amazon S3 Vectors is a purpose-built vector storage solution that launched in GA in December 2025. It provides native vector support within the S3 ecosystem, meaning you get the same durability and availability as regular S3 — but with similarity search built in.
Key Concepts
There are three main concepts:
- Vector Buckets — A new bucket type purpose-built for vectors
- Vector Indexes — Organize vectors within a bucket, query against them
- Metadata — Attach filterable key-value pairs to each vector
Setting Up
First, create a vector bucket and index using the AWS SDK:
import { S3VectorsClient, CreateVectorBucketCommand } from "@aws-sdk/client-s3vectors";
const client = new S3VectorsClient({ region: "us-east-1" });
await client.send(new CreateVectorBucketCommand({
vectorBucketName: "my-vectors",
}));
Inserting Vectors
After generating embeddings (via Bedrock Cohere, for example), insert them with metadata:
await client.send(new PutVectorsCommand({
vectorBucketName: "my-vectors",
indexName: "content",
vectors: [{
key: "post-1-chunk-0",
data: { float32: embeddingArray },
metadata: {
source_type: "blog",
slug: "my-post",
title: "My Post Title",
},
}],
}));
Querying
Similarity search is a single API call:
const results = await client.send(new QueryVectorsCommand({
vectorBucketName: "my-vectors",
indexName: "content",
queryVector: { float32: queryEmbedding },
topK: 5,
}));
The results come back sorted by similarity score, with metadata attached.
Cost
S3 Vectors is significantly cheaper than alternatives. PUT costs $0.20/GB, storage is $0.06/GB/month, and queries scale with usage. For a personal blog with a few hundred vectors, expect costs under $1/month.