amazon web services - AWS RDS on Eclipse -


i know question seems repeat, it's not , have tried solutions find

problem:

i running aws rds instance database. works fine when connect using aws ec2 instance(uses linux) when try laptop, doesn't work. want work on eclipse( code on laptop , test on ec2 instance, annoying , very inconvenient). here error.

    com.mysql.jdbc.communicationsexception: communications link failure due underlying exception:   ** begin nested exception **   java.net.connectexception message: connection timed out: connect  stacktrace:  java.net.connectexception: connection timed out: connect     @ java.net.dualstackplainsocketimpl.connect0(native method)     @ java.net.dualstackplainsocketimpl.socketconnect(unknown source)     @ java.net.abstractplainsocketimpl.doconnect(unknown source)     @ java.net.abstractplainsocketimpl.connecttoaddress(unknown source)     @ java.net.abstractplainsocketimpl.connect(unknown source)     @ java.net.plainsocketimpl.connect(unknown source)     @ java.net.sockssocketimpl.connect(unknown source)     @ java.net.socket.connect(unknown source)     @ java.net.socket.connect(unknown source)     @ java.net.socket.<init>(unknown source)     @ java.net.socket.<init>(unknown source)     @ com.mysql.jdbc.standardsocketfactory.connect(standardsocketfactory.java:256)     @ com.mysql.jdbc.mysqlio.<init>(mysqlio.java:271)     @ com.mysql.jdbc.connection.createnewio(connection.java:2771)     @ com.mysql.jdbc.connection.<init>(connection.java:1555)     @ com.mysql.jdbc.nonregisteringdriver.connect(nonregisteringdriver.java:285)     @ java.sql.drivermanager.getconnection(unknown source)     @ java.sql.drivermanager.getconnection(unknown source)     @ execs.connect.main(connect.java:13)   ** end nested exception **    last packet sent server 1 ms ago. conn null.     @ com.mysql.jdbc.connection.createnewio(connection.java:2847)     @ com.mysql.jdbc.connection.<init>(connection.java:1555)     @ com.mysql.jdbc.nonregisteringdriver.connect(nonregisteringdriver.java:285)     @ java.sql.drivermanager.getconnection(unknown source)     @ java.sql.drivermanager.getconnection(unknown source)     @ execs.connect.main(connect.java:13) 

what have tried:

  1. i have checked security group rds set accept inbound traffic port 3306 (0.0.0.0/0) , outbound traffic.
  2. i have enabled outbound , inbound traffic eclipse on windows(laptop) firewall.
  3. tried disabling firewall entirely.
  4. tried checking eclipse's network configuration.

nothing happens!

okay, per comments on question, i'm going give answer works around question. in other words, straightforward answer insecure thing (open database public).

here's tldr on answer: create tunnel ec2 instance, tell eclipse open side of tunnel.

here's longer version, given assumptions have ec2 instance with has access database (we'll call instance ec2instance.amazonaws.com), on windows, , know how ssh works. finally, we'll call database dns abc.def.rds.amazonaws.com.

prep

refer stackoverflow answer. ignore plink.exe part, unless works you.

in putty, create connection forwards localhost:3306 abc.def.rds.amazonaws.com:3306. in "putty configuration" graphic @ linked answer, source port 3306, destination "abc.def.rds.amazonaws.com:3306".

on main session screen in putty, set hostname yourusername@ec2instance.amazonaws.com. can hit save , save session ("db tunnel", instance).

open connection. should have blank terminal window. can leave alone, or can use generic command watch -n15 date keep connection open.

now, in eclipse, set connection string localhost:3306. use whatever username/password you've configured on rds mysql database.

the ssh tunnel break if lose network connection. you've saved putty configuration, can log in again.


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -