我无法使用 Postgres 连接到 AWS RDS
I cant connect to AWS RDS using Postgres
我在 aws 上创建了一个 instance/database,当我尝试通过我的终端连接到它时,通过 运行 宁下面的代码,我收到一个错误。
我运行终端里的那一行是:
psql --host=testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=testdb
它的错误 returns 是:
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.
过去 3 天我一直在阅读相关文档并尝试使其正常工作,但我不知道哪里出了问题。
还有当我运行:
nslookup testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com
它returns:
Non-authoritative answer:
*** Can't find testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com: No answer
我有统计背景,我在 R 和 python 中做过一些编码,但我对使用终端等还比较陌生!
感谢您的任何指导或帮助,因为这让我想砸我的笔记本电脑。
似乎是 DNS 解析问题。我能够使用 DIG.
解决它
在 VPC 中,确保在 VPC 上启用了以下两项 options:
- 启用 Dns 主机名
- 启用DnsSupport
如果 RDS 实例未托管在 VPC 中,而是通过 VPC 对等访问,则 DNS 解析可能需要 enabling 在 VPC 对等
在 运行 挖掘命令中:
dig testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com
它返回了一个私有 IP:172.31.23.42
。
您似乎 运行 RDS 实例是私有的或内部的,即无法从 Internet 访问它。
您需要从 VPC 本身访问它或需要使用 VPN。
我在 aws 上创建了一个 instance/database,当我尝试通过我的终端连接到它时,通过 运行 宁下面的代码,我收到一个错误。
我运行终端里的那一行是:
psql --host=testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com --port=5432 --username=postgres --password --dbname=testdb
它的错误 returns 是:
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.
过去 3 天我一直在阅读相关文档并尝试使其正常工作,但我不知道哪里出了问题。
还有当我运行:
nslookup testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com
它returns:
Non-authoritative answer:
*** Can't find testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com: No answer
我有统计背景,我在 R 和 python 中做过一些编码,但我对使用终端等还比较陌生!
感谢您的任何指导或帮助,因为这让我想砸我的笔记本电脑。
似乎是 DNS 解析问题。我能够使用 DIG.
解决它在 VPC 中,确保在 VPC 上启用了以下两项 options:
- 启用 Dns 主机名
- 启用DnsSupport
如果 RDS 实例未托管在 VPC 中,而是通过 VPC 对等访问,则 DNS 解析可能需要 enabling 在 VPC 对等
在 运行 挖掘命令中:
dig testdb.c7hgibdbsgjm.eu-west-2.rds.amazonaws.com
它返回了一个私有 IP:172.31.23.42
。
您似乎 运行 RDS 实例是私有的或内部的,即无法从 Internet 访问它。
您需要从 VPC 本身访问它或需要使用 VPN。