AWS-Datentransferkosten entstehen dort, wo Daten eine Grenze überschreiten: zwischen Availability Zones, zwischen Regionen, ins Internet oder durch ein NAT Gateway. Die Rechnung nennt dafür keine Anwendung, sondern einen Usage Type wie EUC1-DataTransfer-Regional-Bytes. Wer AWS Datentransfer Kosten erklären will, ordnet deshalb zuerst jede Zeile im Cost and Usage Report (CUR) 2.0 einem Netzwerkpfad zu und sucht danach mit VPC Flow Logs die Workload, die diesen Pfad benutzt.
Welche Datenwege AWS berechnet
Die Tabelle zeigt die wichtigsten Pfade, das Muster, unter dem sie im CUR erscheinen, und den Listenpreis für eu-central-1 (Frankfurt). Die Preise stammen aus der AWS Price List API, Stand 10. Oktober 2026, in USD ohne Umsatzsteuer; verhandelte Rabatte senken sie.
| Pfad | Usage Type (Frankfurt) | Listenpreis eu-central-1 |
|---|---|---|
| Internet-Ausgang | EUC1-DataTransfer-Out-Bytes | 0,09 USD/GB für die ersten 10 TB im Monat nach dem Freikontingent, danach gestaffelt |
| Eingang aus dem Internet | EUC1-DataTransfer-In-Bytes | kostenlos |
| Zwischen Availability Zones, auch über öffentliche oder Elastic IPs in der Region | EUC1-DataTransfer-Regional-Bytes | 0,01 USD/GB je Richtung |
| Frankfurt nach Irland | EUC1-EU-AWS-Out-Bytes, Gegenzeile EU-EUC1-AWS-In-Bytes in Irland ohne Kosten | 0,02 USD/GB |
| NAT Gateway, zonal | EUC1-NatGateway-Hours, EUC1-NatGateway-Bytes | 0,052 USD je Stunde und 0,052 USD/GB verarbeitet |
| NAT Gateway, regional | EUC1-RegionalNatGateway-Hours, EUC1-RegionalNatGateway-Bytes | 0,052 USD je Stunde und AZ, 0,052 USD/GB |
| Interface Endpoint (PrivateLink) | EUC1-VpcEndpoint-Hours, EUC1-VpcEndpoint-Bytes | 0,012 USD je Stunde und AZ, 0,01 USD/GB im ersten PB |
| Region zu CloudFront (Origin Fetch) | EUC1-CloudFront-Out-Bytes | 0,00 USD/GB |
Drei Regeln aus den AWS-Preisseiten erklären viele Überraschungen. Erstens sind 100 GB Internet-Ausgang pro Monat frei, aber aggregiert über alle Services und Regionen außer China und GovCloud, nicht je Region. Zweitens ist Verkehr zwischen S3 und EC2 in derselben Region kostenlos, solange kein weiterer Dienst im Pfad liegt: Läuft er durch ein NAT Gateway, fällt dessen Datenverarbeitung an. AWS rechnet genau dieses Beispiel auf der VPC-Preisseite vor. Drittens können EU-Kunden laut AWS für berechtigte Anwendungsfälle unter dem EU Data Act reduzierte Transferpreise beim Support anfragen; was der Data Act für Wechselkosten bedeutet, beschreibt EU Data Act: Cloud-Wechselkosten vor 2027 richtig planen.
So lesen Sie Transferzeilen im CUR 2.0
Ein Byte erzeugt oft mehrere Zeilen. AWS dokumentiert die Muster in „Understanding data transfer charges“:
- Zwischen Regionen entstehen zwei Zeilen. Die
-AWS-In-Bytes-Zeile der Zielregion kostet nichts, berechnet wird die-AWS-Out-Bytes-Zeile der Quellregion. - Zwischen AZs berechnet AWS für jede gemessene Ressource Eingang und Ausgang. Sie sehen also zwei
DataTransfer-Regional-Bytes-Zeilen, und beide kosten. - Ohne Regionspräfix, etwa
DataTransfer-Out-Bytes, steht die Zeile für US East (N. Virginia). - Irland heißt in Usage Types
EU, LondonEUW2.EUC1-EU-AWS-Out-Bytesist also Frankfurt nach Irland. - CloudFront nutzt ähnliche Namen wie
EU-DataTransfer-Out-Bytes; hier meintEUdie europäischen Edge-Standorte. Unterscheiden Sie überline_item_product_code(AmazonCloudFront).
Für die Auswertung brauchen Sie neben line_item_usage_type die statischen CUR-2.0-Spalten product_from_location, product_to_location, product_from_region_code und product_to_region_code. Die Spalte line_item_resource_id existiert nur, wenn der Export mit der Tabellenkonfiguration INCLUDE_RESOURCES angelegt wurde. Wenn Sie noch zwischen CUR 2.0 und FOCUS entscheiden, hilft AWS CUR 2.0 oder FOCUS 1.2: den richtigen Kostenexport wählen.
SQL: Transferkosten nach Pfad und Ressource
Die Abfrage läuft in Athena gegen eine CUR-2.0-Tabelle und listet die teuersten Kombinationen aus Konto, Service, Pfad und Ressource eines Abrechnungsmonats.
-- cur2: Ihre Athena-Tabelle des CUR-2.0-Exports
SELECT
line_item_usage_account_id,
line_item_product_code,
line_item_usage_type,
product_from_location,
product_to_location,
line_item_resource_id,
pricing_unit,
ROUND(SUM(line_item_usage_amount), 2) AS menge,
ROUND(SUM(line_item_unblended_cost), 2) AS kosten
FROM cur2
WHERE bill_billing_period_start_date = TIMESTAMP '2026-09-01 00:00:00'
AND line_item_line_item_type = 'Usage'
AND ( line_item_usage_type LIKE '%DataTransfer%'
OR line_item_usage_type LIKE '%-AWS-Out-Bytes'
OR line_item_usage_type LIKE '%NatGateway%'
OR line_item_usage_type LIKE '%VpcEndpoint%')
GROUP BY 1, 2, 3, 4, 5, 6, 7
HAVING SUM(line_item_unblended_cost) > 0
ORDER BY kosten DESC
LIMIT 50;
Lesen Sie Menge immer zusammen mit der Einheit: NAT- und Endpoint-Stunden stehen in Stunden, Transferzeilen in GB. Ist Ihre Tabelle nach Abrechnungsperiode partitioniert, ergänzen Sie den Partitionsfilter, damit Athena weniger scannt. Rabatte stehen als eigene Zeilen vom Typ Discount im Export; die Kosten nach Rabatt zeigt line_item_net_unblended_cost, die nur vorhanden ist, wenn Ihr Konto im Zeitraum einen Rabatt hatte.
Ohne SQL: Cost Explorer in fünf Schritten
- Öffnen Sie Cost Explorer, wählen Sie die letzten drei abgeschlossenen Monate und monatliche Granularität.
- Filtern Sie unter Usage type group auf die EC2-Gruppen für Datentransfer und NAT Gateway; ihre Namen beginnen mit „EC2: Data Transfer“ und „EC2: NAT Gateway“.
- Gruppieren Sie nach Usage type, danach nacheinander nach Linked account und Region.
- Usage type groups gibt es nur für DynamoDB, EC2, ElastiCache, RDS, Redshift und S3. Für andere Services filtern Sie direkt unter Usage type nach Einträgen mit
Bytes. - Für Ressourcen-IDs aktivieren Sie in den Cost-Management-Einstellungen Ressourcendaten mit täglicher Granularität. Sie decken die letzten 14 Tage ab und stehen innerhalb von 48 Stunden bereit; für längere Zeiträume bleibt der CUR die Quelle.
Wer den Verkehr erzeugt: VPC Flow Logs
Die Rechnung sagt, welches NAT Gateway wie viele GB verarbeitet hat, aber nicht, welche Instanz oder welcher Pod sie geschickt hat. Ein Flow Log auf der Netzwerkschnittstelle des NAT Gateways beantwortet das.
Netzwerkschnittstelle des NAT Gateways ermitteln:
aws ec2 describe-nat-gateways --nat-gateway-ids nat-0123456789abcdef0 \
--query 'NatGateways[].NatGatewayAddresses[].NetworkInterfaceId' --output text
Flow Log mit Paketadressen, Ziel-Service und AZ als Parquet nach S3:
aws ec2 create-flow-logs \
--resource-type NetworkInterface \
--resource-ids eni-0123456789abcdef0 \
--traffic-type ALL \
--log-destination-type s3 \
--log-destination arn:aws:s3:::example-flow-logs/nat/ \
--log-format '${interface-id} ${flow-direction} ${pkt-srcaddr} ${pkt-dstaddr} ${pkt-dst-aws-service} ${az-id} ${traffic-path} ${bytes} ${start} ${end}' \
--max-aggregation-interval 60 \
--destination-options FileFormat=parquet,PerHourPartition=true
Für ein regionales NAT Gateway kennt create-flow-logs den Ressourcentyp RegionalNatGateway. So deuten Sie die Felder:
pkt-srcaddrist die ursprüngliche private IP hinter dem NAT Gateway, bei EKS auch die Pod-IP. Summieren Siebytesje Adresse und ordnen Sie die größten Absender Instanzen oder Pods zu.pkt-dst-aws-servicemitS3oderDYNAMODBzeigt Verkehr, den ein Gateway Endpoint übernehmen könnte.- Liegt die
az-iddes NAT Gateways in einer anderen AZ als das Subnetz des Absenders, zahlen Sie zusätzlichDataTransfer-Regional-Bytes. - Für andere Pfade legen Sie das Flow Log auf VPC oder Subnetz.
traffic-pathzeigt bei ausgehendem Verkehr den Weg, etwa8für Internet Gateway,7für Gateway Endpoint,4und5für Peering in derselben oder einer anderen Region.
Flow Logs kosten selbst Gebühren für Vended Logs. Begrenzen Sie Schnittstelle und Zeitraum. IP-Adressen externer Nutzer können personenbezogene Daten sein; legen Sie Aufbewahrung und Zugriff mit Ihrer Datenschutzverantwortlichen fest.
Maßnahmen und ihre Gegenkosten
| Befund | Maßnahme | Gegenkosten und Risiko |
|---|---|---|
| NAT-Bytes zu S3 oder DynamoDB in derselben Region | Gateway Endpoint in den Route Tables der privaten Subnetze | keine Gebühr; wirkt nur in derselben Region; Endpoint-Policy prüfen |
| NAT-Bytes zu anderen AWS-Services wie ECR oder CloudWatch Logs | Interface Endpoint je Service | Stundenpreis je AZ und GB-Preis, lohnt nur oberhalb der Break-even-Menge |
| Regional-Bytes zwischen Workload und NAT Gateway | NAT Gateway je AZ oder regionales NAT Gateway | zusätzliche NAT-Stunden je AZ |
| Regional-Bytes zwischen Diensten | Verkehr in der AZ halten, etwa mit topologiebewusstem Routing | weniger Reserve, wenn eine AZ ausfällt |
| Regional-Bytes über öffentliche IPs innerhalb der Region | private Adressen und interne DNS-Namen | Konfigurationsaufwand |
| Inter-Region-Out | Replikation filtern, aus der lokalen Kopie lesen | Recovery- und Latenzanforderungen |
| Internet-Ausgang aus EC2, S3 oder Load Balancer | CloudFront vor den Origin, Komprimierung, Caching | CloudFront hat eigene Preise, nutzungsbasiert oder als Flatrate-Tarif |
Für einen Interface Endpoint gilt pro Service: Er lohnt sich, wenn GB pro Monat × (NAT-Preis je GB − Endpoint-Preis je GB) größer ist als Anzahl AZs × Stunden im Monat × Endpoint-Preis je Stunde. Setzen Sie die Preise Ihres Vertrags ein, nicht nur die Listenpreise.
Nachmessen und entscheiden
Achten Sie auf Verlagerung: Sinken die NAT-Bytes, während Endpoint-Stunden oder Regional-Bytes steigen, ist das keine Einsparung. Und wer bei Inter-Region-Verkehr die kostenlosen Eingangszeilen mitsummiert, verdoppelt das Volumen.
Die Entscheidung gehört dem Team, dem der Pfad gehört: Pfad akzeptieren, Route ändern oder Architektur ändern. Notieren Sie vor dem Umbau alten Pfad, belastete Usage Types und erwarteten neuen Pfad, und messen Sie dieselben Usage Types einen vollen Abrechnungsmonat danach. Im monatlichen Cloud-Kostenreview gehört diese Nachmessung auf die Maßnahmenliste.
Transferkosten in Costfluent
Costfluent liest AWS-Kosten über eine schreibgeschützte IAM-Rolle aus einem FOCUS-1.2-Data-Export in Ihrem eigenen S3-Bucket (AWS-Integration). Transferkosten lassen sich dort nach Konto, Service, Region und Ressource gruppieren und als Kostenbericht speichern. Kosteneinblicke zeigen, wenn ein Service im Vergleichszeitraum ungewöhnlich wächst. Welche Workload den Verkehr erzeugt, beantworten weiterhin die Flow Logs in Ihrem Konto; Costfluent ändert keine Netzwerkkonfiguration.
Quellen und Methode
Geprüft am 10. Oktober 2026: AWS Data Exports: Understanding data transfer charges, CUR 2.0: Product columns, CUR 2.0: Line item columns, CUR 2.0: Tabellenkonfigurationen, Amazon VPC Pricing, Pricing for NAT gateways, Regional NAT gateways, Amazon EC2 On-Demand Pricing: Data Transfer, Amazon S3 Pricing: Data transfer, AWS PrivateLink Pricing, Gateway endpoints, Amazon CloudFront Pricing, Cost Explorer: Filtering and grouping, Cost Explorer: Resource-level data, Flow log records, Flow Logs: Pricing, AWS CLI create-flow-logs. Preise für eu-central-1 aus der AWS Price List API: AWSDataTransfer (veröffentlicht am 16. September 2026), AmazonEC2 (9. Oktober 2026) und AmazonVPC (17. September 2026); CloudFront-Usage-Types aus AmazonCloudFront (3. Oktober 2026). Tabellen, Abfrage und Prüfschritte sind Empfehlungen von Costfluent, keine Rechts- oder Datenschutzberatung.



