Catatan Networking di AWS
Amazon Web Services (AWS) menyediakan infrastruktur jaringan yang kuat melalui Virtual Private Cloud (VPC), memungkinkan Anda membuat lingkungan jaringan virtual yang aman dan terisolasi di cloud. Artikel ini menjelaskan secara komprehensif konsep VPC, subnet, CIDR, dan komponen networking lainnya di AWS, serta memberikan panduan langkah demi langkah untuk membuat VPC sesuai praktik terbaik. Kami juga akan menjelaskan mengapa rentang IP seperti 10.0.0.0/16 sering digunakan dibandingkan 11.0.0.0/16, dengan analogi sederhana untuk memudahkan pemahaman.
Apa itu Networking di AWS?
Networking di AWS memungkinkan Anda mengatur sumber daya seperti server (EC2), database (RDS), atau aplikasi dalam lingkungan jaringan yang terisolasi. VPC adalah inti dari sistem ini, bertindak seperti "gedung apartemen" virtual di dalam kota besar (cloud AWS). Di dalam gedung ini, Anda bisa mengatur "lantai" (subnet), "kamar" (sumber daya), dan aturan akses (security groups, route tables). Berikut adalah konsep utama yang perlu dipahami:
VPC (Virtual Private Cloud): Jaringan virtual terisolasi untuk sumber daya Anda.
Subnet: Subdivisi dari VPC untuk mengelompokkan sumber daya berdasarkan fungsi atau lokasi.
CIDR (Classless Inter-Domain Routing): Metode untuk menentukan rentang alamat IP.
Komponen pendukung: Internet Gateway, NAT Gateway, Route Tables, Security Groups, dan Network ACL.
Konsep Utama dalam Networking AWS
1. Virtual Private Cloud (VPC)
VPC adalah jaringan virtual yang terisolasi secara logis di dalam cloud AWS. Anda bisa menganggapnya sebagai jaringan pribadi yang memungkinkan kontrol penuh atas alamat IP, subnet, dan aturan keamanan.
Karakteristik:
Terisolasi dari VPC lain kecuali Anda mengaturnya (misalnya, via VPC Peering).
Berlaku dalam satu region AWS, tetapi bisa mencakup beberapa Availability Zones (AZ).
Mendukung konfigurasi seperti subnet, gateway, dan firewall.
Analogi: VPC adalah gedung apartemen Anda, di mana Anda menentukan jumlah lantai dan aturan akses.
2. Subnet
Subnet adalah bagian kecil dari rentang IP VPC, digunakan untuk mengelompokkan sumber daya berdasarkan kebutuhan (misalnya, publik atau privat).
Jenis Subnet:
Public Subnet: Memiliki akses langsung ke internet melalui Internet Gateway (misalnya, untuk server web).
Private Subnet: Tidak memiliki akses langsung ke internet (misalnya, untuk database).
VPN-only Subnet: Hanya diakses melalui VPN atau Direct Connect.
Analogi: Subnet adalah lantai di gedung apartemen. Lantai publik untuk tamu, lantai privat untuk penghuni.
Catatan: Setiap subnet terikat pada satu Availability Zone untuk ketahanan.
3. CIDR
CIDR mendefinisikan rentang alamat IP menggunakan notasi seperti 10.0.0.0/16
. Angka setelah garis miring (/) menunjukkan jumlah bit untuk bagian jaringan.
Contoh:
10.0.0.0/16
: 65.536 alamat IP (10.0.0.0 - 10.0.255.255).10.0.1.0/24
: 256 alamat IP (10.0.1.0 - 10.0.1.255, 251 tersedia setelah cadangan AWS).
Analogi: CIDR adalah luas lahan gedung Anda. Semakin kecil angka CIDR (misalnya, /16), semakin besar lahan (lebih banyak IP).
Catatan: AWS memesan 5 IP per subnet untuk keperluan internal (gateway, DNS, dll.).
4. Komponen Pendukung
Internet Gateway (IGW): Menghubungkan VPC ke internet, seperti pintu utama gedung.
Route Table: Mengarahkan lalu lintas jaringan, seperti papan petunjuk di gedung.
NAT Gateway: Memungkinkan subnet privat mengakses internet tanpa terekspos, seperti satpam yang mengizinkan keluar tapi tidak masuk.
Security Groups: Firewall di tingkat instance, seperti kunci pintu kamar.
Network ACL (NACL): Firewall di tingkat subnet, seperti satpam di pintu masuk lantai.
Elastic IP: Alamat IP publik statis, seperti nomor telepon tetap.
VPC Peering, VPN, Direct Connect: Menghubungkan VPC dengan VPC lain atau jaringan on-premise.
Mengapa Menggunakan 10.0.0.0/16 dan Bukan 11.0.0.0/16?
Rentang IP seperti 10.0.0.0/16
sering digunakan karena sesuai dengan standar RFC 1918, yang mendefinisikan alamat IP privat untuk jaringan internal. Berikut penjelasannya:
RFC 1918:
Rentang privat:
10.0.0.0/8
(16 juta IP),172.16.0.0/12
(1 juta IP),192.168.0.0/16
(65 ribu IP).Alamat ini tidak dirutekan di internet, cocok untuk VPC.
Mengapa 10.0.0.0/16?:
Kapasitas besar: Memberikan 65.536 IP, cukup untuk banyak subnet (misalnya, 256 subnet /24).
Standar industri: Umum digunakan di AWS dan jaringan lain, mudah dikelola.
Kompatibilitas: Cocok untuk integrasi dengan jaringan on-premise (selama tidak tumpang tindih).
Mengapa bukan 11.0.0.0/16?:
Bukan privat:
11.0.0.0/16
adalah alamat IP publik, dimiliki oleh pihak tertentu (bisa dicek via WHOIS).Konflik: Menggunakan alamat publik di VPC akan menyebabkan masalah routing dan keamanan.
Pembatasan AWS: AWS hanya mengizinkan rentang privat (RFC 1918) untuk VPC.
Analogi: Menggunakan 10.0.0.0/16
seperti memilih nomor telepon internal gedung yang sah. Menggunakan 11.0.0.0/16
seperti mencuri nomor telepon orang lain, yang akan menyebabkan konflik.
Tips pemilihan IP:
Pilih rentang besar (/16 atau /20) untuk skalabilitas.
Hindari tumpang tindih dengan jaringan lain (misalnya, on-premise).
Gunakan
10.0.0.0/16
atau172.16.0.0/12
untuk aplikasi besar,192.168.0.0/16
untuk kecil.
Langkah-Langkah Membuat VPC Sesuai Best Practice
Berikut adalah panduan langkah demi langkah untuk membuat VPC di AWS yang aman, skalabel, dan tangguh. Kami menggunakan contoh aplikasi web dengan server publik dan database privat.
Langkah 1: Rencanakan Arsitektur
Tujuan: Aplikasi web dengan 2 server web (di 2 AZ) dan 1 database (di 2 AZ untuk ketahanan).
Struktur:
VPC:
10.0.0.0/16
.Subnet:
Public Subnet 1:
10.0.1.0/24
(us-east-1a).Public Subnet 2:
10.0.2.0/24
(us-east-1b).Private Subnet 1:
10.0.3.0/24
(us-east-1a).Private Subnet 2:
10.0.4.0/24
(us-east-1b).
Alasan: Menggunakan beberapa AZ untuk ketahanan, memisahkan subnet publik/privat untuk keamanan.
Langkah 2: Buat VPC
Tindakan: Di AWS Console (VPC Dashboard > Create VPC):
Nama:
MyApp-VPC
.IPv4 CIDR:
10.0.0.0/16
.
Best Practice:
Gunakan rentang privat RFC 1918.
Pilih /16 untuk ruang IP yang cukup.
Alasan: Memberikan fleksibilitas untuk banyak subnet dan sumber daya.
Langkah 3: Buat Subnet
Tindakan: VPC Dashboard > Subnets > Create Subnet:
Public Subnet 1:
10.0.1.0/24
(us-east-1a).Public Subnet 2:
10.0.2.0/24
(us-east-1b).Private Subnet 1:
10.0.3.0/24
(us-east-1a).Private Subnet 2:
10.0.4.0/24
(us-east-1b).
Best Practice:
Gunakan /24 untuk subnet (251 IP tersedia).
Beri nama jelas (misalnya,
Public-Subnet-AZ1
).
Alasan: Subnet di AZ berbeda untuk ketahanan, /24 cukup untuk kebanyakan kebutuhan.
Langkah 4: Buat Internet Gateway
Tindakan: VPC Dashboard > Internet Gateways > Create Internet Gateway:
Nama:
MyApp-IGW
.Attach ke
MyApp-VPC
.
Best Practice: Hanya digunakan untuk subnet publik.
Alasan: Memungkinkan server web di subnet publik diakses dari internet.
Langkah 5: Konfigurasi Route Table
Tindakan:
Public Route Table:
Tambahkan rute:
0.0.0.0/0
βMyApp-IGW
.Kaitkan ke subnet
10.0.1.0/24
dan10.0.2.0/24
.
Private Route Table:
Tidak ada rute ke IGW (opsional: ke NAT Gateway).
Kaitkan ke subnet
10.0.3.0/24
dan10.0.4.0/24
.
Best Practice: Pisahkan route table untuk publik dan privat.
Alasan: Mengontrol lalu lintas untuk keamanan dan efisiensi.
Langkah 6: Buat NAT Gateway
Tindakan:
Buat NAT Gateway di subnet publik (
10.0.1.0/24
).Alokasikan Elastic IP.
Tambahkan rute di Private Route Table:
0.0.0.0/0
β NAT Gateway.
Best Practice: Gunakan NAT Gateway untuk akses internet keluar dari subnet privat.
Alasan: Memungkinkan database mengunduh pembaruan tanpa terekspos.
Langkah 7: Konfigurasi Security Groups dan NACL
Security Groups:
Web-SG
: Izinkan inbound HTTP (80), HTTPS (443) dari0.0.0.0/0
.DB-SG
: Izinkan inbound MySQL (3306) dariWeb-SG
.
NACL:
Public Subnet: Izinkan port 80, 443, 22 (SSH).
Private Subnet: Izinkan lalu lintas internal.
Best Practice: Terapkan prinsip least privilege.
Alasan: Melindungi sumber daya dari akses tidak sah.
Langkah 8: Luncurkan Sumber Daya
Tindakan:
Luncurkan EC2 di subnet publik (
10.0.1.0/24
,10.0.2.0/24
) denganWeb-SG
.Luncurkan RDS di subnet privat (
10.0.3.0/24
,10.0.4.0/24
) denganDB-SG
.
Best Practice:
Gunakan Auto Scaling untuk EC2.
Aktifkan Multi-AZ untuk RDS.
Alasan: Memastikan skalabilitas dan ketahanan.
Langkah 9: Aktifkan VPC Flow Logs
Tindakan: VPC Dashboard > Flow Logs > Create Flow Log (simpan ke S3/CloudWatch).
Best Practice: Pantau lalu lintas untuk debugging dan keamanan.
Alasan: Membantu mendeteksi anomali atau masalah jaringan.
Langkah 10: Uji Konektivitas
Tindakan:
Uji akses server web via internet (port 80/443).
Pastikan database hanya diakses dari server web.
Best Practice: Gunakan AWS Reachability Analyzer.
Alasan: Memvalidasi konfigurasi sebelum deployment.
Struktur VPC Best Practice
Berikut adalah ilustrasi struktur VPC:
VPC: MyApp-VPC (10.0.0.0/16)
βββ AZ: us-east-1a
β βββ Public Subnet: 10.0.1.0/24 (EC2, NAT Gateway)
β βββ Private Subnet: 10.0.3.0/24 (RDS)
βββ AZ: us-east-1b
β βββ Public Subnet: 10.0.2.0/24 (EC2)
β βββ Private Subnet: 10.0.4.0/24 (RDS)
βββ Internet Gateway: MyApp-IGW
βββ Route Tables:
β βββ Public: 0.0.0.0/0 β IGW
β βββ Private: 0.0.0.0/0 β NAT Gateway
βββ Security Groups:
β βββ Web-SG: Allow 80, 443
β βββ DB-SG: Allow 3306 from Web-SG
βββ NACL: Allow specific ports
βββ VPC Flow Logs: Log ke CloudWatch
Tips Tambahan
CIDR: Pilih /16 untuk VPC besar, /24 untuk subnet.
Tagging: Beri nama jelas pada VPC, subnet, dan sumber daya.
Hindari tumpang tindih IP: Periksa jaringan lain (misalnya, on-premise).
Keamanan: Gunakan Security Groups dan NACL secara ketat.
Monitoring: Aktifkan Flow Logs untuk visibilitas.
Kesimpulan
Networking di AWS dengan VPC, subnet, dan CIDR memberikan kontrol penuh atas infrastruktur jaringan Anda. Dengan memilih rentang IP privat seperti 10.0.0.0/16
, Anda memastikan skalabilitas, keamanan, dan kompatibilitas. Mengikuti praktik terbaikβseperti menggunakan beberapa AZ, memisahkan subnet publik/privat, dan mengatur keamananβakan menghasilkan arsitektur yang tangguh dan efisien. Gunakan panduan ini untuk membangun VPC Anda dan mulailah menjalankan aplikasi di cloud dengan percaya diri!
Last updated