【问题标题】:Timeout connecting from Heroku to AWS RDS Aurora instance从 Heroku 连接到 AWS RDS Aurora 实例超时
【发布时间】:2021-06-07 15:53:02
【问题描述】:

我需要将 Heroku 上运行的 Node.js 应用程序连接到 AWS RDS 中运行的 Aurora 实例。

连接在我的本地机器上运行良好,但在 Heroku 上超时Error: timeout expired from pg/lib/client.js)。

我的配置概览:

  • nodejs@14
  • knex@0.21.18
  • pg@8.6.0
  • Aurora 实例正在eu-west-1 中运行
  • 我正在使用 Heroku hobby tier dynos(开发环境)

我尝试过的事情:

  1. 我检查了我的 VPC ACL 配置(它看起来对我完全开放):
  2. 我在连接配置中明确提供了 RDS AWS 证书颁发机构证书(来自此处:Using SSL/TLS to encrypt a connection to a DB cluster) - 没有帮助。
  1. 我尝试使用相同的配置连接到 Heroku Postgres 实例,效果很好。

【问题讨论】:

  • 附加到RDS集群的安全组呢?
  • @MarkB 感谢您的评论,它为我指明了正确的方向!

标签: amazon-web-services heroku amazon-rds knex.js amazon-aurora


【解决方案1】:

事实证明,即使您在为 RDS 实例创建 VPC 时选择“启用公共访问”选项,AWS 默认情况下只会在安全组设置中将您的 IP 列入白名单

我已将以下入站规则添加到安全组,并且有效!

【讨论】:

  • 启用公共访问会为服务器提供公共 IP 地址。如果不启用它,服务器将只有一个在您的 VPC 内工作的私有 IP 地址。
最近更新 更多