---
title: "Cloudflare R2 vs S3: Was Egress wirklich kostet (und wo R2 stattdessen abrechnet)"
description: "Egress ist der Posten, der darüber entscheidet, ob Sie eine Cloud verlassen können. R2 berechnet dafür nichts, S3 pro Gigabyte — aber das ist nur die halbe Geschichte. Ein durchgerechneter Vergleich beider Rechnungen, das Kleingedruckte auf jeder Seite und was der EU Data Act verändert hat."
author: Aleksei Aleinikov
date: 2026-08-21
lang: de
tags: [cloudflare-r2, r2-preise, s3-preise, egress-gebuehren, object-storage, cloud-kosten]
canonical: https://www.alekseialeinikov.com/de/blog/topics/cloud/cloudflare-r2-vs-s3-egress-kosten-2026
source: alekseialeinikov.com
---

# Cloudflare R2 vs S3: Was Egress wirklich kostet (und wo R2 stattdessen abrechnet)

Die Rechnung für Objektspeicher handelt selten vom Speichern.

Sehen Sie sich eine große S3-Rechnung an: Die Gigabyte, die Sie aufbewahren, sind oft die kleinere Hälfte. Die größere Hälfte sind die Gigabyte, die Sie *versenden* — und dieser Posten leistet etwas, das kein anderer leistet: Er macht das Weggehen teuer. Ein Datensatz, dessen Umzug Sie sich nicht leisten können, liegt nicht einfach irgendwo. Er wird dort festgehalten.

Cloudflare R2 greift genau diesen Posten an, indem es nichts dafür berechnet. Das ist die Schlagzeile, sie stimmt — und sie ist nicht die ganze Geschichte. Hier ist, was beide Seiten tatsächlich abrechnen, mit Zahlen aus der Dokumentation der Anbieter, geprüft im August 2026.

## Warum es Egress überhaupt gibt

Bytes zu speichern ist günstig und wird weiter günstiger. Bytes über die Netzgrenze eines Anbieters zu bewegen ist der Punkt, an dem die Kostenkurve aufhört zu fallen — und an dem die Preismacht sitzt.

Die Asymmetrie ist der verräterische Teil. Bei S3 ist **eingehender Datenverkehr aus dem Internet kostenlos**. Ausgehender nicht. Kostenlos sind ebenfalls Daten zwischen Buckets derselben Region, Daten von S3 zu einem AWS-Dienst in derselben Region und Daten zu CloudFront. Ihre Daten hineinzubekommen kostet nichts; sie irgendwohin zu bekommen, das nicht AWS ist, kostet pro Gigabyte.

Das ist keine Verschwörung — Bandbreite kostet wirklich Geld — aber die Form bedeutet, dass der Zähler am schnellsten läuft, wenn Sie Ihre Daten anderswo verwenden.

## Die Schlagzeilenzahlen

**S3** stellt die ersten **100 GB pro Monat** ausgehenden Internetverkehrs kostenlos, aggregiert über alle AWS-Dienste und Regionen (außer China und GovCloud). Danach zahlen Sie pro Gigabyte, abhängig von Region und Volumen. AWS' eigene Dokumentation nennt in einem Beispiel zu Multi-Region Access Points **0,09 $ pro GB** für die Übertragung aus Europa (Irland) ins Internet.

Regionsübergreifende Übertragung ist günstiger, aber weiterhin bepreist: AWS nennt **0,01 $/GB** von N. Virginia nach Ohio und **0,02 $/GB** von Oregon nach N. Virginia.

**R2** berechnet **0 $ für Egress** auf jeder Speicherklasse. Cloudflares Fußnote zieht die Grenze präzise: Egress direkt aus R2 — über die Workers-API, die S3-kompatible API oder `r2.dev`-Domains — löst keine Übertragungsgebühr aus. Hängen Sie andere kostenpflichtige Dienste an den Bucket, können diese abrechnen.

Bei 5 TB monatlichem Egress aus Irland — bequem innerhalb der ersten Preisstufe — sind das rund **450 $ auf einer einzigen Zeile**, bevor überhaupt jemand etwas gespeichert hat.

Widerstehen Sie der Versuchung, das einfach hochzurechnen. AWS wendet **Volumenstufen** an und hält fest, dass diese Stufen die aggregierte Nutzung des ausgehenden Datenverkehrs über alle AWS-Dienste hinweg berücksichtigen. Der überall zitierte Gigabyte-Preis gilt nur für die erste Stufe; spätere Gigabyte kosten weniger. Eine flache Multiplikation über 50 TB überschätzt die Rechnung — die Richtung stimmt, die Summe nicht.

<figure>
  <img src="/blog/r2-vs-s3-bill-anatomy-2026.webp" alt="Anatomie einer S3- und einer R2-Rechnung im Vergleich: Speicher, Operationen und Egress, wobei Egress bei S3 bepreist und bei R2 kostenlos ist, während R2 das Gewicht auf Class-A- und Class-B-Operationen verlagert" width="1200" height="720" loading="lazy" decoding="async" />
  <figcaption>Dieselbe Last, zwei Zähler. R2 entfernt die Egress-Zeile und verlagert das Gewicht auf Operationen.</figcaption>
</figure>

## Was R2 stattdessen abrechnet

R2 ist nicht kostenlos. Es verschiebt den Zähler von ausgehenden Bytes auf Operationen, und bei manchen Lasten läuft dieser Zähler schnell.

| | Standard | Infrequent Access |
| --- | --- | --- |
| Speicher | 0,015 $ / GB-Monat | 0,01 $ / GB-Monat |
| Class-A-Operationen | 4,50 $ / Million | 9,00 $ / Million |
| Class-B-Operationen | 0,36 $ / Million | 0,90 $ / Million |
| Datenabruf | keiner | 0,01 $ / GB |
| Egress | kostenlos | kostenlos |

Das Freikontingent umfasst 10 GB-Monat Speicher, 1 Million Class-A- und 10 Millionen Class-B-Operationen pro Monat — **nur Standard**, nicht Infrequent Access.

Die Aufteilung zählt mehr als die Tarife:

- **Class A** (teuer, verändernd): `PutObject`, `CopyObject`, `ListObjects`, `ListBuckets`, `PutBucket`, die gesamte Multipart-Familie, Lifecycle-Übergänge und `PutBucket*`-Konfigurationsaufrufe.
- **Class B** (günstig, lesend): `GetObject`, `HeadObject`, `HeadBucket`, `UsageSummary`, `GetBucket*`-Aufrufe.
- **Kostenlos**: `DeleteObject`, `DeleteBucket`, `AbortMultipartUpload`.

Beachten Sie: **Auflisten ist Class A.** Ein Job, der bei jedem Durchlauf einen Bucket auflistet, zahlt den teuren Tarif für etwas, das sich wie Lesen anfühlt.

Cloudflares eigenes Asset-Hosting-Beispiel macht den Punkt besser als jedes Argument. 100.000 Dateien à durchschnittlich 100 KB, 10 Millionen Lesevorgänge pro Tag:

| | Nutzung | Abgerechnet |
| --- | --- | --- |
| Speicher | 100.000 × 100 KB | **0,00 $** (im Freikontingent) |
| Class A | 100.000 Schreibvorgänge | **0,00 $** (im Freikontingent) |
| Class B | 300 Millionen Lesevorgänge | **104,40 $** |
| **Gesamt** | | **104,40 $** |

Speicher: nichts. Egress: nichts. Die gesamte Rechnung besteht aus Leseoperationen. Wer zu R2 migriert und eine von Gigabyte dominierte Rechnung erwartet, wird von einer Rechnung überrascht, die von Anfragen dominiert wird.

## Das Kleingedruckte, das die Summe bewegt

Die Grundpreise sind der einfache Teil. Diese Klauseln verändern, was Sie tatsächlich zahlen — und sie schneiden in beide Richtungen.

<figure>
  <img src="/blog/r2-vs-s3-fine-print-2026.webp" alt="Fünf Abrechnungsdetails, die Objektspeicher verteuern: binäre Gigabyte bei S3, LIST zum PUT-Tarif, Gebühren für Bytes nach einem Verbindungsabbruch, Aufrundung auf die nächste Abrechnungseinheit bei R2 sowie Mindestgröße und Mindestdauer" width="1200" height="740" loading="lazy" decoding="async" />
  <figcaption>Nichts davon steht im Grundpreis. Alles davon steht auf der Rechnung.</figcaption>
</figure>

**S3 misst in binären Gigabyte.** AWS hält ausdrücklich fest, dass die S3-Speichernutzung in binären GB berechnet wird, wobei 1 GB 2³⁰ Bytes entspricht — ein Gibibyte. Wer sein Budget mit dezimalen Gigabyte kalkuliert hat, liegt um rund 7,4 % daneben, bevor irgendetwas anderes passiert.

**Egress ist gestuft, und die Stufen gelten kontoweit.** Der genannte Gigabyte-Preis gilt nur für die erste Stufe. AWS merkt an, dass die Preisstufen die aggregierte Nutzung des ausgehenden Datenverkehrs über alle AWS-Dienste hinweg berücksichtigen — Ihre S3-Rechnung hängt also davon ab, was CloudFront, EC2 und alles andere in diesem Monat hinausgeschickt haben. Das schneidet in beide Richtungen: Schätzungen mit einem einzigen Satz fallen zu hoch aus, und die Zuordnung pro Dienst ist schwieriger, als sie aussieht.

**LIST wird bei S3 zum PUT-Tarif abgerechnet.** Nicht zum GET-Tarif. AWS schreibt es direkt: "LIST requests for any storage class are charged at the same rate as S3 Standard PUT, COPY, and POST requests." Sich durch einen großen Bucket zu blättern ist keine günstige Leseoperation.

**Ein Verbindungsabbruch kann mehr kosten, als Sie erhalten haben.** Das ist zweimal Lesen wert. AWS dokumentiert: Fordern Sie ein 10-GB-Objekt an und brechen nach 2 GB ab, versucht S3 den Stream zu stoppen, schafft das aber nicht sofort — abgerechnet werden können 3 GB. Clients, die Downloads aggressiv abbrechen, zahlen für Bytes, die niemand konsumiert hat.

**R2 rundet auf die nächste Abrechnungseinheit auf.** Cloudflares Beispiele: Eine Million und eine Operation wird als **zwei Millionen** abgerechnet; 1,1 GB-Monat als **2 GB-Monat**. Bei kleinen Konten ist diese Rundung anteilig brutal.

**Mindestwerte beißen auf beiden Seiten.** S3 Standard-IA und One Zone-IA haben eine mindestens abgerechnete Objektgröße von **128 KB** und 30 Tage Mindestdauer; Glacier-Stufen liegen bei 90 oder 180 Tagen und ergänzen 40 KB Metadaten je archiviertem Objekt. R2s Infrequent Access trägt eine **Mindestdauer von 30 Tagen**.

**Unautorisierte Anfragen sind bei R2 kostenlos.** Cloudflare hält fest, dass keine Gebühren anfallen, wenn dem Aufrufer die Berechtigung fehlt (HTTP 401). Gut zu wissen, wenn Ihr Bucket öffentlich adressierbar ist und Rauschen anzieht.

## Wenn Infrequent Access mehr kostet als Standard

Die deutlichste Falle in R2s Preisliste ist die eigene günstigere Stufe. Cloudflare veröffentlicht beide Beispiele nebeneinander.

1.000 Objekte à 1 GB schreiben und jedes im Monat 1.000-mal lesen:

- **Standard**: 14,85 $ gesamt (990 abrechenbare GB-Monate nach Freikontingent; Operationen im Freikontingent)
- **Infrequent Access**: **29,90 $** gesamt

IA kostet das Doppelte. Die Mechanik: IA hat kein Freikontingent, die Class-A-Operationen kosten das Doppelte, die Class-B das 2,5-Fache, der Abruf kommt mit 0,01 $/GB hinzu, und die Mindestdauer von 30 Tagen bedeutet, dass fünf Tage Speicherung trotzdem 1.000 GB-Monate abrechnen statt 167.

Daraus folgt die Regel: **Infrequent Access ist eine Wette darauf, dass Sie die Daten nicht lesen.** Verlieren Sie die Wette, zahlen Sie mehr als mit Standard.

## Was der EU Data Act verändert hat

Die Verordnung (EU) 2023/2854 — der Data Act — trat am 11. Januar 2024 in Kraft und **gilt seit dem 12. September 2025**. Zu ihren Maßnahmen gehören Regeln, die Kunden einen wirksamen Wechsel zwischen Anbietern von Datenverarbeitungsdiensten ermöglichen sollen, ausdrücklich mit dem Ziel, den EU-Cloud-Markt zu öffnen.

Interessant ist, wie sich das in einer Preisliste niederschlägt. Auf der S3-Preisseite von AWS steht inzwischen:

> EU customers may request reduced data transfer rates for eligible use cases under the European Data Act. Please contact AWS Customer Support for more information.

Lesen Sie genau. Die Erleichterung existiert, und sie ist **eine Anfrage, die Sie stellen müssen**, für **geeignete** Anwendungsfälle, über den **Support**. Es ist keine Tarifänderung, die Ihrem Konto zugewiesen wird, weil Sie in der EU sitzen.

Das ist die praktische Form der Regulierung heute: Der Lock-in-Mechanismus ist verhandelbar geworden, nicht abwesend. Wer aus der EU heraus eine Migration weg von AWS plant, für den ist das Öffnen dieses Support-Tickets ein konkreter, datierbarer Schritt im Plan — keine Fußnote.

## Also welches

Die Entscheidung lautet nicht "was ist billiger", sondern **welcher Zähler zu Ihrem Verkehr passt**.

**R2 gewinnt klar, wenn Bytes die Cloud verlassen.** Öffentliche Asset-Auslieferung, Medien, Downloads, Backups, die von Systemen außerhalb von AWS gezogen werden — alles, was in Menge ins offene Internet geht. Dafür wurde R2 gebaut, und die Zahlen sind nicht knapp.

**S3 bleibt sinnvoll, wenn Bytes nie hinausgehen.** Sind Ihre Konsumenten EC2, Lambda, Athena oder Glue in derselben Region, zahlen Sie bereits null Egress. Diese Last zu R2 zu migrieren, um an einer Zeile zu sparen, die Ihnen nicht berechnet wird, ist Bewegung ohne Fortschritt.

**Zählen Sie Operationen, bevor Sie sich festlegen.** Eine Last mit vielen kleinen Objekten und hoher Anfragerate kann bei R2 mehr kosten, als sie an Egress spart. Cloudflares eigenes 104,40-$-Beispiel besteht vollständig aus Operationen.

**Prüfen Sie, was Sie verlieren.** R2 spricht die S3-API, aber "S3-kompatibel" ist nicht "S3-identisch". Verifizieren Sie vor einer Migration die konkreten Funktionen, von denen Ihr Stack abhängt, statt Gleichwertigkeit anzunehmen.

**Migrationswerkzeuge sind kostenlos, größtenteils.** Cloudflares Super Slurper (Massenkopie) und Sippy (inkrementell, Migration beim Lesen) kosten nichts — Sie zahlen nur die Class-A-Operationen, die sie gegen Ihren R2-Bucket erzeugen. Ihr *Quell*-Bucket kann Ihnen die Lesevorgänge und den Egress auf dem Weg hinaus trotzdem berechnen, was die letzte Ironie der ganzen Anordnung ist: Das Weggehen kostet Egress.

## Eine Checkliste vor dem Umzug

1. Ziehen Sie den tatsächlichen Egress des letzten Monats in GB aus dem Cost Explorer — keine Schätzung.
2. Zählen Sie Ihre Anfragen, getrennt nach Schreiben/Auflisten (Class A) und Lesen (Class B). Multiplizieren Sie mit R2s Tarifen.
3. Prüfen Sie, wie viel Ihres Verkehrs AWS-intern in derselben Region bleibt. Dieser Teil ist bereits kostenlos und gewinnt nichts.
4. Messen Sie den Speicher in binären und dezimalen Gigabyte neu, damit Sie Gleiches mit Gleichem vergleichen.
5. Nutzt ein Bucket IA oder Glacier, prüfen Sie Mindestdauer und Mindestobjektgröße, bevor Sie irgendetwas umlagern.
6. Sitzen Sie in der EU, eröffnen Sie das AWS-Support-Ticket zu den Data-Act-Übertragungstarifen — holen Sie sich die Zahl schriftlich, bevor Sie die Migration durchrechnen.
7. Budgetieren Sie die einmaligen Kosten der Migration selbst: Lesevorgänge plus Egress auf der Quellseite.

## Der eigentliche Punkt

Egress-Preise sind keine Bandbreitengebühr. Sie sind der Mechanismus, der gespeicherte Daten in gehaltene Kunden verwandelt — weshalb ein Wettbewerber, der genau diese Zeile angreift, immer Aufmerksamkeit bekommen würde, und weshalb irgendwann auch eine Regulierungsbehörde hinsah.

Aber "kostenloser Egress" ist eine Aussage über eine Zeile einer Rechnung, nicht über die Rechnung. Cloudflare berechnet Operationen, rundet auf und bestraft die falsche Speicherklasse genauso konsequent wie AWS. Der Anbieter hat gewechselt; die Notwendigkeit, das Kleingedruckte zu lesen, nicht.

Rechnen Sie Ihre eigene Last gegen beide Zähler. Für ein Medien-CDN lautet die Antwort anders als für eine Analytics-Pipeline, die us-east-1 nie verlässt — und wer etwas anderes behauptet, zitiert einen Grundpreis.

---

**Weiterlesen:** Wie Daten überhaupt beweglich bleiben, steht in [Backups sind kein Disaster Recovery](https://www.alekseialeinikov.com/de/blog/topics/cloud/backups-sind-kein-disaster-recovery-2026) und [Sovereign by Design](https://www.alekseialeinikov.com/de/blog/topics/architecture/sovereign-by-design-eine-souveraene-plattform-auf-kubernetes-bauen-2026). Zur Analytics-Seite der Speicherökonomie siehe [BigQuery vs Snowflake](https://www.alekseialeinikov.com/de/blog/topics/data/bigquery-vs-snowflake-2026-ehrlicher-vergleich).

**Quellen:** Alle Zahlen stammen aus der Anbieterdokumentation, geprüft im August 2026 — [Cloudflare R2 Pricing](https://developers.cloudflare.com/r2/pricing/) (Stand 7. August 2026), [Amazon S3 Pricing](https://aws.amazon.com/s3/pricing/) und die [Data-Act-Seite](https://digital-strategy.ec.europa.eu/en/policies/data-act) der Europäischen Kommission. Tarife ändern sich; prüfen Sie vor jeder Budgetzusage die Kalkulatoren der Anbieter.
