2017-02-13 66 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安全組是什麼樣的? –

相關問題