Amazon web services 通过终端端口转发访问专用子网中的RDS

Amazon web services 通过终端端口转发访问专用子网中的RDS,amazon-web-services,Amazon Web Services,我想通过Bastion主机在专用子网中与我的rds建立连接。我可以通过SSH毫无问题地访问Bastion主机,并且已经在RDS DB所在的私有子网中打开了安全组,用于来自Bastion主机安全组的传入流量。 现在有两种可能连接到RDS实例。 解决方案1。在bastion主机上安装MySQL commndline工具,并使用它连接到RDS DB 解决方案2。从本地计算机通过端口转发访问RDS 我可以通过MySQL从Bastion主机进行连接,但很难让端口转发正常进行。当我使用 ssh -i ecs

我想通过Bastion主机在专用子网中与我的rds建立连接。我可以通过SSH毫无问题地访问Bastion主机,并且已经在RDS DB所在的私有子网中打开了安全组,用于来自Bastion主机安全组的传入流量。 现在有两种可能连接到RDS实例。 解决方案1。在bastion主机上安装MySQL commndline工具,并使用它连接到RDS DB 解决方案2。从本地计算机通过端口转发访问RDS

我可以通过MySQL从Bastion主机进行连接,但很难让端口转发正常进行。当我使用

ssh -i ecs_key.pem  -NL 3007:mydb3.co2qgzotzpzu.eu-west-1.rds.amazonaws.com:3306 ubuntu@ec2-56-18-172-97.eu-west-1.compute.amazonaws.com
我最后也成了堡垒的主人。有谁能向我解释一下这两种解决方案之间是否存在差异,或者我是否应该坚持使用适合我的解决方案1


Merci A

您需要在本地主机上连接:3007,而不是9000

这两种解决方案的区别在于,在解决方案1中,您必须在堡垒上安装mysql命令行工具,而在隧道(解决方案2)中,您可以使用计算机上的工具通过隧道进行连接

我不想用我在本地已经有的工具把堡垒主机弄得乱七八糟。堡垒主机的最佳实践是通过只安装最小的sshd配置来最小化攻击面,从而允许您设置隧道,而不是安装一堆开发工具

同样,如果您想要安装一个SQL studio工具,如Workbench或Dbeaver,您将希望在本地使用它,并通过隧道进行连接

你的隧道设置看起来是正确的。坚持下去

尝试:

'mysql--host=127.0.0.1--port=3007--user=myname--password'

注 当为host参数指定localhost时,MySQL使用套接字并忽略端口设置。改用127.0.0.1。看见

你的意思是这样的:
mysql-h localhost p 3007-u RDS\u USER-p
merci;但是当我尝试ssh-I ar_ecs_key.pem-NL 3007:mydb3.co2qgzotzpzu.eu-west-1.rds.amazonaws.com:3306时ubuntu@ec2-56-18-172-97.eu-west-1.compute.amazonaws.com我什么都没有得到,光标只是停留在那里……什么都没有发生。我想这并不正常……我需要在rds和bastion主机上打开哪些端口。到目前为止,我只在bastion主机上打开了端口22,并允许来自rds安全组中bastion主机安全组的流量。但这似乎不起作用。。。