我在AWS RDS上创建了一个postgres数据库实例。我正在尝试将此数据库实例连接到django zappa应用程序,以便执行AWS Lambda函数。
我已经向数据库实例添加了一个新的安全组,这样我就可以允许我的django应用程序连接到它:
我的数据库详细信息显示新的安全组处于活动状态:
但是,当我尝试通过终端运行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?
知道为什么要这么做吗?
答案 0 :(得分:1)
最常见的错误是不允许自己访问/未设置为公共可访问性。
如果要使EC2实例和托管数据库实例的VPC外部的设备连接到数据库实例,请选择“是”。如果选择否,则Amazon RDS将不会为数据库实例分配公共IP地址,并且VPC之外的任何EC2实例或设备都将无法连接。如果选择“是”,则还必须选择一个或多个VPC安全组,这些安全组指定哪些EC2实例和设备可以连接到数据库实例。