Amazon EC2和PostgreSQL:由于超时错误而无法连接

时间:2019-04-14 13:03:15

标签: postgresql amazon-web-services amazon-ec2 psql

我想我在问这里之前已经遵循了所有可能的指南。

我正在尝试远程连接到安装在EC2 Linux实例(Ubuntu服务器18.04,如果需要的话是免费的)上的PostgreSQL数据库。

这是我撞墙求助之前要做的所有步骤。

  1. 我通过SSH连接到我的实例
  2. 我按照this docs
  3. 下载并安装了postgres
  4. 我创建了一个新的(umberto)
  5. 我创建了一个新的数据库(奇迹地图)
  6. 我创建了一个新的OS用户,其名称与第3步中的名称相同(umberto)
  7. 我和服务器上的新用户连接到新数据库,一切正常
  8. 我编辑了/etc/postgresql/10/main/pg_hba.conf,并添加了以下几行:

    全部托管0.0.0.0/0 md5

    托管所有::: 0 md5

  9. 我编辑了/etc/postgresql/10/main/postgresql.conf,将#listen_addresses = 'localhost'更改为listen_addresses = '*'

  10. 我使用sudo service postgresql restart

  11. 重新启动了postgres服务器
  12. 我在实例安全组中添加了一个新的入站规则,如下所示:

    TCP端口:5432源:0.0.0.0/0,:: / 0

毕竟,我试图通过本地机器(使用pgadmin3或psql)进行连接,但仍然收到超时错误(主机被隐藏):

psql -h <PUBLIC-IP-OF-MY-INSTANCE> -U umberto -d wondermap

or even

psql -h <PUBLIC-IP-OF-MY-INSTANCE> -U postgres

psql: could not connect to server: Connection timed out
    Is the server running on host "<PUBLIC-IP-OF-MY-INSTANCE>" and accepting

正在做S ELECT version();显示:

PostgreSQL 10.7 (Ubuntu 10.7-0ubuntu0.18.04.1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0, 64-bit

可能是什么问题?

1 个答案:

答案 0 :(得分:1)

显然,我不得不取消阻止服务器防火墙上的postgres端口。

  1. sudo ufw allow 5432/tcp

做到了!