试图理解这是如何工作的,文档并不是很清楚。使用AWS quickstart- Mongo,我用堡垒服务器为3个Mongo节点创建了一个VPN。我可以通过SSH和我的密钥登录到我的堡垒服务器。然后,我可以将密钥复制到堡垒服务器,并将SSH复制到主副本节点。这个节点正在运行mongo,并通过rs.status()显示所有3个节点都在正确运行。
登录堡垒服务器后,我尝试执行curl primary-mongo-node-ip:27017,但它似乎挂起了。
本地计算机->堡垒服务器->副本节点1/2/3
我想我知道我需要以某种方式连接到Bastion服务器,然后设置一个ssh转发到primary- mongo -node-ip:27017,sec1-mongo-node-ip:27017,sec2-mongo-node-ip:27017,这样我的mongo URI连接就像这样:
SSH进入堡垒-dns mongodb://user:pass@localhost:1000,localhost:1001,localhost:1002/database
当我不能在没有SSH的情况下连接到堡垒服务器上的服务器时,我该怎么做?
发布于 2020-02-21 17:38:10
假设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实例通信)
Bastion_Host_Ip:堡垒主机上的IP地址,可从本地计算机直接访问
https://stackoverflow.com/questions/60315382
复制相似问题