我对RDS是全新的,通常只通过Rails和/或Heroku使用Postgres,因此并不深入了解数据库管理。我所要做的就是验证我是否可以连接到我在AWS上刚创建的RDS实例,但它一直挂起,psql
报告了大约30秒或几分钟后的情况:
$ psql postgresql://myuser:mypass@myawshost.rds.amazonaws.com:5432/my-db-name
psql: error: could not connect to server: Operation timed out
Is the server running on host "myawshost.rds.amazonaws.com" (<the ip address>) and accepting
TCP/IP connections on port 5432?
如何从本地主机连接到我的AWS RDS实例?
- 我确定我有正确的用户名和密码。
- 我确定主机地址是正确的。
- 我不确定是否应该包括端口号。
- 我不确定是否应该输入数据库名称,因为在我的数据库的RDS管理控制台的“配置”选项卡下,它说
DB instance ID:my-db-name,Engine version:13.3,DB name:-
,我不确定那个-
是我的实际Postgres数据库名称还是my-db-name
。
我尝试了带着数据库名称,但仍然无法连接:
$ psql postgresql://myuser:mypass@myawshost.rds.amazonaws.com:5432/-
- 我编辑了安全组,它链接在https://console.aws.amazon.com/rds/home 的
连接和安全
选项卡下的VPC安全组
部分,以允许所有入站连接。我也尝试将其限制为仅支持我的IP地址作为入站连接。
任何帮助都将不胜感激,谢谢。不确定为什么它会一直挂起。我已经成功使用本地版本的postgres,但连接到postgres RDS失败。
在 连接和安全 > 安全
部分下面,我刚刚注意到它说 公共可访问性:否
。我还需要启用其他功能吗?还有一个VPC、一个子网组和几个子网,我对此并不太了解,我需要在那里进行操作吗?
最后,“状态”显示绿色的 Available
,所以看起来情况很好。
DATABASE_URL
进行操作。 - Lance