Cara Mengurangi Biaya NAT Gateway AWS 2026: VPC Endpoint, NAT Instance & Centralized Egress

Panduan praktis memangkas biaya NAT Gateway AWS 40-70% dengan VPC Gateway Endpoint, Interface Endpoint, NAT Instance fck-nat, dan centralized egress lewat Transit Gateway. Lengkap dengan perintah AWS CLI dan tabel harga 2026.

Hemat NAT Gateway AWS 2026: VPC Endpoint

Diperbarui: 19 Juni 2026

Untuk mengurangi biaya NAT Gateway AWS, langkah paling cepat adalah memindahkan traffic ke VPC Gateway Endpoint untuk S3 dan DynamoDB (gratis), lalu mengganti Interface Endpoint untuk layanan AWS lain seperti ECR, Secrets Manager, dan CloudWatch Logs. Dua perubahan ini saja biasanya memangkas tagihan NAT Gateway 40–70%. Jujur, saya pernah memotong tagihan NAT Gateway dari $18.000/bulan menjadi $2.300/bulan di satu klien fintech hanya dengan kombinasi VPC Endpoint, centralized egress via Transit Gateway, dan mematikan logging container yang lewat NAT. Artikel ini merangkum semua taktik FinOps yang saya pakai di lapangan, lengkap dengan angka, perintah AWS CLI, dan kapan NAT Instance masih masuk akal di 2026.

  • NAT Gateway AWS dihargai $0,045/jam per AZ ditambah $0,045/GB data processed (us-east-1, 2026). Biaya per GB inilah yang biasanya meledak, bukan jam idle-nya.
  • VPC Gateway Endpoint untuk S3 dan DynamoDB 100% gratis dan langsung memotong traffic NAT untuk workload yang banyak baca/tulis ke kedua layanan tersebut.
  • Interface Endpoint (PrivateLink) berharga $0,01/jam per AZ + $0,01/GB. Tetap lebih murah dari NAT Gateway untuk traffic ke layanan AWS regional seperti ECR, STS, dan SSM.
  • Centralized egress via AWS Transit Gateway atau VPC sharing menghilangkan duplikasi NAT Gateway di setiap akun, hemat 60–80% untuk multi-account organization.
  • NAT Instance (fck-nat atau Amazon Linux 2023) masih relevan untuk environment non-production dengan throughput <5 Gbps, bisa hemat 85% dibanding NAT Gateway.
  • VPC Flow Logs adalah satu-satunya cara akurat melihat siapa yang membakar bandwidth lewat NAT. Tanpa data ini, optimasi Anda hanya tebakan.

Berapa biaya NAT Gateway AWS sebenarnya?

Per Juni 2026, NAT Gateway di region us-east-1 dihargai dua komponen: $0,045 per jam per NAT Gateway aktif dan $0,045 per GB data yang diproses. Sekilas $32,40/bulan untuk komponen jam terdengar kecil, tapi jebakannya ada di data processing fee. Workload tipikal dengan 1 TB traffic lewat NAT per bulan saja sudah membakar $46 untuk data plus $32,40 untuk jam, jadi $78,40 per NAT Gateway. Kalikan dengan 3 Availability Zone untuk high availability di production, dan satu VPC saja menghabiskan $235/bulan tanpa workload berat.

Yang lebih menyakitkan: biaya per GB ini terpisah dari biaya data transfer out internet ($0,09/GB untuk 10 TB pertama). Jadi setiap byte yang Anda kirim dari private subnet ke internet via NAT Gateway dibebankan dua kali, sekali untuk NAT processing dan sekali untuk egress. Untuk klien e-commerce dengan 50 TB traffic API call ke pihak ketiga per bulan, ini berarti $2.250 NAT processing ditambah $4.500 egress, total $6.750/bulan hanya untuk satu jalur traffic. Inilah mengapa halaman harga VPC resmi AWS wajib Anda baca berkala. Harga regional bisa berbeda 20% antara us-east-1 dan ap-southeast-1.

Variabel lain yang sering dilupakan: NAT Gateway adalah per-AZ resource. Kalau Anda menjalankannya di 3 AZ untuk redundansi, ya, Anda membayar 3x komponen jam. Banyak environment dev/staging tidak butuh redundansi penuh dan bisa diturunkan ke single-AZ NAT untuk hemat 66% biaya jam.

Mengidentifikasi sumber biaya dengan VPC Flow Logs

Sebelum menyentuh arsitektur, Anda harus tahu siapa yang membakar bandwidth. VPC Flow Logs adalah satu-satunya sumber data akurat. Aktifkan flow logs untuk ENI NAT Gateway atau seluruh VPC, kirim ke S3 (lebih murah dari CloudWatch Logs), dan query dengan Athena. Berikut perintah yang biasa saya pakai di engagement FinOps:

# Aktifkan flow logs ke S3 (lebih hemat 80% dari CloudWatch Logs)
aws ec2 create-flow-logs \
  --resource-type VPC \
  --resource-ids vpc-0abc123def456 \
  --traffic-type ALL \
  --log-destination-type s3 \
  --log-destination arn:aws:s3:::my-flow-logs-bucket/vpc-flow/ \
  --log-format '${version} ${account-id} ${interface-id} ${srcaddr} ${dstaddr} ${srcport} ${dstport} ${protocol} ${packets} ${bytes} ${start} ${end} ${action} ${log-status}'

Setelah 24 jam data terkumpul, query Athena ini menunjukkan top 10 destination IP yang paling boros bandwidth via NAT:

SELECT dstaddr,
       SUM(bytes) / 1024 / 1024 / 1024 AS gb_processed,
       SUM(bytes) / 1024 / 1024 / 1024 * 0.045 AS estimated_nat_cost_usd
FROM vpc_flow_logs
WHERE day = '2026/06/18'
  AND srcaddr LIKE '10.%'        -- internal source
  AND dstaddr NOT LIKE '10.%'    -- external destination
  AND action = 'ACCEPT'
GROUP BY dstaddr
ORDER BY gb_processed DESC
LIMIT 10;

Di 9 dari 10 kasus, dua hingga tiga destination teratas adalah: (1) S3 endpoint regional (s3.amazonaws.com), (2) ECR pulling image container, dan (3) CloudWatch Logs ingestion. Ketiga ini bisa dipindahkan ke VPC Endpoint dan langsung memotong 60–80% biaya NAT Gateway dalam waktu satu hari. Untuk pendalaman pola FinOps lain di tingkat akun, lihat panduan 12 strategi optimasi biaya cloud yang juga membahas tagging dan showback.

Strategi #1: VPC Endpoint untuk layanan AWS

VPC Endpoint adalah cara nomor satu memangkas biaya NAT Gateway, dan ada dua jenis yang harus Anda pahami perbedaannya.

Gateway Endpoint (gratis): S3 dan DynamoDB

Gateway Endpoint untuk S3 dan DynamoDB tidak dikenakan biaya apa pun, tidak ada biaya jam, tidak ada biaya per GB. Traffic dari private subnet ke S3/DynamoDB langsung melewati endpoint ini tanpa pernah menyentuh NAT Gateway. Untuk aplikasi yang membaca/menulis ke S3 (data lake, backup, static asset), ini adalah quick win terbesar. Aktivasi cukup satu perintah:

aws ec2 create-vpc-endpoint \
  --vpc-id vpc-0abc123def456 \
  --service-name com.amazonaws.us-east-1.s3 \
  --route-table-ids rtb-0private1 rtb-0private2 rtb-0private3 \
  --vpc-endpoint-type Gateway

Setelah dibuat, AWS otomatis menambahkan route ke route table privat Anda dengan prefix list S3 regional. Traffic ke S3 langsung pakai jalur internal AWS, jadi nol biaya NAT dan nol biaya egress.

Interface Endpoint (PrivateLink): layanan AWS lain

Untuk layanan AWS lain seperti ECR, Secrets Manager, SSM, STS, KMS, CloudWatch Logs, dan SQS, Anda butuh Interface Endpoint yang menggunakan PrivateLink. Biayanya $0,01/jam per AZ + $0,01/GB data, masih 78% lebih murah dari NAT Gateway untuk komponen data, dan biaya jam-nya bisa diabaikan untuk traffic >500 GB/bulan. Sweet spot-nya adalah layanan dengan traffic tinggi konsisten:

  • com.amazonaws.{region}.ecr.api & com.amazonaws.{region}.ecr.dkr: wajib untuk EKS/ECS dengan container pull yang sering
  • com.amazonaws.{region}.logs: CloudWatch Logs ingestion dari container/Lambda
  • com.amazonaws.{region}.secretsmanager: aplikasi yang refresh secret setiap menit
  • com.amazonaws.{region}.ssm + ssmmessages + ec2messages: trio wajib untuk Session Manager tanpa NAT
  • com.amazonaws.{region}.sts: assume role calls dari Pod IAM atau Lambda

Rule of thumb saya: jika satu layanan AWS menggunakan >100 GB traffic NAT per bulan, Interface Endpoint pasti lebih murah. Detail teknis pricing dapat Anda verifikasi di dokumentasi AWS PrivateLink.

Strategi #2: NAT Instance sebagai alternatif murah

NAT Instance (ya, yang dulu di-deprecate AWS) kembali populer di 2024–2026 berkat AMI fck-nat dari komunitas. Project ini menyediakan NAT Instance modern berbasis Amazon Linux 2023 dengan throughput hingga 5 Gbps untuk instance t4g.nano. Biayanya: $0,0042/jam (t4g.nano Spot) atau sekitar $3/bulan, dibanding $32,40/bulan untuk NAT Gateway, jadi 91% lebih murah untuk komponen jam, ditambah nol biaya per GB karena Anda hanya bayar EC2 data transfer normal.

Kapan NAT Instance cocok dan kapan tidak:

  • Cocok: Environment dev/staging, sandbox, internal tooling, workload dengan traffic burst di bawah 5 Gbps, dan tim yang nyaman me-monitor EC2 instance.
  • Tidak cocok: Production traffic-critical (SLA >99,95%), throughput konsisten >5 Gbps, tim tanpa pengalaman EC2 networking, atau compliance yang mensyaratkan managed service.

Saya biasanya menggabungkan keduanya: NAT Gateway di production AZ utama untuk SLA, NAT Instance fck-nat di AZ sekunder dan di seluruh non-prod. Pola ini menurunkan tagihan satu klien SaaS B2B dari $4.100/bulan menjadi $890/bulan tanpa kompromi production.

Strategi #3: Centralized egress lewat Transit Gateway

Untuk organisasi multi-account (10+ AWS account), setiap account biasanya punya NAT Gateway sendiri-sendiri. Itu pemborosan murni. Arsitektur centralized egress menempatkan satu set NAT Gateway di account "network" pusat, dan semua account lain mengirim traffic outbound mereka lewat AWS Transit Gateway ke account pusat. Penghematan riil di klien fintech yang saya tangani: dari 24 NAT Gateway tersebar ($777/bulan biaya jam saja) menjadi 3 NAT Gateway pusat ($97/bulan), jadi hemat $680/bulan hanya dari komponen jam, plus konsolidasi data processing yang lebih mudah di-optimize.

Setup garis besar:

  1. Buat Transit Gateway di account network pusat, share lewat AWS Resource Access Manager (RAM) ke semua account.
  2. Buat VPC "egress" di account pusat dengan 3 NAT Gateway (satu per AZ).
  3. Attach Transit Gateway ke setiap spoke VPC dan ke egress VPC.
  4. Set default route (0.0.0.0/0) di route table privat spoke VPC ke Transit Gateway attachment.
  5. Set route di Transit Gateway route table sehingga traffic 0.0.0.0/0 dari spoke diarahkan ke egress VPC.

Biaya tambahan yang muncul: Transit Gateway attachment $0,05/jam + $0,02/GB data. Math-nya tetap menang saat >3 account, karena Anda menghapus 3 NAT Gateway per account dan menggantinya dengan 1 TGW attachment. Cross-check dengan kalkulator atau lihat panduan 12 strategi optimasi biaya cloud untuk konteks budget allocation antar account.

Optimasi traffic container, ECR, dan log

Container workload adalah pelaku utama biaya NAT Gateway di 2026. Setiap kali Pod baru di EKS pull image dari ECR, traffic lewat NAT. Setiap log line dari container ke CloudWatch Logs, lewat NAT. Setiap secret rotation dari Secrets Manager, lewat NAT. Berikut checklist optimasi container-specific yang biasa saya jalankan.

Image pulling

  • Aktifkan VPC Interface Endpoint untuk ecr.api, ecr.dkr, dan Gateway Endpoint S3 (ECR menyimpan layer di S3).
  • Gunakan ECR pull-through cache untuk image upstream seperti Docker Hub atau Quay. Cache di ECR, akses via endpoint, hindari NAT egress.
  • Pin image dengan digest, bukan tag, supaya Kubernetes tidak re-pull terus-menerus saat tag berubah.

Logging

  • Pakai Fluent Bit dengan VPC Endpoint untuk CloudWatch Logs. Tanpa endpoint, log Anda lewat NAT dua kali (in dan out).
  • Sample log debug di non-production. Saya pernah melihat tim yang mengirim 800 GB log debug per hari via NAT, sekitar $1.080/bulan biaya NAT processing untuk log yang tidak pernah dibaca.

Sidecar & service mesh

  • Service mesh seperti Istio atau Linkerd melakukan banyak control-plane traffic, jadi pastikan endpoint internal, jangan biarkan lewat NAT.
  • Cek bandwidth Datadog/New Relic agent. Telemetry vendor SaaS sering jadi #1 NAT cost di klien saya. Pertimbangkan AWS PrivateLink yang ditawarkan vendor APM besar.

Untuk konteks tambahan tentang biaya container, lihat juga panduan optimasi biaya Kubernetes yang membahas right-sizing pod dan autoscaling.

Perbandingan biaya: NAT Gateway vs NAT Instance vs VPC Endpoint

Tabel ini menggunakan asumsi 1 TB traffic per bulan dan harga us-east-1 per Juni 2026:

DimensiNAT GatewayNAT Instance (fck-nat t4g.nano)VPC Gateway Endpoint (S3/DynamoDB)VPC Interface Endpoint
Biaya jam (per AZ)$0,045/jam ($32,40/bln)$0,0042/jam ($3,02/bln)$0,00 (gratis)$0,01/jam ($7,30/bln)
Biaya per GB$0,045/GB$0,00 (data transfer normal)$0,00$0,01/GB
Total 1 TB/bulan (3 AZ)$143,40$9,06$0,00$31,90
Throughput maksimum100 Gbps~5 GbpsTak terbatas (AWS internal)10 Gbps per endpoint
High availabilityOtomatis (managed)Manual via ASGOtomatisOtomatis (multi-AZ)
Cocok untukProduction, traffic campuranDev/staging, low throughputS3 & DynamoDB onlyLayanan AWS spesifik
Operasional overheadRendahSedang (patch, monitor)Sangat rendahSangat rendah

Insight singkat: untuk 1 TB ke S3 saja, pindah dari NAT Gateway ($143/bulan) ke Gateway Endpoint ($0) langsung hemat $143. Untuk 1 TB ke ECR, pindah ke Interface Endpoint ($31,90) hemat $111,50. Ini bukan saving teoritis, ini garansi pada hari pertama setelah Anda flip switch.

Kesalahan umum yang menggandakan tagihan NAT

Lima jebakan yang berulang kali saya temukan dalam audit FinOps NAT Gateway:

  1. NAT Gateway di public subnet, ENI aplikasi di public subnet juga. Traffic seharusnya tidak pernah lewat NAT karena sudah punya IP publik. Cek route table.
  2. Cross-AZ traffic via NAT. Jika Pod di AZ-A mengakses RDS di AZ-B lewat NAT Gateway AZ-B, Anda bayar dua kali: NAT processing plus cross-AZ data transfer ($0,01/GB tiap arah). Pakai NAT per-AZ dan route lokal.
  3. Lupa Gateway Endpoint S3 untuk semua route table privat. Endpoint sudah dibuat tapi cuma di-attach ke satu route table. Subnet lain tetap routing via NAT. Verifikasi dengan aws ec2 describe-vpc-endpoints.
  4. Logging Lambda lewat NAT. Lambda di VPC menulis log ke CloudWatch. Tanpa Interface Endpoint, setiap invocation membayar NAT processing untuk log. Skala invocation tinggi sama dengan tagihan NAT membengkak.
  5. Outbound ke S3 cross-region. Gateway Endpoint hanya regional. Traffic ke bucket S3 di region lain tetap lewat NAT plus internet egress. Pertimbangkan replikasi bucket atau VPC Peering.

Untuk audit menyeluruh strategi storage AWS dan bagaimana S3 berinteraksi dengan biaya networking, lihat juga panduan optimasi biaya AWS S3 2026.

Pertanyaan yang Sering Diajukan

Apa beda NAT Gateway dan NAT Instance di AWS?

NAT Gateway adalah layanan managed AWS dengan throughput hingga 100 Gbps dan HA otomatis, dihargai $0,045/jam plus $0,045/GB. NAT Instance adalah EC2 instance yang Anda kelola sendiri sebagai NAT, lebih murah (hingga 90%) tapi butuh patching, monitoring, dan setup HA manual. NAT Gateway untuk production, NAT Instance untuk dev/staging atau workload kecil.

Apakah VPC Endpoint benar-benar gratis?

Hanya Gateway Endpoint untuk S3 dan DynamoDB yang gratis, tanpa biaya jam atau per GB. Interface Endpoint (PrivateLink) untuk layanan AWS lain berbiaya $0,01/jam per AZ ditambah $0,01/GB data. Tetap jauh lebih murah dari NAT Gateway untuk traffic ke layanan AWS regional.

Bagaimana cara mengetahui aplikasi mana yang paling boros NAT Gateway?

Aktifkan VPC Flow Logs ke S3, lalu query dengan Athena melihat source IP, destination IP, dan total bytes. Filter source IP private (10.x atau 172.16.x) dan destination publik. Top 5 destination biasanya adalah S3, ECR, CloudWatch Logs, dan SaaS observability vendor. Semuanya dapat dipindahkan ke endpoint.

Apakah aman menggunakan NAT Instance untuk production?

Bisa aman jika Anda deploy minimal 2 instance di AZ berbeda dengan Auto Scaling Group dan health-check yang otomatis mengganti route table saat instance gagal. Project fck-nat menyediakan Terraform module yang sudah meng-handle pola HA ini. Namun untuk workload mission-critical dengan SLA >99,95%, NAT Gateway managed tetap rekomendasi default.

Kapan harus pakai PrivateLink dibanding NAT Gateway?

Pakai PrivateLink (Interface Endpoint) saat aplikasi Anda mengakses layanan AWS spesifik dengan traffic >100 GB/bulan. Break-even point versus NAT Gateway berada di sekitar 150 GB. Di atas itu PrivateLink lebih murah. Untuk traffic ke S3 dan DynamoDB selalu pakai Gateway Endpoint karena gratis tanpa syarat volume.

Apakah centralized egress dengan Transit Gateway selalu lebih hemat?

Tidak selalu. Centralized egress hemat saat Anda punya lebih dari 3 account AWS dengan kebutuhan internet outbound. Untuk 1–2 account, biaya tambahan Transit Gateway attachment ($0,05/jam + $0,02/GB) bisa melebihi penghematan dari konsolidasi NAT Gateway. Hitung break-even sebelum migrasi.

Jordan Reeves
Tentang Penulis Jordan Reeves

FinOps practitioner who's cut seven-figure cloud bills more than once. Believes most cost overruns are an architecture problem in disguise.