无法远程访问 EC2 实例上的 PostgreSQL

rik*_*ikb 6 postgresql configuration remote aws

我无法通过诸如psql -h *EC2ExternalIP* -U *me*. 我会得到:

psql -h *EC2ExternalIP* -U *me*
psql: could not connect to server: Operation timed out
Is the server running on host *EC2ExternalIP* and accepting
TCP/IP connections on port 5432?
Run Code Online (Sandbox Code Playgroud)

同样的事情尝试一个简单的 telnet 连接到这个端口:

curl telnet://*EC2ExternalIP*:5434
curl: (7) Failed to connect to *EC2ExternalIP* port 5434:
Operation timed out
Run Code Online (Sandbox Code Playgroud)

即使我可以在同一个EC2ExternalIP上访问其他服务(例如,apache)。

所以我在这样的线程上闲逛:

他们帮助我确保我对postgresql.conf和进行了适当的修改 pg_hba.conf;适合您的设置将取决于您的实例的安全问题。但它仍然无法正常工作。

我应该怎么做才能使这个数据库可以访问?

rik*_*ikb 4

(自我回答,以防其他人有这些相同的症状!)

然后我偶然发现了Shubham Dipt关于“AWS 中 EC2 (Ubuntu) 上的 PostgreSQL”的帖子 ,让我意识到 AWS 维护的“安全组”层。通过 AWS 控制台可以轻松指定新规则,特别是添加 Custom TCP: 5432, Source: AnywhereSSH TCP:22, Source: Anywhere站规则:

EC2控制台编辑安全组

然后,将此安全组添加到实例中,它对我有用。

  • @mattdlockyer 完全正确!这是一年前的事了,从那以后我学到了很多关于 AWS 的知识。我没有检查我的自我回答,但对于其他被这种方式绊倒的人,请使用 VPC! (2认同)