ฉันมีป้อมปราการเครือข่ายที่สาธารณชนสามารถเข้าถึงได้example.compute-1.amazonaws.com
และอินสแตนซ์ฐานข้อมูล postgres ส่วนตัวที่postgres.example.us-east-1.rds.amazonaws.com:5432
ฉันสามารถ ssh เข้าสู่ป้อมปราการโดยใช้
$ ssh -i key.pem ec2-user@example.compute-1.amazonaws.com
จากนั้นเมื่อฉันอยู่ในป้อมปราการฉันสร้างอุโมงค์ ssh ด้วย:
$ ssh -i key.pem -L 5432:postgres.example.us-east-1.rds.amazonaws.com:5432 ec2-user@example.compute-1.amazonaws.com
ฉันสามารถตรวจสอบว่าอุโมงค์ทำงานโดยเชื่อมต่อกับฐานข้อมูลจากป้อมปราการโดยใช้ localhost:
$ psql -p 5432 -h localhost -U postgres
อย่างไรก็ตามฉันไม่สามารถเชื่อมต่อกับฐานข้อมูลจากระยะไกล (โดยไม่ต้องอยู่ในป้อมปราการ)
$ 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?
ฉันได้กำหนดค่ากลุ่มความปลอดภัยของป้อมปราการเพื่อยอมรับทราฟฟิกขาเข้าบนพอร์ต 5432
ฉันใช้ssh -L
อย่างถูกต้องหรือไม่ ฉันควรจะใช้มันนอกป้อมปราการหรือไม่? คำแนะนำใด ๆ ที่จะได้รับการชื่นชมมาก