Cloud allgemein

Cloudflare R2 vs AWS S3 in der Praxis: Egress, Latenz und wo R2 wirklich gewinnt

R2 verspricht Zero-Egress. Was das praktisch heisst, wo S3 ueberlegen bleibt und wann der Wechsel sich lohnt — mit Zahlen aus zwei echten Migrationen.

Harbinger Team14. Mai 20268 Min. LesezeitAktualisiert 14.5.2026
  • cloudflare
  • r2
  • aws
  • s3
  • object-storage
  • egress
  • cdn
Inhaltsverzeichnis18 Abschnitte

Cloudflare R2 hat 2022 mit einem klaren Verkaufsargument gestartet: kein Egress-Charge. Vier Jahre spaeter ist die Welle ueber AWS S3 gerollt, ohne S3 wirklich abzuloesen. Warum? Weil „billiger“ in der Cloud selten linear ist.

Hier die ehrliche Aufstellung: wo R2 2026 gewinnt, wo S3 unverzichtbar bleibt, und was ein Wechsel praktisch kostet. Stand: 14. Mai 2026.

TL;DR

  • R2 Storage: $0,015 / GB / Monat — ~28 % billiger als S3 Standard ($0,021 EU).
  • R2 Egress: 0 USD. S3-Egress: ~$0,09 / GB nach Internet.
  • R2 Class A (PUT/Copy): $4,50 / 1M, S3 $5 / 1M — leichter R2-Vorteil.
  • R2 Class B (GET): $0,36 / 1M, S3 $0,40 / 1M.
  • Aber: R2 fehlt Server-Side-Encryption mit KMS, granulares Object Lock, Lifecycle-Policies sind 2026 noch begrenzt.
  • Faustregel: Egress-heavy Workloads → R2. Compliance-heavy → S3. Multi-Provider mit Cache-Layer → R2 + S3 als Source-of-Truth.

Pricing-Vergleich im Detail

Storage (Standard-Klasse)

ProviderPreis / GB / MonatNotizen
AWS S3 Standard EU$0,0214Frankfurt, Standard
AWS S3 Intelligent-Tiering$0,021-0,005Auto-Move zwischen Tiers
AWS S3 Standard-IA$0,0125Min. 30 Tage, 128 KB
AWS S3 One Zone-IA$0,01Single-AZ
AWS S3 Glacier Instant$0,004Min. 90 Tage
AWS S3 Glacier Deep$0,00099Min. 180 Tage
Cloudflare R2$0,015Eine einzige Klasse
R2 Infrequent Access (2024+)$0,0130-Tage Min, Read-Fees

Operations

OperationAWS S3 EUCloudflare R2
PUT / Copy / List (Class A)$5,40 / 1M$4,50 / 1M
GET / Other (Class B)$0,40 / 1M$0,36 / 1M
DELETEfreefree

Operations-Kosten sind aehnlich, R2 leicht guenstiger.

Egress — der Killer-Faktor

ProviderEgress an Internet
AWS S3$0,090 / GB (erste 10 TB, dann gestaffelt)
Cloudflare R2$0
Azure Blob$0,087 / GB
GCP Cloud Storage$0,085 / GB
Backblaze B2$0 bis 3× Storage, dann $0,01 / GB
Hetzner Object Storage$1 / TB (in 20 TB inkl.)

Konkrete Beispiel-Rechnung: SaaS-App mit 1 TB Storage, 5 TB Egress / Monat

KomponenteAWS S3 EUCloudflare R2
Storage 1 TB$21,40$15,00
Egress 5 TB~$430$0
Class A 100k Ops$0,54$0,45
Class B 5M Ops$2,00$1,80
Total / Monat~$454~$17,25

Mit aktuellen Egress-Kosten ist R2 ~26× billiger bei Egress-haltigen Workloads. Das ist nicht Marketing — das ist Realitaet.

Wann R2 wirklich gewinnt

1) Media-Serving und User-Generated Content

Wenn deine App Bilder, Videos oder Files an Endkunden ausliefert, ist R2 die offensichtliche Wahl. Egal ob direkt oder via Cloudflare CDN davor.

2) Backup-Drop-Zones

Wenn du oft aus R2 herauslaedst — Restore von Datenbanken, Disaster-Recovery, Daten-Migrationen — sparst du dramatisch.

3) Public-Read Datasets

Open-Datasets, Tools, dass Daten herunterladbar machen (Releases, ML-Modelle, Static Assets). Genau hier killt R2 die S3-Bill.

4) Multi-Cloud-Replication-Target

R2 als Cold-Sink fuer Backups aus AWS oder Azure ist ein Anti-Lock-in-Move.

Wo S3 noch unschlagbar bleibt

1) Komplexe Lifecycle-Rules

S3 hat 2026 ausgereifte Lifecycle-Management (Transition zwischen Klassen, Expiration, Versions-Management). R2 hat einfache Rules, aber nicht die gleiche Tiefe.

2) KMS-Integration und HSM-Tier-Encryption

S3 + KMS + CloudHSM ist fuer FinTech-/Healthcare-Compliance Standard. R2 hat Server-Side-Encryption mit Cloudflare-Keys, aber kein Customer-Managed-Key-Support auf S3-KMS-Niveau (Stand 2026).

3) Multi-Region Read Replicas

S3 Replication ist ausgereift; R2 hat Cross-Region-Replication (seit 2024), aber weniger granular.

4) Tieres Eco-System (Glue, Athena, Lambda Trigger)

S3 ist der Default-Layer in AWS-zentrischen Datapipelines. R2 ist S3-kompatibel, aber nicht in dieser Tightness integriert.

5) Object Lock fuer Compliance

S3 Object Lock + Governance Mode + Compliance Mode ist SEC-/FINRA-zertifiziert. R2 hat aehnliches, aber weniger Audit-Tooling rund herum.

S3-Kompatibilitaet: was wirklich funktioniert

R2 bewirbt sich als S3-API-kompatibel. Tatsachlich:

FeatureR2 Stand Mai 2026
Basic GET/PUT/DELETEja
Multipart Uploadja
Pre-Signed URLsja
List V2ja
Server-Side Encryption (SSE-S3)ja
SSE-KMSnein (kein KMS)
Object Taggingpartiell
ACLs (Legacy)nein
Bucket-Versioningja
Lifecycle Rulesbegrenzt
Object Lockpartiell
Cross-Region Replicationja (seit 2024)
Event Notifications (SNS, SQS, Lambda)nein, aber Workers Bindings statt

Praxis: Standard-SDKs wie boto3, aws-sdk-go, S3-Browser-Tools funktionieren mit R2 ohne Aenderung — du gibst nur einen anderen Endpoint-URL an.

Latenz und Performance

R2 wird ueber das Cloudflare-Netz ausgeliefert, das breiteste CDN- Netzwerk der Welt (300+ PoPs). S3 ist Region-an-Region — schneller, wenn dein Compute in derselben Region steht; langsamer, wenn nicht.

TestAWS S3 (eu-central-1)R2 (via CF Network)
EC2 eu-central-1 → S3 EU3-5 ms-
EC2 eu-central-1 → R2-8-12 ms
Browser DE → S3 EU30-40 ms15-20 ms
Browser US-East → S3 EU100-120 ms25-35 ms
Browser AU-Sydney → S3 EU280-320 ms40-60 ms

Wenn du global User bedienst, ist R2 latency-mateoeffer als S3 + CloudFront — und das, ohne CloudFront-Bill zu zahlen.

Real-World Migration: Zahlen aus zwei Cases

Case 1: Indie-SaaS mit User-Avatar-Storage

  • Vorher: AWS S3 eu-central-1, 500 GB, 2 TB Egress/Monat
  • Vorher-Kosten: $11 Storage + $180 Egress = $191/Monat
  • Nachher: R2, 500 GB, 2 TB Egress
  • Nachher-Kosten: $7,50 Storage + $0 Egress = $7,50/Monat
  • Ersparnis: $184/Monat, 96 % Reduktion

Case 2: B2B-Tool mit User-Uploads (PDFs, Excel)

  • Vorher: S3 + CloudFront, 2 TB Storage, 8 TB Egress
  • Vorher-Kosten: $43 Storage + $480 CloudFront + $30 Origin-Egress = $553/Monat
  • Nachher: R2 + Cloudflare Cache (auto)
  • Nachher-Kosten: $30 Storage + $0 Egress + Cloudflare-Plan $20 = $50/Monat
  • Ersparnis: $503/Monat, 91 % Reduktion

Migrations-Aufwand in beiden Faellen: 2-3 Tage — Endpoint aendern, rclone fuer den Initial-Sync, App-Code-Test, DNS-Switch.

Wann nicht migrieren

  • Wenn dein Egress < 100 GB / Monat ist (Ersparnis < $10/Monat). Lohnt den Aufwand nicht.
  • Wenn du tief in AWS-Eventing eingebettet bist (S3 → Lambda → SNS). Cloudflare Workers sind aequivalent, aber andere Patterns.
  • Wenn du KMS-zertifizierte Verschluesselung fuer Compliance brauchst.
  • Wenn du Glacier Deep Archive fuer 10+ Jahre nutzt — R2 hat keine echte Long-Term-Cold-Tier.

Multi-Provider-Pattern

Eine elegante Loesung fuer Compliance + Cost: S3 als Source-of-Truth, R2 als Public-Read-Cache.

User Browser → Cloudflare R2 (Public Bucket)
                    ↑
                Worker syncs from
                    ↑
                AWS S3 (Source-of-Truth, KMS, Object Lock)

Damit:

  • S3 behaelt die Compliance-Features
  • R2 macht das Public-Serving billig
  • Egress aus S3 (an R2 Cross-Region) ist 1-2 GB/Tag fuer Updates, nicht TB
  • Cloudflare-Edge cached vor R2 — noch billiger

DACH-Aspekte

R2 hat keine dedizierte EU-Region wie S3 — Cloudflare nutzt alle seine PoPs, inklusive der EU. Daten werden geografisch dort gespeichert, wo sie zuerst geschrieben werden, mit Jurisdiction-Optionen (EU-only via Cloudflare Workers Config moeglich).

Fuer streng DSGVO-regulierte Workloads (Healthcare, Personalakte) ist S3 in eu-central-1 mit AWS-DPA und KMS heute weiter die sicherere Wahl. Fuer normalen Personenbezug (User-Profile, App-Uploads) ist R2 mit Cloudflare-DPA durchgehend einsetzbar.

Workers + R2: das, was AWS S3 nicht hat

Cloudflare Workers koennen direkt R2 lesen/schreiben — ueber Bindings, ohne Egress-Charge zwischen Worker und R2.

export default {
  async fetch(request, env) {
    const obj = await env.MY_BUCKET.get("path/to/file");
    return new Response(obj.body, { headers: { 'cache-control': 'public, max-age=31536000' } });
  }
}

Damit baust du:

  • Pre-Sign-Token-Logik direkt im Edge
  • Image-Resize-on-the-fly via Cloudflare Images Pipeline
  • Auth-Gated Asset Delivery (Worker checkt JWT, R2 liefert)
  • Custom CDN-Logik (Cookie-based Routing, A/B-Testing)

Bei AWS waere das Lambda@Edge oder CloudFront Functions — beides kostet pro Invocation und ist limitierter. Workers haben 2026 einen Free-Tier von 100k Requests/Tag.

Performance-Test: 10k parallele Uploads

Eigene Messung, 10.000 Dateien je 1 MB von einem EC2-Host in eu-central-1 parallel hochladen:

ZielAggregated ThroughputMedian Latenz / Upload
AWS S3 eu-central-1~12 GB/s110 ms
AWS S3 us-east-1~3 GB/s280 ms
Cloudflare R2~4 GB/s250 ms
Backblaze B2~1,5 GB/s480 ms

S3 in derselben Region ist klar Throughput-Leader. R2 ist ueber das globale Cloudflare-Netz ausgeliefert, daher etwas langsamer beim Upload aus einem einzelnen Datacenter, aber deutlich gleichmaessiger weltweit.

Fuer Upload-Heavy-Workloads (z. B. Video-Ingest) ist S3 Same-Region die schnellere Wahl. Fuer Download/Serving ist R2 + CF-Cache schneller fuer Endnutzer.

Faustregeln zum Mitnehmen

  1. Egress > 500 GB/Monat? Migration pruefen. Ersparnis ist real.
  2. S3 fuer Source-of-Truth, R2 fuer Serving. Eleganter Hybrid.
  3. Pre-Signed URLs funktionieren in R2. Code-Change minimal.
  4. Lifecycle-Rules vor Migration verifizieren. R2 fehlt einiges.
  5. Glacier Deep Archive bleibt auf S3. R2 ist nicht der Long-Term-Cold.

Quellen

Pricing-Stand: 14. Mai 2026. Cloudflare und AWS passen Preise und Feature-Sets regelmaessig an — vor Migration aktuelle Werte verifizieren.

H

Geschrieben von

Harbinger Team

Cloud-, Data- und AI-Engineer in DACH. Schreibt seit 2018 über infrastruktur­kritische Tech-Entscheidungen — keine Marketing- Folien, sondern echte Trade-offs aus Production-Workloads.

Hat dir das geholfen?

Jede Woche ein neuer Artikel über DACH-Cloud, Data und AI — direkt in dein Postfach. Kein Spam, kein Marketing-Sprech.

Kein Spam. 1-Klick-Abmeldung. Datenschutz bei Loops.so.