无法连接到我的AWS数据库实例| psql:无法连接到服务器:操作超时

时间:2018-06-22 09:28:51

标签: python django database postgresql amazon-web-services

我在AWS RDS上创建了一个postgres数据库实例。我正在尝试将此数据库实例连接到django zappa应用程序,以便执行AWS Lambda函数。

我已经向数据库实例添加了一个新的安全组,这样我就可以允许我的django应用程序连接到它:

enter image description here

我的数据库详细信息显示新的安全组处于活动状态:

enter image description here

但是,当我尝试通过终端运行psql --host="*************.us-east-2.rds.amazonaws.com" --port="5432" --username="*********" --password --dbname="*****"来连接到它时,

或通过我的pgadmin界面返回以下错误:

psql: could not connect to server: Operation timed out
    Is the server running on host "***********.us-east-2.rds.amazonaws.com" (18.191.94.44) and accepting
    TCP/IP connections on port 5432?

知道为什么要这么做吗?

1 个答案:

答案 0 :(得分:1)

最常见的错误是不允许自己访问/未设置为公共可访问性。

  1. 确保将RDS数据库实例标记为publicly accessible(更改为YES。
  

如果要使EC2实例和托管数据库实例的VPC外部的设备连接到数据库实例,请选择“是”。如果选择否,则Amazon RDS将不会为数据库实例分配公共IP地址,并且VPC之外的任何EC2实例或设备都将无法连接。如果选择“是”,则还必须选择一个或多个VPC安全组,这些安全组指定哪些EC2实例和设备可以连接到数据库实例。

  1. 确保已允许您自己访问RDS数据库的Security Group。您应该添加一条规则,以允许您的ip(或最后使用0.0.0.0/0-互联网上的任何人都可以连接)访问您端口上的RDS。