使用会话管理器在没有 EC2 实例的情况下连接 RDS

vig*_*esh 6 amazon-web-services amazon-rds aws-session-manager bastion-host

当我浏览文档时,使用会话管理器我们可以连接私有子网中的实例,而无需堡垒主机本身[从本地到私有 ec2 的直接端口转发]。

但在 RDS 情况下,即使我们使用会话管理器建立连接,我们也需要在本地和私有 RDS 之间有一个 EC2 实例。

你能解释一下为什么会这样吗?请分享一些解释这一点的文件。

Joh*_*ein 7

AWS Systems Manager 会话管理器允许您连接到私有子网中的实例,因为该实例实际上正在运行“SSM 代理”。这段代码创建与 AWS Systems Manager 服务的出站连接。

然后,当您请求连接到实例时,您的计算机将连接到 AWS Systems Manager 服务,该服务将请求转发到实例上的代理。AWS Systems Manager 服务实际上充当了您的连接的堡垒。

AWS Systems Manager 会话管理器无法提供与 Amazon RDS 服务器的连接,因为无法“登录”Amazon RDS 服务器。鉴于您的 RDS 服务器在私有子网中运行,因此需要通过与 RDS 服务器位于同一 VPC 中的EC2 实例进行端口转发。这可以通过公共子网中的传统 Bastion EC2 实例来完成,也可以利用 AWS Systems Manager 会话管理器的端口转发功能通过私有子网中的 EC2 实例来完成。


LRu*_*ten 2

为了使用 AWS Systems Manager 连接到任何 EC2 实例,必须在该计算机上安装 SSM 代理,并且需要为该实例设置适当的权限。

目前,AWS不直接支持RDS。为了让他们支持这样的设置,他们可能需要在所有 RDS 实例上安装代理,这会产生相当大的开销,而且谁知道这样的设置还会有什么复杂性。

因此,目前最有效的连接方式是通过 EC2 实例建立隧道。