刚刚使用 AWS RDS 创建了一个简单的 postgres 数据库。但是,除非我在安全组入站中提供我的 IP,否则我无法连接到它

刚刚使用 AWS RDS 创建了一个简单的 postgres 数据库。但是,除非我在安全组入站中提供我的 IP,否则我无法连接到它

我刚刚创建了一个简单的 postgres 数据库。

它给了我一个可以用来连接的链接,所以我尝试使用 pgadmin 连接,但它给出了超时错误。

因此,我再次阅读了文档,并确保我的 VPC 安全组正确。它有一个入站规则 -postgres port 5432在安全组上sg-something-something

在此处输入图片描述

但是,这仍然不起作用。现在,我又添加了一条入站规则postgres port 5432 on myIP,这样我就可以登录数据库了。

在此处输入图片描述

这真的是正确的方法吗?

答案1

这算是个正确的方法。理想情况下,您应该在私有子网内运行 RDS 实例,这样它们就根本无法从公共互联网访问。然后,您可以配置与 aws 的 vpn 连接,或者设置一个可以通过其进行连接的堡垒主机。

但严格来说,对于您已有的实例,添加您的公共 IP 是从您的机器获取访问权限的唯一方式。

答案2

我上周才经历过。正如@tayworm 所说,您至少需要添加服务器 IP 才能在实例中使用数据库。如果您在网站中使用数据库,则可能需要将 IP 地址 (CIDR) 设置为 0.0.0.0/0。至少我必须为我的 Heroku 应用程序执行此操作。

相关内容