Skip to content

Getting started

This page takes you from the AWS Marketplace listing to a working vector database: subscribe, launch the instance, connect, create a collection, store vectors and search them.

You need: an AWS account with permission to subscribe to AWS Marketplace products, launch EC2 instances and use AWS Systems Manager. To use a client on your workstation, you also need the AWS CLI with the Session Manager plugin.

1. Subscribe

Open the Qdrant Vector Database listing in AWS Marketplace, choose View purchase options, review the terms and subscribe. When the subscription is confirmed, choose Launch your software.

2. Launch the instance

On the EC2 launch page:

  1. Keep the instance type at t3.medium, or choose one with at least 4 GiB of memory.
  2. Under Configure storage, use an encrypted gp3 root volume of at least 16 GiB.
  3. Under Network settings, allow no inbound traffic. Qdrant listens only on the instance itself, and Session Manager does not need an open port. If you also want SSH, allow port 22 from your administrative address range only.
  4. Under Advanced details, choose an IAM instance profile that includes the AWS managed policy AmazonSSMManagedInstanceCore, and require IMDSv2.
  5. Choose Launch instance.

Session Manager needs outbound HTTPS

The instance reaches Systems Manager over outbound HTTPS. Keep the default outbound rule, or provide VPC endpoints for Systems Manager.

3. Connect

In the EC2 console, select the instance, choose Connect, then Session Manager, then Connect. Or, from your workstation:

aws ssm start-session --target <instance-id>

Switch to the ubuntu user:

sudo -iu ubuntu

4. Wait for first boot

On first boot the instance creates its API key and configuration, then starts Qdrant. Wait for it to finish:

cloud-init status --wait
systemctl is-active sushi-qdrant-firstboot qdrant

Both services report active when the database is ready.

5. Run the walkthrough

The image includes a script that checks the services and listeners, creates a demo collection, stores and searches a vector, and confirms that a call without the API key is refused:

bash /opt/sushi/docs/demo.sh

It ends with SUSHI_CUSTOMER_DEMO_PASSED. It also restarts Qdrant once to check that data survives a restart.

6. Create a collection and search it

Use the helper client as root. It reads the API key for you. Its arguments are the HTTP method, the path and an optional JSON body.

Create a collection of four-dimensional vectors compared by cosine distance:

sudo /opt/sushi/bin/qdrant-api PUT /collections/my_docs \
  '{"vectors":{"size":4,"distance":"Cosine"}}'

Store a point with a payload:

sudo /opt/sushi/bin/qdrant-api PUT '/collections/my_docs/points?wait=true' \
  '{"points":[{"id":1,"vector":[0.05,0.61,0.76,0.74],"payload":{"doc":"first"}}]}'

Search for the nearest match:

sudo /opt/sushi/bin/qdrant-api POST /collections/my_docs/points/query \
  '{"query":[0.05,0.61,0.76,0.74],"limit":1,"with_payload":true}'

Use the vector size of your embedding model in real collections. To remove the example:

sudo /opt/sushi/bin/qdrant-api DELETE /collections/my_docs

Connect your application

Run your application on the same instance, or reach the API from your workstation through a port-forwarding session. Replace <instance-id> and use the instance's region:

aws ssm start-session \
  --target <instance-id> \
  --document-name AWS-StartPortForwardingSession \
  --parameters '{"portNumber":["6333"],"localPortNumber":["6333"]}'

Leave it running, then point any Qdrant client at it:

Setting Value
REST address http://127.0.0.1:6333 (through the tunnel)
gRPC address 127.0.0.1:6334 (forward port 6334 the same way)
API key the contents of /etc/qdrant/credentials/api.key, sent as the api-key header

The key file is readable by root only. To read it once, for your own secret store:

sudo cat /etc/qdrant/credentials/api.key

Keep the key out of tickets, chat and screen recordings.

Next, read Configuration to rotate the key or change the server settings.

Last updated October 13, 2026 · Suggest an improvement