postgresql 通过EC2连接到Postgres RDS

92vpleto  于 2023-08-04  发布在  PostgreSQL
关注(0)|答案(1)|浏览(102)

我想通过我的EC2示例连接到私有子网中的Amazon RDS数据库。
我已经为我的EC2计算机配置了安全组,并在端口22上配置了SSH入站规则,在端口5432上配置了postgresql入站规则,所有源IP范围都在此范围内。
出站规则为Postgresql,5432和源为RDS安全组。
在RDS端,安全组配置为postgresql的入站规则,安全组为EC2。
我可以SSH到EC2示例和连接到postgresql好。但是当我尝试通过IDE DBeaver连接时。它总是说连接被拒绝。
我想用posterre用户名和密码连接到EC2示例主机,理想情况下,它应该转发到我的RDS。或者至少隧道应该是可行的。这也是行不通的。
现在该怎么办呢?


的数据
我尝试了所有的可能性,我能够通过localhost作为SSH连接到EC2示例的工作和执行:

ssh -i sd-private-subnet.pem -f -N -L 5050:rds_endpoint:5432 ec2-user@ec2_public_ip -v

字符串
当我在主机和端口5050中指定localhost时,它会连接,但我希望我的EC2成为主机并直接连接到RDS。
此外,我无法控制pg_hba.confpostgresql.conf

dm7nw8vv

dm7nw8vv1#

通过SSH隧道访问数据库是正确的方法。
确定你的configure the SSH tunnel in Dbeaver
如果您希望连接到数据库而 * 不 * 创建隧道,则需要在EC2服务器上运行一些将请求重定向到数据库的程序。但是,这在某种程度上是不安全的,因为将数据库放置在专用子网中的全部目的是为了防止从Internet直接访问。SSH隧道是一种保护数据库访问安全的方法。

相关问题