我试图在AWS中设置一个堡垒主机,以便在私有子网中对RDS实例执行管理选项。我遵循官方文档(https://docs.aws.amazon.com/quickstart/latest/linux-bastion/step1.html)的指示,但不清楚堡垒如何知道要连接到哪个RDS实例。我如何确保它能够“与”我想要的RDS对话?(据我所知,密钥对只是我可以在任何时候创建并输入到堡垒本身的东西,而不是RDS,还是我错了?)
发布于 2020-02-15 22:31:08
您链接的文档使用AWS CloudFormation堆栈来部署Bastion。我不确定它到底在使用什么配置,所以我的答案将是通用的,而不是应用于这种特定的情况。
正常的配置是:
。
有许多通过Bastion连接到数据库的方法。这里有一个我用的:
ssh -i key.pem ec2-user@BASTION-IP -L 3306:DATABASE-DNS-NAME:3306这将告诉SSH连接将通过SSH连接发送到我的本地端口3306 (第一个号码)的任何通信量转发,然后将其发送到DATABASE-DNS-NAME:3306 (数据库服务器)。来自数据库的任何响应都将以同样的方式返回。
然后,当我想从我的计算机中引用数据库时,我引用:
localhost:3306看来数据库在我自己的计算机上,但是流量实际上是通过SSH发送到Bastion,然后再发送到数据库上。
有更新和更好的方式进行这种转发,其他人可能(希望)添加作为评论或另一个答案,但这是我的方式,我的联系通过一个堡垒。
有趣的事实:A堡垒是一堵突出的城堡墙,允许防御者向试图爬墙的攻击者射箭。以类似的方式,Bastion Server扩展到Internet中,超出了网络的受保护部分。
https://stackoverflow.com/questions/60242105
复制相似问题