Arsitektur yang saya gunakan
Disini kita tidak menggunakan NAT GATEWAY dari AWS, konsekuensinya server-server yang tidak memiliki IP Public tidak bisa terhubung ke internet. Selain karena ‘kemudahan’ cara ini juga digunakan untuk menghemat billing AWS.
Dengan kata lain kita membuat NAT GATEWAY sendiri.
Contoh :
Load Balancer
Private IP : 192.168.2.1
Public IP : 1.2.3.4
Database 1
Private IP : 192.168.2.2
Web Server 1
Private IP : 192.168.2.3
Buat 1 server yang akan menjadi gateway, bisa juga menggunakan server yang sudah ada IP Publicnya, contoh pada gambar diatas di HAPROXY (load balancer)
Server Dengan Public IP
Di instance dengan Public IP, non aktifkan Source/Destination Check, caranya klik kanan
Networking -> Change Source/Destination Check
klik Yes, Disable
.
Login ke server tersebut, agar server ini bisa membagikan koneksi internetnya ke server lain yang dalam satu subnet, jalankan
# mengaktifkan ip forward echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p # MASQUERADE iptables -t nat -A POSTROUTING -s '192.168.2.0/24' -o eth0 -j MASQUERADE
Server Dengan Private IP
Disini juga nonaktifkan Source/Destination Check, caranya sama seperti diatas. Setelah selesai, login ke server ini lewat haproxy yang diatas, karena tidak memiliki IP Public, kita hanya bisa mengakses server ini melalui jump host. Cara biasa loginnya
# dengan public key ssh -i ~/.ssh/ec2-id-rsa -J admin@PUBLIC-IP -i ~/.ssh/ec2-id-rsa admin@PRIVATE-IP # tanpa public Key ssh -J admin@PUBLIC-IP admin@PRIVATE-IP
atau bisa login ke public IP lalu ssh ke private ip, contoh ke database server diatas
ssh admin@PUBLIC-IP # setelah login ssh admin@PRIVATE-IP
Agar server dengan private IP ini bisa konek ke internet, kita harus menggunakan gateway dari haproxy diatas (contoh 192.168.2.1). Eksekusi perintah
ip route delete default # pada contoh diatas gatewaynya ip route add default via 192.168.2.1
setelah perubahan tersebut coba test ping ke beberapa situs
ping -c4 1.1.1.1 ping -c4 x.org ping -c4 yahoo.com
koneksi internet harusnya sudah berjalan lancar, bila masih ada kendala coba cek ulang konfigurasi satu persatu, begitu juga VPC (dan subnet yang digunakan).