AWS EC2 SSH隧道堡垒服务器

问题描述 投票:0回答:1

[试图理解它是如何工作的,文档不是很清楚。使用AWS quickstart-mongo,我使用堡垒服务器为3个Mongo节点创建了VPN。我可以通过SSH和密钥登录到堡垒服务器。然后,我可以将密钥复制到堡垒服务器,然后将SSH复制到主副本节点。该节点正在运行mongo,并通过rs.status()显示所有3个节点都在正确运行。

登录到堡垒服务器后,我尝试执行curl primary-mongo-node-ip:27017,并且似乎挂起。

本地计算机->堡垒服务器->副本节点1/2/3

[我想我知道我需要以某种方式连接到堡垒服务器,然后将ssh转发设置为primary-mongo-node-ip:27017,sec1-mongo-node-ip:27017,sec2-mongo-node-ip: 27017,这样我的mongo URI连接看起来像这样:

SSH进入bastion-dnsmongodb:// user:pass @ localhost:1000,localhost:1001,localhost:1002 /数据库

当我无法通过事件无法连接到没有SSH的堡垒服务器上的服务器时,该怎么办?

mongodb amazon-web-services ssh ssh-tunnel
1个回答
0
投票

假设Mongo实例允许来自堡垒主机(在安全组中)的必需端口的通信,您可以使用SSH隧道机制从本地主机访问群集/实例:

ssh -N -L <local_port_x>:<mongoDB instance ip>:<mongo_port_y> <ssh_username>@<bastion_host_ip> -i <ssh_key_path>

[Local_Port_X:您要访问远程Mongo实例的本地计算机上的端口

MongoDB Instance IP:托管MongoDB的ec2实例的IP地址

[Mongo_Port_Y:MongoDB正在监听的端口(您的问题似乎是27017-请确保您可以从此端口上的堡垒主机内与Mongo Instance对话)]]

[Bastion_Host_Ip:堡垒主机上的IP地址,应该直接从本地计算机访问]

© www.soinside.com 2019 - 2024. All rights reserved.