我已经在aws上创建了一个实例/数据库,当我尝试通过终端连接到它时,通过运行下面的代码,我得到了一个错误。
我在终端中运行的行是:
psql --host = testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com --port = 5432 --username = postgres --password --dbname = testdb
它返回的错误是:
psql: error: could not connect to server: could not translate host name "testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com"
to address: nodename nor servname provided, or not known.
我花了最后三天的时间阅读相关文档并尝试使其正常运行,但我不知道我在哪里出错。
也可以在我运行时:
nslookup testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com
它返回:
Non-authoritative answer:
*** Can't find testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com: No answer
我来自统计学背景,我在R和python中做了相当多的编码,但是Im对于使用终端等来说还是比较新的!
感谢任何指导或帮助,因为这使我想对笔记本电脑进行打孔。
答案 0 :(得分:0)
似乎是DNS解析问题。我能够使用DIG来解决它。
在VPC中,确保在VPC上同时启用以下两个options:
如果RDS实例未托管在VPC中,而是通过VPC对等实体访问,则DNS解析可能需要在VPC对等实体上enabling
答案 1 :(得分:0)
在运行dig命令时:
dig testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com
它返回了一个专用IP:172.31.23.42
。
您似乎正在以私有或内部方式运行RDS实例,即无法从Internet上访问它。
您需要从VPC本身访问它,或者需要使用VPN。