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 atau 172.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 dan 10.0.2.0/24.

    • Private Route Table:

      • Tidak ada rute ke IGW (opsional: ke NAT Gateway).

      • Kaitkan ke subnet 10.0.3.0/24 dan 10.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) dari 0.0.0.0/0.

    • DB-SG: Izinkan inbound MySQL (3306) dari Web-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) dengan Web-SG.

    • Luncurkan RDS di subnet privat (10.0.3.0/24, 10.0.4.0/24) dengan DB-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