本文介紹了如何通過EC2 SSH隧道從本地Java程序連接到RDS的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
出于調(diào)試目的,我正在嘗試通過SSH隧道從本地Java程序連接到EC2實(shí)例的RDS數(shù)據(jù)庫。我正在嘗試建立到EC2實(shí)例的SSH隧道,然后將端口轉(zhuǎn)發(fā)到RDS數(shù)據(jù)庫。以下是我的代碼。
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
推薦答案
我使用堡壘主機(jī)并使用本地端口轉(zhuǎn)發(fā)。
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主機(jī)的IP。
最后,我使用AWS Secrets Manager連接到本地主機(jī):3306。但您還應(yīng)該能夠使用數(shù)據(jù)庫用戶名和密碼。
這篇關(guān)于如何通過EC2 SSH隧道從本地Java程序連接到RDS的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,