Saya memiliki benteng jaringan yang dapat diakses publik di example.compute-1.amazonaws.com
dan contoh database postgres pribadi dipostgres.example.us-east-1.rds.amazonaws.com:5432
Saya bisa ssh ke dalam benteng menggunakan
$ ssh -i key.pem [email protected]
Lalu begitu saya berada di benteng saya membuat terowongan ssh dengan:
$ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 [email protected]
Saya kemudian dapat memverifikasi bahwa terowongan berfungsi dengan menghubungkan ke database dari benteng menggunakan localhost:
$ psql -p 5432 -h localhost -U postgres
Namun, saya tidak dapat terhubung ke database dari jarak jauh (tanpa berada di benteng).
$ psql -p 5432 -h example.compute-1.amazonaws.com -U postgres
psql: could not connect to server: Connection refused
Is the server running on host "example.compute-1.amazonaws.com" () and accepting
TCP/IP connections on port 5432?
Saya telah mengkonfigurasi grup keamanan bastion untuk menerima lalu lintas masuk pada port 5432.
Apakah saya menggunakan ssh -L
dengan benar? Haruskah saya menggunakannya di luar benteng? Saran apa pun akan sangat dihargai.
sumber
Ini berhasil untuk saya. Pastikan Anda memiliki klien psql diinstal secara lokal.
Saat membuat instance db Anda pada aws, pastikan untuk mendefinisikan yang berikut:
Saya juga harus membuat grup keamanan untuk VPC dimana database berada. Setelah membuatnya pastikan instance db Anda menggunakan ini untuk grup keamanannya. Grup keamanan memiliki aturan berikut:
sumber