亚马逊RDS PostgreSQL不接受5432端口的TCP连接。

5

我创建了一个PostgreSQL Amazon RDS数据库,但我无法从我的本地计算机连接到它。

我是这样连接的:

psql -h <db endpoint> -p 5432 -U <username> <db name>

回复如下:

服务器是否正在运行,且在 5432 端口上接受 TCP/IP 连接?

以下是数据库设置:

RDS settings

以下是我的安全组设置:

Security group inbound rules


请将问题移至 https://dba.stackexchange.com/。 - kometen
2个回答

14
您的配置图片显示了一个设置为 Publicly Accessible = No 的选项。
您需要修改数据库将其设置为 Yes
根据修改运行 PostgreSQL 数据库引擎的 DB 实例

公共可访问性

选择 以给予 DB 实例公共 IP 地址, 这意味着它可以在 VPC 外部访问(DB 实例还需要位于 VPC 中的公共子网中); 否则,选择 ,这样 DB 实例只能从 VPC 内部访问。


感谢 @John Rotenstein - Saurabh Bhatia

9

如果您不想让 Publicly Accessible = Yes,那么您应该确保已设置一个具有 Inbound 规则的 Security Group。然后您需要确保安全组已正确设置。


1
谢谢,对我来说是安全组的入站规则! - Michael Hays
谢谢@Trang Pham!在我的情况下,我克隆了一个CodePipeline,但希望它的EC2实例连接到一个新的RDS数据库。我忘记了将EC2实例的安全组更改为与新db入站规则所在的安全组匹配。提示-确保您选择源下列出的安全组作为入站规则的来源,而不是分配给RDS本身的安全组! - Casey L
如果您在VPC网络之外连接,仍应保持“Publicly Accessible = Yes”。您仍然可以使用“安全组入站规则”来限制入站连接。 - morsik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接