0Pricing
Cloud & IT Cert Prep · Pelajaran

Gerbang NAT dan Subnet Privat

Izinkan sumber daya subnet privat mengakses internet tanpa dapat dijangkau secara langsung dengan menggunakan gerbang NAT terkelola.

Gerbang NAT dan Subnet Privat adalah pelajaran Cloud & IT Cert Prep gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cloud & IT Cert Prep, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Masalah Internet pada Subnet Privat

Sumber daya di subnet privat hanya memiliki alamat IP privat dan tidak memiliki rute ke Internet Gateway, sehingga tidak dapat memulai koneksi keluar ke internet. Namun, sumber daya tersebut sering kali perlu mengakses internet untuk mengunduh patch OS, mengambil image Docker, memanggil API pihak ketiga, atau memperbarui perangkat lunak. Solusinya adalah merutekan lalu lintas subnet privat melalui perangkat yang memiliki akses internet dan melakukan NAT (Network Address Translation), dengan menyembunyikan IP privat di balik IP publik. AWS menyediakan dua opsi: NAT Gateway (terkelola) dan NAT Instance yang dikelola sendiri (warisan).

NAT Gateway: NAT Keluar Terkelola

NAT Gateway adalah layanan yang sepenuhnya dikelola, memiliki ketersediaan tinggi, dan memungkinkan instans di subnet privat memulai koneksi keluar ke internet sekaligus memblokir lalu lintas masuk yang tidak diminta. Layanan ini berada di subnet publik, memiliki Elastic IP, dan secara otomatis dapat diskalakan hingga bandwidth 100 Gbps. Anda tidak perlu menambal, menskalakan, atau mengelola infrastruktur di bawahnya. NAT Gateway menerjemahkan IP sumber privat dari paket keluar menjadi EIP miliknya, lalu mengembalikan respons ke IP privat asal.

# Create a NAT Gateway in the public subnet
aws ec2 allocate-address --domain vpc  # Get an EIP
aws ec2 create-nat-gateway \
  --subnet-id subnet-public-1a \
  --allocation-id eipalloc-12345678 \
  --tag-specifications 'ResourceType=natgateway,Tags=[{Key=Name,Value=nat-gw-1a}]'

Merutekan Lalu Lintas Subnet Privat Melalui NAT

Setelah membuat NAT Gateway, tambahkan rute ke tabel rute subnet privat: tujuan 0.0.0.0/0 → ID NAT Gateway. Dengan demikian, semua lalu lintas dari instans subnet privat yang menuju internet akan diarahkan ke NAT Gateway, yang kemudian meneruskannya melalui Internet Gateway ke internet. Tabel rute tersebut tetap memiliki rute VPC lokal (misalnya, 10.0.0.0/16 → local) untuk lalu lintas internal. Tanpa entri rute ini, instans subnet privat tetap tidak memiliki akses internet meskipun NAT Gateway telah diterapkan.

# Add route in private subnet's route table pointing to NAT gateway
aws ec2 create-route \
  --route-table-id rtb-private-app-1a \
  --destination-cidr-block 0.0.0.0/0 \
  --nat-gateway-id nat-12345678

Arsitektur NAT Gateway Multi-AZ

NAT Gateway bersifat spesifik AZ—hanya menangani lalu lintas dari subnet di AZ yang sama. Untuk ketersediaan tinggi, terapkan satu NAT Gateway per AZ dan buat tabel rute privat khusus untuk setiap AZ: tabel rute privat di AZ-a merutekan 0.0.0.0/0 ke NAT-GW di AZ-a; tabel rute privat di AZ-b merutekan lalu lintas ke NAT-GW di AZ-b. Hal ini menghindari biaya transfer data antar-AZ dan memastikan bahwa jika AZ-a gagal, instans di AZ-b (dengan NAT-nya sendiri) tetap memiliki akses internet.

# Architecture: two NAT gateways, two private route tables
# NAT-GW-1a in subnet-public-1a  --> rtb-private-1a
# NAT-GW-1b in subnet-public-1b  --> rtb-private-1b

# Associate private-1a subnets with rtb-private-1a (NAT-GW-1a)
aws ec2 associate-route-table \
  --route-table-id rtb-private-1a \
  --subnet-id subnet-private-app-1a

NAT Gateway vs Instans NAT

Instans NAT adalah instans EC2 yang dikelola sendiri dan menjalankan AMI NAT—pendekatan lama sebelum NAT Gateway tersedia. Instans NAT mengharuskan Anda untuk menonaktifkan pemeriksaan sumber/tujuan pada instans EC2, mengelola bandwidth dan penskalaan, menambal OS, serta menangani kegagalan. Instans ini lebih murah untuk kasus penggunaan dengan bandwidth yang sangat rendah dan dapat digunakan sebagai host bastion. NAT Gateway adalah pilihan yang direkomendasikan untuk produksi: dikelola sepenuhnya, diskalakan secara otomatis, memiliki SLA ketersediaan 99,99% dalam satu AZ, dan tidak memerlukan penambalan. Ujian secara historis sering menguji perbandingan ini.

# For NAT Instance: disable source/dest check (required!)
aws ec2 modify-instance-attribute \
  --instance-id i-nat-instance-id \
  --no-source-dest-check

Harga NAT Gateway

Harga NAT Gateway terdiri dari dua komponen: biaya per jam untuk setiap NAT Gateway (sekitar $0,045/jam di us-east-1, atau sekitar $32/bulan), serta biaya pemrosesan data per GB (sekitar $0,045/GB di us-east-1). Untuk beban kerja yang mentransfer data dalam jumlah besar melalui NAT (misalnya, mengambil citra kontainer berukuran besar atau mengunduh data dalam jumlah besar), biaya pemrosesan data dapat menjadi komponen terbesar. Optimalkan biaya NAT dengan merutekan lalu lintas S3 dan DynamoDB melalui VPC Gateway Endpoint (sepenuhnya melewati NAT dan gratis), serta merutekan panggilan API AWS melalui VPC Interface Endpoint, bukan melalui NAT.

Desain Subnet Privat untuk RDS

Instans basis data di subnet privat seharusnya tidak merutekan lalu lintas melalui NAT Gateway karena tidak perlu memulai koneksi ke internet. Basis data hanya perlu menerima koneksi dari tingkat aplikasi (di dalam VPC) dan mungkin mengakses layanan AWS seperti S3 (untuk ekspor/impor) melalui VPC endpoint. Untuk penambalan dan pembaruan basis data, RDS adalah layanan terkelola sehingga Anda tidak menerapkan tambalan OS secara langsung. Untuk basis data yang dikelola sendiri di EC2, gunakan Patch Manager milik Systems Manager, yang dapat melakukan penambalan melalui SSM tanpa akses internet jika VPC endpoint SSM telah dikonfigurasi.

NAT Gateway dan Keamanan

NAT Gateway menyediakan NAT keluar satu arah yang bersifat stateful: NAT Gateway mengizinkan koneksi keluar yang dimulai dari dalam beserta responsnya, tetapi memblokir semua lalu lintas masuk yang tidak diminta. NAT Gateway bukan firewall—NAT Gateway tidak memeriksa atau menyaring isi lalu lintas. Untuk menyaring lalu lintas keluar (misalnya, hanya mengizinkan domain atau alamat IP tujuan tertentu dari subnet privat), Anda memerlukan kontrol tambahan: AWS Network Firewall yang diterapkan di VPC, atau perangkat firewall pihak ketiga di belakang Gateway Load Balancer. Security group dan NACL tetap berlaku untuk instans di subnet privat, terlepas dari NAT.

NAT Gateway Privat

Selain NAT Gateway publik (dengan EIP untuk akses internet), AWS mendukung NAT Gateway privat tanpa EIP. NAT Gateway privat digunakan untuk menerjemahkan alamat IP privat bagi lalu lintas antara VPC atau antara VPC dan jaringan lokal ketika rentang CIDR saling tumpang tindih. Misalnya, jika VPC-A (10.0.0.0/16) perlu berkomunikasi dengan jaringan lokal yang juga menggunakan 10.0.0.0/16, NAT Gateway privat di VPC-A menerjemahkan IP sumber ke rentang yang tidak tumpang tindih sebelum merutekannya melalui Transit Gateway ke jaringan lokal.

Memantau Metrik NAT Gateway

Pantau kondisi dan kinerja NAT Gateway melalui metrik CloudWatch. Metrik utama: ActiveConnectionCount (jumlah koneksi TCP aktif saat ini melalui NAT), BytesInFromDestination / BytesInFromSource (transfer data dalam kedua arah), PacketDropCount (paket yang dibuang—menunjukkan batas bandwidth atau kesalahan), dan ErrorPortAllocation (NAT kehabisan alokasi port—dapat menunjukkan kehabisan port akibat terlalu banyak koneksi). Setiap NAT Gateway mendukung hingga 55.000 koneksi simultan untuk setiap tujuan unik; setelah batas tersebut terlampaui, koneksi dapat dibuang.

# Get NAT Gateway active connection count
aws cloudwatch get-metric-statistics \
  --namespace AWS/NATGateway \
  --metric-name ActiveConnectionCount \
  --dimensions Name=NatGatewayId,Value=nat-12345678 \
  --start-time 2024-01-01T00:00:00Z \
  --end-time 2024-01-01T01:00:00Z \
  --period 300 --statistics Maximum

Kapan Subnet Privat Tidak Memerlukan NAT

Tidak semua beban kerja subnet privat memerlukan NAT Gateway. Pertimbangkan pola aksesnya: jika instans hanya perlu berkomunikasi dengan sumber daya VPC lain dan layanan AWS yang dapat diakses melalui VPC endpoint (S3, DynamoDB, SSM, ECR, Secrets Manager), Anda dapat menghapus NAT Gateway sepenuhnya—menghemat sekitar $32/bulan per AZ, ditambah biaya pemrosesan data. Ini adalah pola ideal untuk layanan mikro yang sepenuhnya privat dan menggunakan VPC Interface Endpoint untuk semua akses ke layanan AWS. Evaluasi setiap layanan yang dipanggil instans Anda dan periksa apakah Gateway Endpoint gratis atau Interface Endpoint berbayar dapat menggantikan NAT.

Pemeriksaan Singkat

Uji pemahaman Anda tentang konsep AWS Solutions Architect (SAA-C03) dari pelajaran ini.

Rangkuman Pelajaran

Dalam pelajaran ini, Anda mempelajari bahwa: NAT Gateway memungkinkan akses internet keluar bagi instans subnet privat dengan menerjemahkan IP privatnya menjadi Elastic IP, Anda harus menambahkan rute 0.0.0.0/0 di tabel rute subnet privat yang mengarah ke NAT Gateway, dan Anda harus menerapkan satu NAT Gateway per AZ untuk mencapai ketersediaan tinggi serta menghindari biaya transfer data antar-AZ. Selanjutnya, kita akan membandingkan Network ACL dan Security Group sebagai lapisan perlindungan VPC.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Gerbang NAT dan Subnet Privat” gratis?

Ya — teks lengkap “Gerbang NAT dan Subnet Privat” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cloud & IT Cert Prep, upgrade ke CoddyKit PRO. Kursus Cloud & IT Cert Prep mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Gerbang NAT dan Subnet Privat”?

Izinkan sumber daya subnet privat mengakses internet tanpa dapat dijangkau secara langsung dengan menggunakan gerbang NAT terkelola. Kamu berlatih Cloud & IT Cert Prep dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Cloud & IT Cert Prep?

Tidak diperlukan pengalaman sebelumnya. Cloud & IT Cert Prep di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.

Berapa lama pelajaran “Gerbang NAT dan Subnet Privat” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Cloud & IT Cert Prep ini?

Ya. Setiap pelajaran Cloud & IT Cert Prep menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Arsitektur VPC dan Blok CIDR
  2. Gerbang Internet dan Tabel Rute
  3. Gerbang NAT dan Subnet Privat
  4. ACL Jaringan vs Grup Keamanan
← Kembali ke Cloud & IT Cert Prep