2017-02-13 72 views
0

我正在从Heroku PostgreSQL迁移到RDS。对于我的RDS,我已设置:为什么我的节点/ Heroku应用程序不能连接到RDS?

Availability Zone us-east-1e

当我试图从我的应用程序连接到数据库,虽然,我得到

2017-02-13T16:11:09.087276+00:00 app[scorebot.1]: Unhandled rejection SequelizeConnectionError: connect ETIMEDOUT ip.ad.re.ss:5432 

我可以连接到从我家的电脑是IP。那么为什么我不能从Heroku那里做到这一点?

回答

1

您应该使用由RDS提供的端点DNS名称,而不是显式IP地址。该AWS名称可能会在AWS(Heroku运行的地方)内部解析为与本地服务器上的远程IP地址不同的IP地址。无论如何,您应该使用该DNS名称,以防RDS服务器发生故障切换事件,此时IP地址可能会发生更改。

我假设您已在RDS实例上启用“公开访问”标志,因为您可以从本地计算机进行连接。您还需要检查分配给RDS实例的安全组。如果您只允许安全组中的本地IP地址,则来自Heroku的连接将被阻止。

+0

我使用DNS'mysite.us-east-1.rds.amazonaws.com:5432'。我确实有'Publicly Available'选项,因此我不确定为什么我无法连接 – Shamoon

+0

好的,您的RDS安全组是什么样的? –

相关问题