AWS Data Transfer Costs 2026: Οδηγός Μείωσης NAT Gateway, Egress και Cross-AZ Χρεώσεων

Πλήρης οδηγός για τη δραστική μείωση των AWS data transfer κοστών το 2026: VPC Gateway/Interface Endpoints, εξάλειψη cross-AZ traffic, CloudFront caching και Regional NAT Gateway. Με πρακτικά παραδείγματα Terraform και AWS CLI για εξοικονόμηση έως 80%.

Αν κοιτάξεις προσεκτικά οποιονδήποτε λογαριασμό AWS του 2026, θα δεις κάτι ενοχλητικό: τα data transfer κόστη έχουν μετατραπεί σιωπηλά σε έναν από τους πιο ύπουλους «κρυφούς φόρους» του cloud. Ενώ οι περισσότερες FinOps ομάδες κυνηγούν Savings Plans για EC2 ή κάνουν rightsizing στις RDS instances, μια τυπική production αρχιτεκτονική μπορεί να σπαταλά κάπου ανάμεσα στο 15% και το 25% του συνολικού της λογαριασμού σε χρεώσεις δικτύου — internet egress, cross-AZ traffic, και πάνω απ' όλα στο διαβόητο NAT Gateway processing fee.

Σε αυτόν τον οδηγό θα δούμε πρακτικές στρατηγικές, με κώδικα Terraform και AWS CLI, για να ρίξουμε τα data transfer κόστη έως και 80% — χωρίς να θυσιάσουμε ασφάλεια ή availability. Όλες οι τιμές είναι ενημερωμένες για τον Απρίλιο του 2026.

Γιατί τα Data Transfer Κόστη είναι Τόσο Δύσκολα στον Εντοπισμό

Σε αντίθεση με τα EC2 instances ή τα EBS volumes που εμφανίζονται καθαρά στο Cost Explorer, τα data transfer κόστη είναι κατακερματισμένα σε δεκάδες line items. Ένα μόνο HTTPS request από ένα EKS pod σε ένα ECR registry μπορεί να ενεργοποιήσει ταυτόχρονα:

  • Cross-AZ data transfer (αν το pod και το NAT Gateway είναι σε διαφορετικά AZ)
  • NAT Gateway hourly fee
  • NAT Gateway data processing fee
  • Internet egress charge (αν δεν χρησιμοποιείται VPC Endpoint)

Το αποτέλεσμα; Μια Kubernetes εφαρμογή που τραβάει container images συχνά μπορεί να παράγει χιλιάδες ευρώ τον μήνα μόνο σε χρεώσεις NAT — και κανείς δεν το συνειδητοποιεί μέχρι το πρώτο «bill shock» του τριμήνου.

Η Πλήρης Δομή Τιμολόγησης AWS Data Transfer το 2026

Πίνακας Βασικών Χρεώσεων

Τύπος Μεταφοράς Κόστος ανά GB Σχόλια
Internet Ingress (προς AWS) $0.00 Πάντα δωρεάν
Internet Egress (πρώτα 10 TB/μήνα) $0.09 Πρώτα 100 GB δωρεάν
Cross-AZ (κάθε κατεύθυνση) $0.01 Χρεώνεται και στις δύο πλευρές
Cross-Region $0.02 - $0.09 Διαφέρει ανά region pair
NAT Gateway Processing $0.045 Επιπλέον του egress
CloudFront (πρώτα 10 TB) $0.085 Συν caching benefits
VPC Gateway Endpoint (S3, DynamoDB) $0.00 Εντελώς δωρεάν
VPC Interface Endpoint (PrivateLink) $0.01 Συν $0.01/ώρα ανά AZ

Ας κάνουμε τα μαθηματικά. Το «πραγματικό» κόστος ενός byte που φεύγει από ένα private subnet προς το internet μέσω NAT Gateway είναι: $0.045 (NAT processing) + $0.09 (egress) = $0.135 ανά GB. Δηλαδή ένα terabyte τον μήνα κοστίζει $135 — και αυτό χωρίς να μετράμε καν τη χρέωση των $0.045/ώρα ($32.40/μήνα) ανά NAT Gateway. Καθόλου αμελητέο.

Στρατηγική #1: VPC Gateway Endpoints για S3 και DynamoDB

Αν διαβάσεις μόνο μία στρατηγική από αυτό το άρθρο, ας είναι αυτή. Τα VPC Gateway Endpoints για S3 και DynamoDB είναι εντελώς δωρεάν — δεν υπάρχει ωριαία χρέωση, ούτε χρέωση ανά GB. Η κίνηση παραμένει στο AWS backbone και δεν περνά ποτέ από το NAT Gateway.

Παράδειγμα Terraform

resource "aws_vpc_endpoint" "s3" {
  vpc_id            = aws_vpc.main.id
  service_name      = "com.amazonaws.${var.aws_region}.s3"
  vpc_endpoint_type = "Gateway"
  route_table_ids   = aws_route_table.private[*].id

  policy = jsonencode({
    Version = "2012-10-17"
    Statement = [{
      Effect    = "Allow"
      Principal = "*"
      Action    = ["s3:GetObject", "s3:PutObject", "s3:ListBucket"]
      Resource  = [
        "arn:aws:s3:::my-app-bucket",
        "arn:aws:s3:::my-app-bucket/*"
      ]
    }]
  })

  tags = {
    Name = "s3-gateway-endpoint"
    CostCenter = "platform-engineering"
  }
}

resource "aws_vpc_endpoint" "dynamodb" {
  vpc_id            = aws_vpc.main.id
  service_name      = "com.amazonaws.${var.aws_region}.dynamodb"
  vpc_endpoint_type = "Gateway"
  route_table_ids   = aws_route_table.private[*].id
}

Πραγματικό Παράδειγμα Εξοικονόμησης

Πέρυσι δούλεψα με μια ομάδα που είχε ένα data pipeline να ανεβάζει καθημερινά 5 TB log files στο S3 — μέσω NAT Gateway, φυσικά, γιατί κανείς δεν είχε σκεφτεί κάτι άλλο. Το μηνιαίο κόστος μόνο για το processing ήταν:

5 TB/day × 30 days = 150 TB/month
150,000 GB × $0.045 = $6,750/month σε NAT processing
+ $32.40/month για το NAT Gateway hourly fee
= $6,782.40/month

Μετά την εγκατάσταση ενός Gateway Endpoint για S3 (κυριολεκτικά 15 λεπτά δουλειά με Terraform): $0/μήνα. Ετήσια εξοικονόμηση: $81,388. Δεν σου λέω, ήταν μάλλον το πιο ικανοποιητικό PR της χρονιάς.

Στρατηγική #2: VPC Interface Endpoints για Άλλα AWS Services

Τώρα, τι γίνεται με τα services που δεν υποστηρίζουν Gateway Endpoints — όπως ECR, CloudWatch Logs, SQS, SNS, Secrets Manager, KMS; Εκεί μπαίνουν στο παιχνίδι τα Interface Endpoints (μέσω AWS PrivateLink). Δεν είναι δωρεάν, αλλά είναι σημαντικά φθηνότερα από το NAT Gateway:

  • $0.01 ανά ώρα ανά endpoint ανά AZ
  • $0.01 ανά GB data processing

Συγκριτικά με τα $0.045/GB του NAT Gateway, μιλάμε για μείωση 78% στο per-GB κόστος. Όχι κακά νούμερα.

Πότε Συμφέρει ένα Interface Endpoint

Το break-even point είναι περίπου 2 TB/μήνα traffic ανά service ανά AZ. Με βάση τον τύπο:

Hourly cost ανά endpoint ανά AZ = $0.01 × 24 × 30 = $7.20/month
Επίπεδο break-even: $7.20 / ($0.045 - $0.01) = ~205 GB/month

Άρα για deployment σε 3 AZ: ~615 GB/month

Αν περνάς λιγότερο από αυτό από το NAT για ένα συγκεκριμένο service, τότε ναι, το Interface Endpoint κοστίζει περισσότερο. Πάνω από αυτό το όριο όμως, αρχίζεις να εξοικονομείς αμέσως.

Παράδειγμα: ECR VPC Endpoints για EKS

locals {
  ecr_endpoints = [
    "ecr.api",
    "ecr.dkr",
    "logs",
    "sts",
    "secretsmanager"
  ]
}

resource "aws_vpc_endpoint" "interface" {
  for_each = toset(local.ecr_endpoints)

  vpc_id              = aws_vpc.main.id
  service_name        = "com.amazonaws.${var.aws_region}.${each.key}"
  vpc_endpoint_type   = "Interface"
  subnet_ids          = aws_subnet.private[*].id
  security_group_ids  = [aws_security_group.vpc_endpoints.id]
  private_dns_enabled = true

  tags = {
    Name = "vpce-${replace(each.key, ".", "-")}"
  }
}

resource "aws_security_group" "vpc_endpoints" {
  name        = "vpc-endpoints-sg"
  description = "Allow HTTPS from VPC CIDR to VPC endpoints"
  vpc_id      = aws_vpc.main.id

  ingress {
    from_port   = 443
    to_port     = 443
    protocol    = "tcp"
    cidr_blocks = [aws_vpc.main.cidr_block]
  }
}

Στρατηγική #3: Εξάλειψη του Cross-AZ Traffic

Το cross-AZ traffic χρεώνεται $0.01/GB σε κάθε κατεύθυνση — δηλαδή $0.02/GB για round-trip. Σε ένα chatty microservices περιβάλλον με χιλιάδες API calls το δευτερόλεπτο, αυτό μπορεί να φτάσει εύκολα τα $1,000+/μήνα. Και αυτό μόνο μεταξύ services που μιλάνε στο ίδιο cluster.

Topology Aware Routing στο Kubernetes

Από το Kubernetes 1.27 και μετά, μπορείς να χρησιμοποιήσεις Topology Aware Routing ώστε να προτιμώνται service endpoints στο ίδιο AZ:

apiVersion: v1
kind: Service
metadata:
  name: payment-service
  annotations:
    service.kubernetes.io/topology-mode: Auto
spec:
  selector:
    app: payment
  ports:
    - port: 8080
      targetPort: 8080

Σε ένα EKS cluster με 3 AZ και ομοιόμορφη κατανομή pods, αυτή η μικρή αλλαγή μπορεί να μειώσει το cross-AZ traffic κατά ~66%. Μία annotation, μηδέν αλλαγή στον κώδικα της εφαρμογής.

Εντοπισμός των Πιο «Ακριβών» Cross-AZ Flows

Πριν αρχίσεις να κυνηγάς cross-AZ κίνηση, καλό είναι να ξέρεις πού κρύβεται. Ενεργοποίησε VPC Flow Logs σε S3 και χρησιμοποίησε Athena για να βρεις τα πιο πολυσύχναστα cross-AZ flows:

SELECT
  srcaddr,
  dstaddr,
  src_az,
  dst_az,
  SUM(bytes) / 1024 / 1024 / 1024 AS gb_transferred,
  SUM(bytes) / 1024 / 1024 / 1024 * 0.02 AS estimated_cost_usd
FROM vpc_flow_logs
WHERE src_az != dst_az
  AND src_az IS NOT NULL
  AND dst_az IS NOT NULL
  AND date_partition >= date_format(current_date - interval '30' day, '%Y/%m/%d')
GROUP BY srcaddr, dstaddr, src_az, dst_az
ORDER BY gb_transferred DESC
LIMIT 50;

Στρατηγική #4: CloudFront για Internet Egress

Αν εξυπηρετείς στατικό περιεχόμενο, APIs ή ακόμα και HTTPS streaming κατευθείαν από EC2/ALB/S3 προς το internet, σχεδόν πάντα συμφέρει να βάλεις CloudFront μπροστά. Τα οφέλη:

  1. Φθηνότερη egress τιμή: $0.085/GB έναντι $0.09/GB direct (μικρή μείωση, αλλά υπάρχει).
  2. Cache hit ratio: 60–80% των requests εξυπηρετούνται από edge — δεν φτάνουν καν στο origin.
  3. Δωρεάν data transfer από AWS προς CloudFront (χρέωση μόνο για cache misses).

Συνολικά, ένα τυπικό web app μπορεί να μειώσει τις egress χρεώσεις του κατά 50–70% με την προσθήκη CloudFront. Συν το γεγονός ότι οι χρήστες σου παίρνουν χαμηλότερο latency, οπότε win-win.

Παράδειγμα: CloudFront μπροστά από S3 για Static Assets

resource "aws_cloudfront_distribution" "static_assets" {
  enabled             = true
  default_root_object = "index.html"
  price_class         = "PriceClass_100" # Μόνο NA + EU για χαμηλότερο κόστος

  origin {
    domain_name              = aws_s3_bucket.assets.bucket_regional_domain_name
    origin_id                = "s3-assets"
    origin_access_control_id = aws_cloudfront_origin_access_control.assets.id
  }

  default_cache_behavior {
    target_origin_id       = "s3-assets"
    viewer_protocol_policy = "redirect-to-https"
    allowed_methods        = ["GET", "HEAD"]
    cached_methods         = ["GET", "HEAD"]
    compress               = true

    cache_policy_id = "658327ea-f89d-4fab-a63d-7e88639e58f6"
  }

  restrictions {
    geo_restriction { restriction_type = "none" }
  }

  viewer_certificate {
    cloudfront_default_certificate = true
  }
}

Στρατηγική #5: Νέο για το 2026 — Regional NAT Gateway

Στα τέλη του 2025, η AWS παρουσίασε το Regional NAT Gateway, μια νέα λειτουργία που επιτρέπει σε ένα NAT Gateway να εξυπηρετεί ολόκληρο το region αντί για ένα μόνο AZ. Αυτό μειώνει αισθητά το hourly cost σε αναπτύξεις πολλαπλών AZ:

  • Παλιά αρχιτεκτονική: 3 NAT Gateways × $32.40 = $97.20/μήνα
  • Regional NAT Gateway: 1 × $32.40 = $32.40/μήνα (μείωση 66%)

Μια προειδοποίηση όμως: το data processing fee παραμένει $0.045/GB. Επιπλέον, το Regional NAT Gateway δημιουργεί ένα single point of failure (αν και η AWS υπόσχεται in-region redundancy). Δεν θα το συνιστούσα προσωπικά για αυστηρά mission-critical workloads, εκτός αν έχεις στήσει active-passive backup.

Στρατηγική #6: Συμπίεση Δεδομένων Πριν από τη Μεταφορά

Πολύ συχνά παραμελημένη — αλλά τόσο απλή. Η συμπίεση payloads πριν τα στείλεις. Για JSON APIs, gRPC με Protobuf encoding, ή log shipping στο CloudWatch, η ενεργοποίηση gzip/zstd μειώνει τα bytes κατά 60–85%. Πληρώνεις δηλαδή λιγότερα ευρώ για να μεταφέρεις την ίδια ακριβώς πληροφορία.

Παράδειγμα: gzip σε Application Load Balancer

Στα ALBs, η συμπίεση είναι ήδη ενεργοποιημένη για content types όπως text/html ή application/json — αλλά μόνο εφόσον το upstream την επιστρέψει. Βεβαιώσου ότι το web framework σου στέλνει Content-Encoding: gzip:

# Express.js
const compression = require('compression');
app.use(compression({ level: 6, threshold: 1024 }));

# FastAPI (Python)
from fastapi.middleware.gzip import GZipMiddleware
app.add_middleware(GZipMiddleware, minimum_size=1000)

# Spring Boot (application.yml)
server:
  compression:
    enabled: true
    mime-types: application/json,application/xml,text/html
    min-response-size: 1024

Στρατηγική #7: Παρακολούθηση και Cost Allocation

Δεν μπορείς να βελτιστοποιήσεις αυτό που δεν μετράς. Ενεργοποίησε Cost Allocation Tags και χρησιμοποίησε το AWS Cost Explorer με grouping by «API Operation» για να εντοπίσεις τα πιο ακριβά usage types:

aws ce get-cost-and-usage \
  --time-period Start=2026-04-01,End=2026-05-01 \
  --granularity MONTHLY \
  --metrics "UnblendedCost" \
  --filter '{"Dimensions": {"Key": "USAGE_TYPE_GROUP", "Values": ["EC2: Data Transfer - Internet (Out)"]}}' \
  --group-by Type=DIMENSION,Key=USAGE_TYPE

Αυτή η εντολή θα σου δείξει ακριβώς πόσο πληρώνεις ανά τύπο data transfer — internet, cross-region, cross-AZ, NAT processing — ώστε να εντοπίσεις γρήγορα τους «κυρίαρχους».

Quick Wins Checklist

Δεν έχεις χρόνο για ολόκληρη ανάλυση; Δεν πειράζει. Ξεκίνα με αυτά τα γρήγορα wins, που το καθένα θέλει λιγότερο από μία ώρα δουλειάς:

  • Δευτέρα: Δημιούργησε Gateway Endpoints για S3 και DynamoDB σε όλα τα production VPCs (δωρεάν + άμεση εξοικονόμηση)
  • Τρίτη: Πρόσθεσε Interface Endpoints για ECR (api + dkr) σε όλα τα clusters με EKS/ECS
  • Τετάρτη: Ενεργοποίησε CloudFront σε όλα τα publicly-accessible ALB/S3 origins
  • Πέμπτη: Ενεργοποίησε topology-aware routing στα Kubernetes services
  • Παρασκευή: Στήσε VPC Flow Logs με Athena για ongoing monitoring

Από τη δική μας εμπειρία, αυτό το πενθήμερο sprint εξοικονομεί τυπικά 30–55% των data transfer χρεώσεων με μηδενική επίπτωση στην εφαρμογή. Όχι κακά για μία εβδομάδα δουλειάς.

Συχνές Ερωτήσεις (FAQ)

Πόσο κοστίζει ένα NAT Gateway στην AWS το 2026;

Ένα NAT Gateway κοστίζει $0.045 ανά ώρα ($32.40/μήνα) συν $0.045 ανά GB data processing. Πάνω σε αυτό προστίθεται και η εξωτερική egress χρέωση των $0.09/GB όταν τα δεδομένα φεύγουν προς το internet. Συνολικά, το πραγματικό κόστος ανά GB μέσω NAT είναι περίπου $0.135.

Είναι τα VPC Endpoints δωρεάν;

Μόνο τα Gateway Endpoints για S3 και DynamoDB είναι εντελώς δωρεάν. Τα Interface Endpoints (PrivateLink) χρεώνονται $0.01/ώρα ανά endpoint ανά AZ συν $0.01/GB processing. Παρόλα αυτά, παραμένουν 78% φθηνότερα από το NAT Gateway για κάθε GB που περνάει.

Πώς μπορώ να δω πόσο πληρώνω για data transfer στο AWS;

Πήγαινε στο AWS Cost Explorer, εφάρμοσε filter για «Usage Type Group: Data Transfer» και κάνε group by «Usage Type». Θα δεις ξεκάθαρα ποιο κομμάτι πάει σε internet egress, NAT processing, cross-AZ ή cross-region traffic. Για deep-dive ανάλυση, ενεργοποίησε VPC Flow Logs και τρέξε queries με Amazon Athena.

Είναι το CloudFront πάντα φθηνότερο από direct egress;

Το CloudFront έχει ελαφρώς χαμηλότερη egress τιμή ($0.085 vs $0.09 ανά GB), αλλά το πραγματικό όφελος έρχεται από το caching. Με ένα cache hit ratio 70%, μόνο το 30% των requests φτάνει στο origin — που σημαίνει 70% λιγότερη egress χρέωση συνολικά. Επιπλέον, η μεταφορά από AWS origins προς CloudFront είναι δωρεάν.

Μπορώ να αποφύγω εντελώς το NAT Gateway;

Σε πολλές περιπτώσεις, ναι. Αν το workload σου μιλάει αποκλειστικά με AWS services, μπορείς να το αντικαταστήσεις με συνδυασμό Gateway Endpoints (S3, DynamoDB) και Interface Endpoints για όλα τα υπόλοιπα. Αν χρειάζεσαι επικοινωνία με third-party APIs, εναλλακτικές είναι: NAT Instance πάνω σε φθηνό t4g.nano (~$3/μήνα + processing), fck-nat open-source λύση, ή AWS Direct Connect για όγκους πάνω από 50 TB/μήνα.

Σχετικά με τον Συγγραφέα Editorial Team

Our team of expert writers and editors.