Memahami cara membangun jaringan virtual yang terisolasi di cloud: konsep VPC dan VNet, region, availability zone, subnet publik dan privat, internet gateway, NAT gateway, hingga route table, dengan komparasi AWS, GCP, dan Azure.

Di episode 4 sebelumnya, kalian sudah belajar tentang Identity & Access Management — bagaimana memberi izin kepada pengguna, role, dan aplikasi untuk mengakses akun cloud. Namun ada satu pertanyaan yang belum terjawab: izin itu mengakses apa? Jawabannya ada di episode kali ini: jaringan virtual tempat semua resource cloud kalian tinggal.
Episode 5 ini membahas fondasi jaringan cloud: Virtual Private Cloud (VPC). Kita akan melihat konsep isolasi jaringan, peta infrastruktur global cloud (region, availability zone, edge location), anatomi VPC seperti subnet, internet gateway, NAT gateway, dan route table, lalu menutupnya dengan komparasi cara kerja AWS VPC, GCP VPC, dan Azure VNet.
Bayangkan sebuah kota besar tempat jutaan orang tinggal di lahan yang sama. Semua cloud customer berbagi pusat data fisik yang sama — inilah arti "multi-tenant". Jika tidak ada batas antarpenghuni, data dan traffic satu tenant bisa "menyenggol" tenant lain. VPC adalah pagar rumah kalian di kota itu: jaringan logis yang terisolasi penuh, lengkap dengan alamat IP sendiri, aturan akses sendiri, dan pintu keluar-masuk sendiri.
Dengan VPC, kalian menentukan sendiri:
Note
VPC disebut "private" bukan karena fisiknya terpisah, melainkan karena secara logis terisolasi. Paket data tenant lain tidak akan pernah masuk ke VPC kalian kecuali secara eksplisit diizinkan lewat peering atau VPN. Ini alasan kenapa cloud aman secara arsitektur: bukan karena "komputer orang lain" diisolasi fisik, tapi karena pemisahan logis yang ketat.
Sebelum membangun jaringan, kalian harus paham "peta" tempat jaringan itu berdiri. Cloud providers membangun infrastruktur global dalam tiga lapisan:
| Lapisan | Analogi | Peran |
|---|---|---|
| Region | Kota | Pusat layanan lengkap; AWS dan Azure bersifat regional, GCP bersifat global |
| Availability Zone (AZ) | Gedung data center dalam satu kota | Redundansi fisik (listrik, jaringan, pendingin); umumnya 2-3 AZ per region |
| Edge location | Pos terdepan di pinggir kota | Cache CDN dan DNS agar respons dekat dengan pengguna |
Region adalah "kota" tempat kalian menempatkan resource. Availability Zone adalah "gedung-gedung" berbeda di kota itu — jarak fisiknya cukup dekat untuk latensi rendah, tapi cukup terpisah agar kegagalan listrik atau jaringan di satu gedung tidak meruntuhkan gedung lain. Inilah mengapa menempatkan aplikasi di dua AZ atau lebih adalah kunci high availability, topik yang akan kita dalami di episode 8.
Satu hal yang sering membingungkan pemula: edge location bukan tempat menjalankan virtual machine. Edge hanya menyimpan cache dan jawaban DNS dekat pengguna. VM tetap harus tinggal di region — edge tidak punya "kamar" untuk itu.
Sebuah VPC tidak berguna sebagai satu blok utuh — kalian harus membaginya menjadi bagian-bagian yang punya peran berbeda.
Subnet adalah pembagian ruang alamat IP di dalam VPC. Ada dua "tipe" yang sebenarnya ditentukan oleh rutenya, bukan oleh labelnya:
Internet gateway adalah pintu dua arah yang menghubungkan VPC dengan internet. Ia melekat pada level VPC (bukan per subnet), dan statusnya selalu "satu per VPC". Tanpa IGW, subnet publik hanyalah subnet biasa yang tidak terhubung kemana-mana.
NAT gateway adalah pintu satu arah keluar. Bayangkan telepon yang bisa menelepon keluar tapi tidak bisa menerima telepon masuk. Dengan NAT gateway, resource di subnet privat bisa mengunduh package, melakukan update sistem, atau memanggil API eksternal — tanpa membuka diri terhadap koneksi masuk dari internet.
Tip
Pola yang paling umum di arsitektur production: web server dan load balancer di subnet publik, database dan aplikasi backend di subnet privat, lalu subnet privat mengakses internet keluar lewat NAT gateway. Prinsipnya: "pintu masuk seminimal mungkin, pintu keluar tetap terbuka untuk maintenance".
Route table adalah papan rambu lalu lintas jaringan. Setiap subnet harus terhubung ke satu route table yang memberi tahu paket: ke mana harus pergi. Isi route table kira-kira seperti ini:
| Destination | Target | Keterangan |
|---|---|---|
10.0.0.0/16 | local | Lalu lintas antar-subnet dalam VPC; selalu ada dan tidak bisa dihapus |
0.0.0.0/0 | igw-xxxxxxxx | Subnet publik: semua lalu lintas keluar lewat internet gateway |
0.0.0.0/0 | nat-xxxxxxxx | Subnet privat: lalu lintas keluar lewat NAT gateway |
Route 0.0.0.0/0 berarti "semua alamat yang tidak lebih spesifik dari rute lain". Karena itu rute local harus selalu menang: lalu lintas antar-subnet tidak akan pernah bocor ke internet.
Internet
|
[Internet Gateway]
|
Subnet Publik (route 0.0.0.0/0 -> igw-xxx)
|
[NAT Gateway]
|
Subnet Privat (route 0.0.0.0/0 -> nat-xxx)CIDR adalah cara singkat menulis range alamat IP: angka /16, /24, atau /28 di belakang IP menunjukkan berapa banyak alamat yang tercakup. Semakin kecil angka setelah garis miring, semakin besar range-nya.
| Notasi | Jumlah alamat | Pemakaian umum |
|---|---|---|
10.0.0.0/16 | 65.536 | Seluruh VPC |
10.0.1.0/24 | 256 | Satu subnet (misalnya subnet publik) |
10.0.2.0/24 | 256 | Subnet lain (misalnya subnet privat) |
Important
Dua aturan yang wajib diingat. Pertama, CIDR subnet harus berada di dalam CIDR VPC dan tidak boleh tumpang tindih dengan subnet lain — dua subnet yang overlap akan membuat rute saling membingungkan. Kedua, di AWS setiap subnet menyisihkan 5 alamat IP pertama untuk keperluan internal (network address, router VPC, DNS, dan dua lainnya), jadi subnet /24 hanya menyediakan 251 alamat yang benar-benar bisa dipakai instance.
Mari kita praktikkan lewat AWS CLI. aws ec2 create-vpc membuat VPC dengan CIDR tertentu:
aws ec2 create-vpc --cidr-block 10.0.0.0/16Setelah VPC berdiri, kita buat subnet di dalamnya, lalu pasang dan lampirkan internet gateway. Perintah-perintah ini bisa dirangkai dalam satu alur:
VPC_ID=$(aws ec2 create-vpc --cidr-block 10.0.0.0/16 --query Vpc.VpcId --output text)
aws ec2 create-subnet --vpc-id "$VPC_ID" --cidr-block 10.0.1.0/24 --availability-zone us-east-1a
IGW_ID=$(aws ec2 create-internet-gateway --query InternetGateway.InternetGatewayId --output text)
aws ec2 attach-internet-gateway --vpc-id "$VPC_ID" --internet-gateway-id "$IGW_ID"Perhatikan: aws ec2 create-subnet membutuhkan --availability-zone — inilah kenapa subnet di AWS terikat ke satu AZ, sedangkan VPC-nya sendiri mencakup seluruh region.
Konsepnya sama, tapi detail desainnya berbeda. Perbedaan paling mendasar adalah cakupan: apakah jaringan bisa menjangkau lebih dari satu region.
| Aspek | AWS VPC | GCP VPC | Azure VNet |
|---|---|---|---|
| Cakupan | Regional (per region) | Global (lintas region) | Regional (per region) |
| Subnet | Terikat satu AZ | Global, tidak terikat AZ | Terikat region |
| Firewall | Security Group + Network ACL | VPC Firewall Rules | Network Security Group |
| NAT | NAT Gateway | Cloud NAT | Azure NAT Gateway |
Note
Perbedaan cakupan punya konsekuensi praktis. Di GCP, satu VPC bisa memuat subnet di banyak region, dan firewall rules berlaku global — kalian tidak perlu peering antar-region untuk jaringan internal yang sama. Di AWS dan Azure, VPC/VNet bersifat regional: jika ingin menghubungkan region berbeda, kalian perlu peering atau transit gateway. Tidak ada yang "salah" — hanya pendekatan yang berbeda, dan memahami ini membuat kalian bisa memilih sesuai kebutuhan.
Untuk perbandingan, berikut perintah pembuatan jaringan di dua provider lain:
# GCP
gcloud compute networks create production --subnet-mode custom
# Azure
az network vnet create --name production-vnet --address-prefix 10.0.0.0/16 --resource-group production-rggcloud compute networks create dan az network vnet create sama-sama membangun "pagar rumah" versi provider masing-masing — perbedaannya hanya pada cakupan dan opsi yang disediakan.
Pada episode 5 ini kita telah membangun fondasi jaringan cloud: kenapa VPC dibutuhkan untuk isolasi logis di lingkungan multi-tenant, peta infrastruktur global (region, AZ, edge location), dan anatomi VPC berupa subnet publik/privat, internet gateway, NAT gateway, serta route table. Kalian juga sudah melihat cara membuat VPC dan subnet lewat AWS CLI, plus perbedaan desain antara AWS, GCP, dan Azure.
Kunci yang harus dibawa pulang:
local selalu menang atas rute internet.Sekarang kalian sudah punya "rumah" berupa VPC. Episode 6 berikutnya kita akan mengisinya dengan penghuni: Cloud Compute Services (Virtual Machines) — bagaimana VM dijalankan di atas hypervisor, kategori instance yang sesuai beban kerja, dan model pembelian on-demand, reserved, hingga spot yang bisa menghemat hingga 90 persen biaya.