Jaringan virtual adalah fondasi setiap deployment cloud: VPC dengan CIDR, subnet publik & privat, Internet Gateway, NAT, security group/firewall rules, peering, hingga load balancer. Kalian mendesain VPC multi-tier lengkap — web, aplikasi, dan database — dengan access control yang benar sejak awal.

Setelah di episode 3 kita membuat VM dan di episode 4 merancang lapisan data, sekarang kita bangun jaringan yang menyatukan semuanya. Networking cloud adalah lapisan yang paling sering diremehkan oleh pemula — sampai sebuah deployment tidak bisa diakses, atau lebih buruk: bisa diakses oleh semua orang karena firewall terbuka lebar.
Episode 5 membahas fondasi jaringan virtual cloud: VPC, subnet, gateway, security group/firewall rules, NAT, peering, dan load balancer. Di akhir episode kalian akan mendesain VPC multi-tier — pola arsitektur standar yang memisahkan web, aplikasi, dan database ke lapisan berbeda dengan akses yang dibatasi ketat.
VPC adalah jaringan virtual milik kalian di dalam cloud — seperti menggambar "ruangan" sendiri di atas datacenter provider. Setiap VPC punya blok CIDR (rentang IP), contoh 10.0.0.0/16 (65.536 alamat). Di AWS, GCP, dan Azure konsep ini sama, hanya penamaan yang berbeda (VPC / VPC / Virtual Network).
VPC dipecah menjadi subnet — potongan kecil jaringan yang dikaitkan ke satu availability zone. Pembagian paling penting dalam desain cloud:
| Subnet | Akses Internet | Isi |
|---|---|---|
| Publik | Langsung via Internet Gateway (IGW) | Load balancer, NAT gateway, bastion host |
| Privat | Tidak langsung — keluar lewat NAT | VM aplikasi, database |
VPC: 10.0.0.0/16 (us-east-1)
├─ 10.0.1.0/24 subnet publik AZ-a (web/LB)
├─ 10.0.2.0/24 subnet privat AZ-a (app)
├─ 10.0.3.0/24 subnet privat AZ-a (database)
└─ 10.0.4.0/24 subnet publik AZ-b (web/LB cadangan)Mengapa perlu multi-AZ? Karena jika satu AZ down, subnet di AZ kedua tetap hidup — fondasi high availability yang akan kita perluas di episode 21. Mengapa database di subnet privat? Karena database tidak boleh diakses dari internet sama sekali — hanya VM aplikasi di dalam VPC yang boleh menyentuhnya.
Warning
Kesalahan paling umum: menaruh database di subnet publik "biar mudah diakses dari rumah". Ini sama dengan menaruh brankas di trotoar. Database (dan apa pun yang menyimpan data sensitif) harus selalu di subnet privat, diakses hanya dari lapisan aplikasi lewat internal network.
aws ec2 create-internet-gateway
aws ec2 attach-internet-gateway \
--internet-gateway-id igw-0abc --vpc-id vpc-0def
aws ec2 create-nat-gateway \
--subnet-id subnet-0pub --allocation-id eipalloc-0abcGCP memakai Cloud NAT untuk VM privat, Azure memakai NAT Gateway — konsep identik, nama berbeda.
Ini adalah firewall virtual yang menentukan siapa boleh masuk (ingress) dan keluar (egress). Dua lapisan yang harus dipahami:
aws ec2 create-security-group --group-name web-sg \
--description "Allow web traffic" --vpc-id vpc-0def
aws ec2 authorize-security-group-ingress \
--group-id sg-0abc \
--protocol tcp --port 80 --cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress \
--group-id sg-0abc \
--protocol tcp --port 443 --cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress \
--group-id sg-0abc \
--protocol tcp --port 22 --cidr 203.0.113.5/32Perhatikan baris terakhir: SSH hanya diizinkan dari IP spesifik (/32), bukan 0.0.0.0/0. Membuka SSH/port admin ke seluruh internet adalah salah satu temuan teratas security audit — dan kita akan memperkuat praktik ini di episode 15.
Load balancer adalah "satpam lalu lintas" yang membagi request ke banyak instance. Ketiga provider menyediakan:
| Provider | Load Balancer | L7 / HTTP |
|---|---|---|
| AWS | ELB (ALB, NLB) | ALB |
| GCP | Cloud Load Balancing | URL maps |
| Azure | Load Balancer / Application Gateway | Application Gateway |
aws elbv2 create-target-group --name app-tg \
--protocol HTTP --port 8080 --vpc-id vpc-0def \
--target-type instance
aws elbv2 register-targets --target-group-arn arn:aws:elasticloadbalancing:... \
--targets Id=i-0aaa,Id=i-0bbbDengan load balancer di depan, kalian bisa: health check otomatis (instance yang gagal dikeluarkan), scaling (ditambah/dikurangi instance di belakangnya — episode 21), dan SSL termination di satu titik. User hanya mengenal satu alamat — detail di belakangnya abstrak.
Desain lengkap VPC multi-tier untuk aplikasi web production:
Langkah praktiknya:
10.0.0.0/16 + dua subnet publik dan dua subnet privat (AZ berbeda).web-sg (80/443 dari internet), app-sg (hanya dari web-sg), db-sg (hanya port database dari app-sg).Inti yang harus dibawa pulang:
Di episode 6 selanjutnya kita akan membahas IAM & identity — user, group, role, policy, service account, dan prinsip least privilege — untuk mengamankan akses seluruh resource cloud yang barusan kalian bangun. Sampai jumpa di episode 6!