
Dalam arsitektur VPC di AWS, sering kali kita membutuhkan layanan NAT agar instance di private subnet bisa mengakses internet (untuk update package, pull image, dll). Solusi paling umum dan out of the box adalah menggunakan NAT Gateway tinggal klik & run.
Tapi ada harga di balik kemudahan itu. Biaya NAT Gateway dihitung per jam + per GB data yang keluar. Untuk use case kecil atau environment dev/test, ini jadi pemborosan yang diam-diam berkontribusi atas kenaikan billing AWS.
Salah satu alternatif yang mungkin jarang disorot tapi sangat ekonomis adalah NAT Instance menggunakan EC2 sebagai jembatan NAT. Berikut table perbandingannya:
| Fitur | NAT Gateway | NAT Instance |
| Dikelola AWS | Ya | Tidak |
| Auto Scaling | Hingga 45 Gbps | Perlu setup manual |
| Ketersediaan | Per AZ (disarankan per AZ) | Perlu multi-AZ dan mekanisme failover |
| Biaya | Mahal untuk trafik kecil | Murah untuk trafik ringan |
| Kendali | Serverless (Terbatas) | Bebas konfigurasi IPTables, monitor, dsb |
Simulasi Biaya
Misal trafik yang keluar sekitar 100 GB/bulan:
- NAT Gateway:
- Biaya instance: USD 37/bulan
- Biaya data transfer: 500 GB x USD 0.045 = USD 4.5
- Total: USD 41.5/bulan
- NAT Instance (t4g.nano):
- Biaya instance: USD 4–7/bulan
- Biaya data transfer: USD 4.5
- Total: USD 10–11.5/bulan
Penghematan hingga 75% hanya dengan mengganti satu komponen saja.
Cara Cepat Implementasi NAT Instance
- Launch EC2 (t4g.nano, Amazon Linux 2) di public subnet.
- Attach Elastic IP.
- Disable Source/Destination Check.
- Konfigurasi IP forwarding dan NAT
~# echo 1 > /proc/sys/net/ipv4/ip_forward
~# iptables -t nat -A POSTROUTING -o ens5 -j MASQUERADE
- Tambahkan route 0.0.0.0/0 pada private subnet ke ENI NAT Instance.
NAT Gateway memang menawarkan solusi yang praktis, tapi bisa jadi boros dalam jangka panjang jika tidak sesuai kebutuhan. Untuk use case ringan, NAT Instance bisa jadi alternatif solusi tanpa banyak kompromi asal Anda siap sedikit melakukan usaha manual tambahan untuk proses setup. Lakukan pengukuran terlebih dahulu trafik outbound Anda, lalu bandingkan skenario biayanya. Jika selisihnya sangat signifikan, mungkin sudah waktunya menggunakan NAT Instance. Terakhir, jangan lupa menerapkan prosedur auto recovery dan menjalankannya di dua zona berbeda jika Anda sudah mantap menggunakannya di lingkungan production 🙂