DEV Community

Cover image for Scaleway vs AWS S3: EU Pricing & Data Residency 2026
Mahdi BEN RHOUMA
Mahdi BEN RHOUMA

Posted on Originally published at iloveblogs.blog

Scaleway vs AWS S3: EU Pricing & Data Residency 2026

If you run a SaaS app, a media pipeline, or a backup job for EU customers, the question of where your bytes live is not academic. AWS S3 is the default — but its EU regions are opt-in (eu-west-1, eu-central-1, eu-west-3) and its pricing is calibrated for the US market. Scaleway Object Storage, hosted entirely in Paris and Amsterdam, offers the same S3 API at roughly half the price. Here is the 2026 breakdown.

Pricing comparison (2026, EU)

Scaleway Object Storage AWS S3 (eu-west-1)
Standard storage €0.0105/GB/month (€0.000015/GB/hour) $0.023/GB/month
Infrequent Access €0.0025/GB/month + retrieval fee $0.0125/GB/month + retrieval fee
Egress to internet €0.008/GB outside EU; free intra-EU $0.09/GB (first 10 TB)
PUT/POST requests €0.005 per 1,000 $0.005 per 1,000
GET requests €0.0004 per 10,000 $0.0004 per 10,000

At 1 EUR ≈ 1.08 USD (2026-08), Scaleway Standard is roughly 55-60% cheaper than S3 Standard in eu-west-1. Egress is the bigger win: serving 500 GB/month to EU customers costs about €0 on Scaleway (intra-EU free) vs $45 on AWS S3 — a 10x difference.

The complete price list is at scaleway.com/en/object-storage/pricing and aws.amazon.com/s3/pricing. Prices change; verify before quoting to customers.

S3 API parity

Scaleway implements the S3 API for the operations you actually use. The official SDKs and tools work unchanged:

  • Buckets — create, list, delete, versioning, lifecycle.
  • Objects — PUT, GET, DELETE, HEAD, multipart upload, copy.
  • Presigned URLs — both GET and PUT, valid for up to 7 days (Scaleway) vs 7 days (S3).
  • Server-side encryption — AES-256 with Scaleway-managed keys (SSE-S3 equivalent).
  • Cross-region replication — yes, with caveats (asynchronous, eventual consistency).
  • Object Lock — yes, WORM-compliant retention for compliance use cases.
  • Multipart upload — yes, same chunked upload model.
  • IAM policies — yes, Scaleway IAM supports S3-style resource policies.

What is not available:

  • Glacier / Deep Archive — no cold-tier storage at S3 prices. For archival under €0.001/GB/month, AWS Glacier Deep Archive remains the cheapest.
  • Intelligent-Tiering — automatic tier transitions; on Scaleway you set lifecycle rules manually.
  • Object Lambda — on-the-fly transformation (resize, redact). Run a Cloudflare Worker or a small Scaleway Function instead.
  • AWS EventBridge / S3 Event Notifications → Lambda — Scaleway Object Storage emits webhooks; you handle them in a Scaleway Function or external HTTP endpoint.
  • Requester Pays — not supported; the bucket owner always pays egress.

For 80% of EU SaaS workloads, the parity list above covers everything you need.

Where the data lives

Scaleway has two EU regions and no US region:

  • Paris (DC3) — default region for new buckets. Endpoints: s3.fr-par.scw.cloud, s3.nl-ams.scw.cloud.
  • Amsterdam (DC1) — West Europe, lower latency for NL/BE/UK. Endpoints: s3.nl-ams.scw.cloud.

Every byte of every object stays in the region you create the bucket in. There is no opt-in for US storage — you cannot accidentally create an us-east-1 bucket.

AWS S3 requires explicit region selection. The default console flow is us-east-1 (N. Virginia); you must remember to pick eu-west-1 (Ireland), eu-central-1 (Frankfurt), eu-west-3 (Paris), or eu-north-1 (Stockholm) for GDPR-compliant workloads. Data never leaves the chosen region, but the company is US-headquartered and subject to the CLOUD Act. For customers in regulated industries (health, finance, government), this distinction can matter.

Migration in 4 steps

For most applications, the change is an endpoint URL swap.

1. Create a Scaleway bucket

# Install scaleway-cli
brew install scaleway-cli   # macOS
sudo apt install scaleway-cli  # Debian/Ubuntu

# Authenticate
scw init

# Create a bucket in Paris
scw object bucket create my-eu-bucket region=fr-par
Enter fullscreen mode Exit fullscreen mode

2. Update your application endpoint

// Before (AWS S3 eu-west-1)
const s3 = new S3Client({
  region: 'eu-west-1',
  credentials: { accessKeyId, secretAccessKey },
});

// After (Scaleway Paris)
const s3 = new S3Client({
  region: 'fr-par',
  endpoint: 'https://s3.fr-par.scw.cloud',
  credentials: { accessKeyId, secretAccessKey },
  forcePathStyle: false, // Scaleway supports virtual-hosted-style URLs
});
Enter fullscreen mode Exit fullscreen mode

The AWS SDK in Node.js, Python (boto3), Go, Java, Ruby, PHP all work unchanged. The only addition is the endpoint parameter.

3. Migrate bulk data with rclone

# Configure both remotes (interactive)
rclone config
# > n) New remote
# > name> aws-prod
# > type> s3
# > provider> AWS
# > access_key_id> AKIA...
# > secret_access_key> ...
# > region> eu-west-1

# > name> scw-prod
# > type> s3
# > provider> Scaleway
# > access_key_id> SCW...
# > secret_access_key> ...
# > endpoint> s3.fr-par.scw.cloud

# Copy with server-side transfer where possible
rclone copy aws-prod:my-bucket scw-prod:my-eu-bucket --transfers 32 --checkers 64
Enter fullscreen mode Exit fullscreen mode

For very large buckets (10 TB+), run rclone copy from a Scaleway Virtual Instance in Paris — intra-provider transfer is unmetered and 10x faster than copying over the public internet.

4. Update DNS / CDN

If you serve objects via a custom domain (cdn.example.com → bucket), update the CNAME / origin to the new Scaleway endpoint. Cloudflare and Bunny.net both support Scaleway as an origin.

Common mistakes

  • Forgetting forcePathStyle — Scaleway supports both virtual-hosted-style (bucket.s3.fr-par.scw.cloud) and path-style (s3.fr-par.scw.cloud/bucket). Some AWS SDK configurations default to path-style and break on Scaleway. Set forcePathStyle: false explicitly.
  • Using eu-west-1 as region with Scaleway endpoint — the AWS SDK validates the region. Use fr-par or nl-ams, not eu-west-1.
  • Expecting Glacier tier — for cold storage under €0.001/GB/month, Scaleway has no equivalent. Use Hetzner Storage Box (€3.81/month for 1 TB) or OVHcloud Cloud Archive (€0.0025/GB/month) for archival, or keep AWS S3 Glacier for that one workload.
  • Cross-region replication surprises — Scaleway supports it but eventual consistency is higher than S3. Don't assume read-after-write semantics across regions.
  • CLOUD Act assumptions — Scaleway is a French company, headquartered in Paris, with primary infrastructure in France. CLOUD Act does not apply. For US-headquartered workloads, AWS S3 remains the answer.
  • Pricing calculation errors — Scaleway charges per hour of storage, not per month. Multiply by 730 (average hours/month) for a monthly estimate. Egress is per GB, not per request.
  • IAM policy mismatch — Scaleway IAM supports S3-style policies but the actions and condition keys differ. Test in a sandbox bucket before locking down prod.

When to choose Scaleway vs AWS S3

Choose Scaleway Object Storage when:

  • Your customers are EU-based and you need GDPR-by-default (no opt-in region selection).
  • Your workload is read-heavy with significant egress to EU customers.
  • You want to consolidate infrastructure with a French/EU provider (Scaleway also offers VPS, Managed PostgreSQL, Kubernetes, Functions).
  • You do not need Glacier-tier archival or AWS-native integrations (Lambda, EventBridge).

Choose AWS S3 when:

  • You need cold archival at sub-€0.001/GB/month (Glacier Deep Archive).
  • You depend on AWS-native services (Lambda@Edge, Object Lambda, Athena, EventBridge → Lambda).
  • Your customers are global and you need multi-region replication across continents.
  • You are already heavily invested in AWS IAM, CloudFormation, or CDK and the migration cost outweighs the savings.

For most EU SaaS apps — content sites, B2B tools, internal dashboards, image hosting — Scaleway is the better default. The price difference alone (50-70% on storage, 10x on egress) often exceeds the development cost of the migration.

Official references: Scaleway Object Storage Documentation, Scaleway Object Storage Pricing, AWS S3 Pricing, GDPR.eu — official EU summary, rclone — Scaleway provider.

Related Articles


Originally published at https://www.iloveblogs.blog

Top comments (0)