我在一个VPC中创建了一个基本的测试PostgreSQL RDS实例,该实例具有一个公共子网,应该可以通过公共Internet进行连接。它使用默认的安全组,该安全组已为端口5432打开。当我尝试连接时,它失败。我一定会错过一些非常简单的东西-但是我对此非常迷失。
这是数据库设置,请注意它被标记为Publicly Accessible
:
这是安全组设置,请注意它已完全打开(在上方的RDS设置中,通过端点旁边的绿色“授权”提示来确认):
这是我要用来连接的命令:
psql --host=myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com \
--port=5432
--username=masteruser
--password
--dbname=testdb
这是我尝试从优胜美地MacBook Pro连接时得到的结果(请注意,它解析为54. * IP地址):
psql: could not connect to server: Operation timed out
Is the server running on host "myinstance.xxxxxxxxxx.us-east-1.rds.amazonaws.com" (54.xxx.xxx.xxx) and accepting
TCP/IP connections on port 5432?
我没有启用任何类型的防火墙,并且能够连接到其他提供程序(例如Heroku)上的公共PostgreSQL实例。
任何故障排除提示将不胜感激,因为我在这里很茫然。
更新资料
根据评论,这是默认VPC的入站ACL规则: