CDN-Kosteneffizienz analysieren: ein Entwicklervergleich
Beginnen Sie einen CDN-Kostenvergleich mit den monatlichen Bytes und Anfragen. Prüfen Sie dann, welche Tarife Ihre Inhalte ausliefern dürfen. Für die unten beschriebene Website-Last beträgt die nutzungsabhängige Zwischensumme für die Auslieferung bei CloudFront 71,28 $, während der Pro-Pauschaltarif 15 $ kostet. Dieser Unterschied macht den Vergleich konkreter Angebote ebenso wichtig wie den Vergleich der Anbieter.
Eine monatliche Last definieren
Dies ist ein konstruiertes Budgetbeispiel, keine Kundenrechnung und kein Leistungsbenchmark. Es modelliert eine öffentliche Website, die HTML, CSS, JavaScript und ergänzende Bilder in überschaubarem Umfang ausliefert, ohne Videos, große Dateidownloads, Uploads oder Bildtransformationen.
| Monatliche Eingangsgröße | Nordamerika, in den USA ausgeliefert | Europa | Gesamt |
|---|---|---|---|
| Antwortbytes an Besucher, nach Komprimierung und einschließlich HTTP-Headern | 1.200.000.000.000 | 800.000.000.000 | 2.000.000.000.000 |
| Erfolgreiche HTTPS-GET-Anfragen | 3 Millionen | 2 Millionen | 5 Millionen |
Angenommen werden eine Domain und eine Distribution oder ein Dienst, ein vollständiger Abrechnungsmonat, ungenutzte Freikontingente und keine weitere Kontonutzung. Die regionale Aufteilung beträgt hier für beide Größen 60/40. Erfassen Sie Bytes und Anfragen getrennt aus Ihren eigenen Logs. Ordnen Sie den Traffic den Abrechnungsregionen des jeweiligen Anbieters zu, statt anzunehmen, dass das Land eines Besuchers immer den Auslieferungsstandort bestimmt.
Alle folgenden Preise und Kontingente wurden am 22. September 2026 geprüft. Die Beträge sind USD vor Steuern und basieren auf öffentlichen Preisen ohne ausgehandelte Rabatte oder Aktionsguthaben. Der Vergleich schließt Origin-Hosting, Speicher, Origin-Anfragen und -Transfer, optionales Edge-Computing, Transformationen, Log-Ziele sowie zusätzliche kostenpflichtige Sicherheits- oder Supportleistungen aus. Enthaltene Paketfunktionen bleiben enthalten; diese Angebote bieten nicht denselben Funktionsumfang.
Die konkreten CDN-Angebote vergleichen
| Angebot | Veröffentlichte Grundlage für diese Last | Monatliche Auslieferungskosten (geschätzt) oder Listenpreis |
|---|---|---|
| Cloudflare-Website-Tarife Free / Pro | Free enthält das CDN; Pro kostet 25 $ bei monatlicher oder 20 $/Monat bei jährlicher Abrechnung. Hier gilt die monatliche Abrechnung. | 0 $ / 25 $, sofern die Inhalte zulässig sind |
| CloudFront mit nutzungsabhängiger Abrechnung | Jeden Monat 1 TB Transfer und 10 Millionen HTTP/S-Anfragen kostenlos; die nächste Transferstufe kostet in beiden gewählten Regionen 0,085 $ pro AWS-GB. | 71,28 $ für die Auslieferung an Besucher |
| CloudFront-Pro-Pauschaltarif | 15 $ pro Distribution/Monat; 50 TB und 10 Millionen Anfragen enthalten. | 15 $, sofern die Funktionen passen |
| Fastly Full Site Delivery, aktuelle Nutzungspreise | Regionale Stufen: die ersten 100 GB und 1 Million Anfragen kostenlos; danach 0,12 $/GB in Nordamerika und Europa, zuzüglich 0,01 $ pro 10.000 Anfragen. | 219 $ für die Auslieferung an Besucher |
| Fastly Network Services Basic-Paket | Listenpreis von 1.500 $/Monat mit 100 Millionen Anfragen und Standard-Support. | 1.500 $ Listenpreis; Vertragsbedingungen einholen |
Cloudflare Free ist eine echte Option, wenn seine Funktionen ausreichen. Pro ist nicht allein für die Nutzung des CDN erforderlich. Der CloudFront-Pauschaltarif für 0 $ hat kleinere Kontingente, 100 GB und 1 Million Anfragen, die diese Last überschreitet. Das kostenlose Kontingent der nutzungsabhängigen Abrechnung ist ein separates Angebot, kein zusätzliches Kontingent, das sich mit Pro kombinieren lässt. AWS führt die Pauschaltarife separat auf.
Die Zeilen mit nutzungsabhängigen Preisen setzen keine Laufzeitbindung voraus. CloudFront-Pauschaltarife erfordern keine Jahresbindung. Für Fastlys Paketbindung, Bandbreitenbedingungen und den Umgang mit Mehrverbrauch ist ein Angebot nötig; ein monatlicher Listenpreis legt diese Bedingungen nicht fest. Die aktuelle Preisliste verlinkt außerdem separate Alttarife für Online-Konten, die vor dem 4. November 2025 erstellt wurden.
Zulässigkeit und erforderliche Funktionen prüfen
Die Website-Tarife von Cloudflare erlauben nicht pauschal jede Medienauslieferung. Die CDN-Bedingungen verlangen außerhalb von Enterprise geeignete kostenpflichtige Dienste für Videos und andere große Dateien. Sie erlauben zudem Einschränkungen bei überproportionaler Auslieferung von Bildern, Audio oder großen Dateien. Kalkulieren Sie einen Video- oder Bilddienst separat, falls dies auf Ihre Last zutrifft.
Fastlys Paketbeschränkungen richten sich an Webseiten und APIs, schließen Streaming aus und begrenzen Traffic aus den Abrechnungsregionen Afrika, Indien oder Südkorea auf 10 %. Unser Beispiel für die USA und Europa umgeht diese regionale Einschränkung, belegt aber nicht, dass alle Paketbedingungen erfüllt sind.
Das Transferkontingent von CloudFront Pro passt zu diesem Beispiel, doch individuelle Cache-Richtlinien und ein Verfügbarkeits-SLA sind erst ab Business enthalten. Benötigt eine Website diese Funktionen, muss die Zeile mit 15 $ neu bewertet werden. Pauschaltarife decken eine Distribution und bis zu eine Apex-Domain ab. Anhaltender erheblicher Mehrverbrauch kann zu Anpassungen der Auslieferung führen, obwohl keine Mehrverbrauchsgebühren anfallen. Prüfen Sie die Regeln für Funktionen und Kontingente, einschließlich der Zulässigkeit anhand der bisherigen Nutzung. AWS verlangt außerdem ein berechtigtes Konto statt eines Free-Tier-Kontos.
Bevor Sie zwei Preise als Alternativen betrachten, notieren Sie Ihre Anforderungen an Caching-Steuerung, WAF-Regeln, Bot-Schutz, Log-Aufbewahrung, Support-Reaktionszeiten und Verfügbarkeitszusagen. Eine niedrige Zwischensumme für die Auslieferung deckt fehlende Anforderungen nicht ab.
Die Auslieferungskosten nachrechnen
Behalten Sie beim Vergleich der Einheiten die ursprüngliche Byteanzahl bei. Fastly verwendet dezimale GB, diese Last entspricht also 2.000 GB. AWS beschreibt den CloudFront-Transfer in binären GB, die wir hier als GiB kennzeichnen: Dieselben Bytes entsprechen etwa 1.862,645149 GiB, bei einem Freikontingent von 1.024 GiB. Siehe Fastlys Abrechnungsmaße und die Erläuterung der AWS-Einheiten auf Portugiesisch.
Ziehen Sie bei CloudFront das Kontingent einmal für das gesamte Konto ab:
max(0, 2,000,000,000,000 / 1,073,741,824 − 1,024) × $0.085 = $71.28.
In beiden Regionen gilt bei diesem Volumen derselbe Transferpreis, daher ändert die Aufteilung
zwischen ihnen das Ergebnis nicht. Alle fünf Millionen Anfragen liegen innerhalb des separaten
Anfragekontingents.
Wenden Sie bei Fastly die veröffentlichten regionalen Freikontingente einmal pro Abrechnungsregion an:
| Bestandteil | Berechnung | USD |
|---|---|---|
| Transfer Nordamerika | (1.200 − 100) GB × 0,12 $ | 132,00 |
| Transfer Europa | (800 − 100) GB × 0,12 $ | 84,00 |
| Anfragen Nordamerika | (3.000.000 − 1.000.000) / 10.000 × 0,01 $ | 2,00 |
| Anfragen Europa | (2.000.000 − 1.000.000) / 10.000 × 0,01 $ | 1,00 |
| Zwischensumme Auslieferung an Besucher | 132 + 84 + 2 + 1 | 219,00 |
Der folgende Offline-Rechner reproduziert diese beiden Zwischensummen. Er akzeptiert bewusst nur Nordamerika und Europa, zusammen höchstens 10 dezimale TB und insgesamt höchstens 10 Millionen Anfragen. Diese Grenzen halten ihn innerhalb der oben genannten Transferstufen und des kostenlosen Anfragekontingents von CloudFront. Größere Lasten erfordern weitere Preisstufen, nicht das Entfernen der Schutzprüfung.
Speichern Sie dies als neue Datei mit dem Namen cdn-cost.ts. Benötigt wird Node.js
mit nativer TypeScript-Unterstützung, aber keine Pakete. Das Beispiel wurde mit Node.js 26.8.1 unter
Linux getestet. Es gibt Schätzungen aus, stellt keine Netzwerkanfragen und schreibt keine
Ausgabedateien. Eine erneute Ausführung lässt vorhandene Dateien daher unverändert.
interface Usage {
bytes: number
requests: number
}
const workload: Record<'northAmerica' | 'europe', Usage> = {
northAmerica: { bytes: 1_200_000_000_000, requests: 3_000_000 },
europe: { bytes: 800_000_000_000, requests: 2_000_000 },
}
function estimate(traffic: typeof workload): Record<string, number> {
if (Object.keys(traffic).some((region) => region !== 'northAmerica' && region !== 'europe')) {
throw new Error('Only North America and Europe are priced')
}
const regions = [traffic.northAmerica, traffic.europe]
for (const region of regions) {
for (const value of [region.bytes, region.requests]) {
if (!Number.isSafeInteger(value) || value < 0) {
throw new Error('Use nonnegative whole bytes and request counts')
}
}
}
const bytes = regions.reduce((sum, region) => sum + region.bytes, 0)
const requests = regions.reduce((sum, region) => sum + region.requests, 0)
if (bytes > 10_000_000_000_000 || requests > 10_000_000) {
throw new Error('This example stops at 10 TB and 10 million requests')
}
const fastlyBandwidth = regions.reduce(
(sum, region) => sum + Math.max(0, region.bytes / 1_000_000_000 - 100) * 0.12,
0,
)
const fastlyRequests = regions.reduce(
(sum, region) => sum + (Math.max(0, region.requests - 1_000_000) / 10_000) * 0.01,
0,
)
return {
cloudFrontPayg: Math.max(0, bytes / 2 ** 30 - 1_024) * 0.085,
fastlyBandwidth,
fastlyRequests,
fastlyDelivery: fastlyBandwidth + fastlyRequests,
}
}
for (const [name, cost] of Object.entries(estimate(workload))) {
console.log(`${name}: USD ${cost.toFixed(2)}`)
}
Führen Sie es aus dem Verzeichnis aus, das die Datei enthält:
node cdn-cost.ts
Erwartete Ausgabe:
cloudFrontPayg: USD 71.28
fastlyBandwidth: USD 216.00
fastlyRequests: USD 3.00
fastlyDelivery: USD 219.00
Ändern Sie die beiden regionalen Gesamtwerte, um einen anderen Monat innerhalb der angegebenen Grenzen zu prüfen. Beispielsweise ergeben 100 GB und eine Million Anfragen pro Region bei beiden Anbietern eine Nutzungszwischensumme von null. Wird derselbe Traffic in einer Region gebündelt, beträgt die Zwischensumme bei Fastly 13 $, weil nur die Freikontingente einer Region gelten. Dies sind rechnerische Prüfungen dieses Preismodells, keine verifizierten Rechnungen.
Fastly berechnet außerdem Bandbreite vom CDN zum Origin und, wenn aktiviert, Traffic vom Shield zur Edge. Die hier genannten 219 $ schließen diese Pfade aus; selbst eine GET-Anfrage sendet Anfrageheader zum Origin. Ergänzen Sie diese Kosten anhand von Fastlys Abrechnungsdefinition, bevor Sie eine vollständige Rechnung schätzen. Keine der beiden Nutzungszwischensummen enthält die Rechnung des Origin-Anbieters.
Cache-Treffer vom Besucherverkehr trennen
Auch bei einem Edge-Cache-Treffer wird die Antwort an den Besucher ausgeliefert. Eine bessere Edge-Trefferrate reduziert daher die Bytes oder Anfragen der Besucher in dieser Berechnung nicht, solange die angeforderten Antworten gleich bleiben. Kleinere Antworten und Browser-Caching können den Besucherverkehr reduzieren; besseres Edge-Caching verändert vor allem, was den Origin erreicht.
Erfassen Sie zwei unterschiedliche Quoten: Die Anfrage-Trefferrate zählt Anfragen, die aus dem Cache beantwortet werden, während die Byte-Trefferrate Treffer nach Antwortgröße gewichtet. In einem vereinfachten Modell, in dem jeder Cache-Miss eine vollständige Antwort derselben Größe vom Origin abruft, gilt:
- Bei einer Anfrage-Trefferrate von 90 % führen fünf Millionen Besucheranfragen zu 500.000 Origin-Anfragen.
- Bei einer Byte-Trefferrate von 80 % bedeuten 2.000 GB Auslieferung an Besucher, dass 400 GB vom Origin abgerufen werden.
- Wird nur die Byte-Trefferrate auf 95 % erhöht, sinkt dieses Origin-Volumen auf 100 GB, also um 300 GB. Die Auslieferung an Besucher bleibt bei 2.000 GB.
Dies sind hypothetische Traffic-Berechnungen. Revalidierung, das Zusammenfassen von Anfragen, Shielding und eine andere Komprimierung auf der Origin-Verbindung können den tatsächlichen Origin-Traffic verändern. Cloudflares Dokumentation zur Cache-Analyse zeigt, warum eine Revalidierung den Origin kontaktieren kann, ohne den Antwortinhalt erneut herunterzuladen. Messen Sie diesen Traffic separat, bevor Sie Einsparungen ansetzen. Der Transfer von einem AWS-Origin zu CloudFront ist laut den veröffentlichten Preisen bereits kostenlos. Setzen Sie dafür also keine erfundene Einsparung beim ausgehenden Origin-Traffic an; Kosten für Origin-Anfragen oder Rechenleistung können sich dennoch ändern.
Die Schätzung mit Ihrer Anwendung abgleichen
Ersetzen Sie das Beispiel durch die Bytes und Anfragen eines Monats je Abrechnungsregion. Kalkulieren Sie dann den Origin-Aufwand und erforderliche Extras separat. Führen Sie Bildtransformationen, Videoverarbeitung und die Ausführung von Edge-Funktionen als getrennte Positionen auf. Wenn eine Funktion Antworten verkleinert, vergleichen Sie ihre Kosten mit der daraus resultierenden Änderung des Besucher- und Origin-Traffics, statt anzunehmen, dass sie sich von selbst rechnet.
Messen Sie p95 TTFB, Seitenladeverhalten und Fehlerraten für die Nutzer und Cache-Zustände, die für Ihre Anwendung relevant sind. Eine Preistabelle kann nicht belegen, welches Netzwerk für sie die beste Leistung bietet. Halten Sie Nutzdaten und Cache-Konfiguration beim Vergleich von Alternativen vergleichbar.
Gleichen Sie das Modell vor einer verbindlichen Entscheidung mit einer bestehenden Rechnung oder einer Anbieterschätzung ab. Prüfen Sie dabei die gemeinsame Nutzung von Freikontingenten, Abrechnungseinheiten und die Bedingungen des gewählten Kontos. Erfassen Sie jede unerklärte Differenz als ungeklärte Kosten, nicht als null. So erhalten Sie ein Budget, das Sie bei Änderungen des Traffics oder der Anforderungen erneut prüfen können.
