Migration von AWS Lambda zu Cloudflare Workers: 95% Serverless Egress-Kosten sparen

Wenn eine Serverless-Anwendung skaliert, überrascht die monatliche Cloud-Rechnung meist mit extrem hohen Datenübertragungsgebühren (Egress Fees). Während Rechenleistung und Aufrufzahlen vorhersagbar bleiben, können die Egress-Kosten für den Datenversand an Clients bei steigendem Traffic explodieren.
Unsere Backend-Infrastruktur auf Basis von AWS Lambda und Amazon API Gateway erreichte ein monatliches Datenübertragungsvolumen von über 5 TB. Über 75% der gesamten Serverless-Kosten entfielen dabei allein auf ausgehende Netzwerkgebühren. Durch die Migration zu Cloudflare Workers am Edge konnten wir die Egress-Kosten um mehr als 95% senken und gleichzeitig Kaltstart-Latenzen um 80% reduzieren.
Dieser Artikel behandelt die technischen Migrationsgründe, den Kostenvergleich, das Refactoring von Node.js-Code hin zu V8-Isolates und Lösungen für Datenbank-Connection-Pools.
Wichtigste Erkenntnisse
- Keine Egress-Gebühren (Zero Egress): AWS berechnet 0,09 $ pro GB für ausgehenden Internet-Traffic, während Cloudflare Workers 0 $ Egress-Gebühren für Worker-Antworten verlangt.
- Keine Kaltstarts: Während AWS Lambda Kaltstarts von 200 ms bis 800 ms durch VPCs aufweist, startet Cloudflare Workers auf V8-Isolates in unter 5 ms.
- Code-Refactoring: Node.js-spezifische Module (
fs,net) müssen durch Web Standard APIs (Fetch API,Streams) oder Frameworks wie Hono ersetzt werden.- Datenbank-Anbindung: RDBMS-Zugriffe (PostgreSQL/MySQL) vom Edge erfordern Connection Pooling (z. B. Cloudflare Hyperdrive, Supabase, Neon), um Überlastungen zu vermeiden.
1. Der Auslöser: AWS-Egress-Kosten im Vergleich
Ein Kostenvergleich für 5 TB monatlichen Egress und 10 Millionen Anfragen:
| Kategorie | AWS (Lambda + API Gateway HTTP API) | Cloudflare Workers (Paid-Tarif) | Ersparnis |
|---|---|---|---|
| Basis-Tarif | 0,00 $ (Pay-as-you-go) | 5,00 $/Monat (inkl. 10 Mio. Anfragen) | - |
| Anfrage-Kosten | 10,00 $ (10M × 1,00 $/1M) | 0,00 $ (Im Tarif enthalten) | 100% |
| Rechen- / CPU-Kosten | ~18,50 $ (256MB, 200ms Ausführung) | 0,00 $ (30M CPU-ms enthalten) | 100% |
| Netzwerk-Egress-Gebühr | 450,00 $ (5.000GB × 0,09 $) | 0,00 $ (Antwort-Egress kostenlos) | 100% |
| Gesamtkosten Monat | 478,50 $ | 5,00 $ | 98,9% Ersparnis |
2. Handler-Refactoring: Hono FrameworkBeispiel
import { Hono } from 'hono';
import { cors } from 'hono/cors';
type Bindings = { API_KEY: string; };
const app = new Hono<{ Bindings: Bindings }>();
app.use('*', cors());
app.post('/api/process', async (c) => {
const userId = c.req.query('userId');
return c.json({
message: "Success",
userId,
workerRegion: c.req.raw.cf?.colo || 'UNKNOWN'
});
});
export default app;
3. Datenbank-Connection-Pooling mit Cloudflare Hyperdrive
import { Client } from 'pg';
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const client = new Client({ connectionString: env.HYPERDRIVE.connectionString });
await client.connect();
const { rows } = await client.query('SELECT * FROM users LIMIT 10');
await client.end();
return Response.json(rows);
}
};
Fazit
Durch den Wechsel zu Cloudflare Workers entfallen die Egress-Kosten für HTTP-Antworten vollständig. Dadurch sinken die Serverless-Betriebskosten um über 95% bei gleichzeitig schnelleren weltweiten Latenzzeiten.