Two new locations for your streams: US West and EU North

Until today, S2 ran in one place - US East (aws:us-east-1). Every basin you created was placed there, so its streams were too.

Today, that changes.

Location is now a choice when you create a basin. Two new locations are live, alongside US East:

  • US West (aws:us-west-2)
  • EU North (aws:eu-north-1)

With the EU North location, stream data is stored in and served from the EU.

How it works

Basins are placed in a location. Basin-specific DNS endpoints route stream requests to a gateway service in that location. Appends write to object storage in that location, and reads are served from there too.

Under the hood, we spun up new cells and made many infrastructure improvements. S2 continues to make every single write durable in multiple availability zones. PrivateLink is also supported for AWS clients.

The closer your basin is to your readers and writers, the lower your latency, which usually also translates into higher throughput.

Existing basins keep their current location – to use a different location, create a new basin there.

Try it

Requires CLI s2 >= 0.36 or a current SDK with location support, e.g. @s2-dev/streamstore >= 0.24.

Pick a location when you create a basin:

$ s2 create-basin european-agents --location aws:eu-north-1

Or from the SDK:

import { S2 } from '@s2-dev/streamstore';
 
const s2 = new S2({ accessToken: process.env.S2_ACCESS_TOKEN! });
 
await s2.basins.create({
  basin: 'european-agents',
  location: 'aws:eu-north-1',
});

Or in the dashboard's Create Basin dialog, where the Location dropdown lists everywhere you can land a basin.

Create Basin dialog with the Location dropdown open

Set a default once, and every new basin lands there unless you say otherwise:

$ s2 set-default-location aws:eu-north-1

See what's available:

$ s2 list-locations
aws:us-east-1
aws:us-west-2
aws:eu-north-1

All 3 locations are generally available today on the s2.dev cloud service, with the same transparent pricing.

Want to see it in action? Open the playground to create a stream in the nearest location and start reading and writing records.