AWS EC2 SSH 隧道堡垒服务器
AWS EC2 SSH Tunnel Bastion Server
试图了解这是如何工作的,文档不是很清楚。使用 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 进入 bastion-dns
mongodb://user:pass@localhost:1000,localhost:1001,localhost:1002/database
当我在没有 SSH 的情况下无法连接到堡垒服务器上的服务器时,我该怎么办?
假设 Mongo 实例允许来自堡垒主机(在安全组中)的所需端口的流量,您可以使用 SSH 隧道机制从本地主机访问 cluster/instance:
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
: ec2 实例托管的 IP 地址 MongoDB
Mongo_Port_Y
:MongoDB 正在侦听的端口(从你的问题来看似乎是 27017 - 请确认你可以通过此端口与堡垒主机内的 Mongo 实例通信)
Bastion_Host_Ip
: 堡垒主机上的 IP 地址,应该可以从您的本地计算机直接访问
试图了解这是如何工作的,文档不是很清楚。使用 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 进入 bastion-dns mongodb://user:pass@localhost:1000,localhost:1001,localhost:1002/database
当我在没有 SSH 的情况下无法连接到堡垒服务器上的服务器时,我该怎么办?
假设 Mongo 实例允许来自堡垒主机(在安全组中)的所需端口的流量,您可以使用 SSH 隧道机制从本地主机访问 cluster/instance:
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
: ec2 实例托管的 IP 地址 MongoDB
Mongo_Port_Y
:MongoDB 正在侦听的端口(从你的问题来看似乎是 27017 - 请确认你可以通过此端口与堡垒主机内的 Mongo 实例通信)
Bastion_Host_Ip
: 堡垒主机上的 IP 地址,应该可以从您的本地计算机直接访问