本文介紹了如何通過EC2 SSH隧道從本地Java程序連接到RDS的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
出于調試目的,我正在嘗試通過SSH隧道從本地Java程序連接到EC2實例的RDS數據庫。我正在嘗試建立到EC2實例的SSH隧道,然后將端口轉發到RDS數據庫。以下是我的代碼。
final int localPort = 9999;
// Create BaiscDataSource.
final String databaseURL = "jdbc:mysql://localhost:" + localPort + "/database";
// SSH Tunnel.
final JSch jsch = new JSch();
jsch.addIdentity(sshKeyPath);
this.session = jsch.getSession(ec2Username, ec2Host, 22);
this.session.setTimeout(0);
this.session.setConfig("StrictHostKeyChecking", "no");
this.session.connect();
this.session.setPortForwardingL(localPort, rdsHost, 3306);
請幫幫忙!
編輯者:rouply_dev于2012年10月2日下午4:17
推薦答案
我使用堡壘主機并使用本地端口轉發。
ssh -i ec2key.pem -N -L 3306:my-dev-db.cluster-cdnxxxxxxxxxx.ap-southeast-1.rds.amazonaws.com:3306 [email protected]
54.253.196.193是Bastian主機的IP。
最后,我使用AWS Secrets Manager連接到本地主機:3306。但您還應該能夠使用數據庫用戶名和密碼。
這篇關于如何通過EC2 SSH隧道從本地Java程序連接到RDS的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,