Amazon web services 将Node.js应用程序部署到Elastic Beanstalk时出现ETIMEDOUT错误

Amazon web services 将Node.js应用程序部署到Elastic Beanstalk时出现ETIMEDOUT错误,amazon-web-services,amazon-elastic-beanstalk,Amazon Web Services,Amazon Elastic Beanstalk,我希望在我面临的这个部署问题上能得到一些帮助: 我已经创建了一个RDS实例,通过查看仪表板可以看到它“可用”。然后,我使用Elastic Beanstalk CLI部署我的应用程序,部署成功 然而,当我访问端点时,我从nginx得到了一个502坏网关。检查日志后,我可以从Node.js应用程序中看到以下错误: 错误:连接ETIMEDOUT x.x.x.x:5432(ip未指定) 根据,我已尝试将自动生成的安全组从我的Elastic Beanstalk实例分配给我的RDS实例,但仍然收到相同的错误

我希望在我面临的这个部署问题上能得到一些帮助:

我已经创建了一个RDS实例,通过查看仪表板可以看到它“可用”。然后,我使用Elastic Beanstalk CLI部署我的应用程序,部署成功

然而,当我访问端点时,我从nginx得到了一个502坏网关。检查日志后,我可以从Node.js应用程序中看到以下错误:

错误:连接ETIMEDOUT x.x.x.x:5432(ip未指定)

根据,我已尝试将自动生成的安全组从我的Elastic Beanstalk实例分配给我的RDS实例,但仍然收到相同的错误

这里的文档中是否有我误解的地方?如果有人能给我指出正确的方向,我将不胜感激


提前谢谢。

经过多次尝试和错误,终于找到了答案。结果证明这并不太棘手

  • 转到您的EB环境->配置
  • 单击“实例”旁边的“编辑”
  • 记下底部选择的安全组ID
  • 创建新的安全组,例如“我的eb实例rds访问”
  • 在“入站规则”下选择“添加规则”。选择您正在使用的DB服务,它将自动填充端口。将源设置为“自定义”,然后在搜索框中单击。选择您的EB实例具有的、您先前记录的安全组
  • 单击“创建安全组”
  • 找到您的RDS实例,点击“修改”
  • 向下滚动并找到“连接”。然后从下拉框中选择刚创建的安全组
  • 滚动到底部,然后点击继续。在这里,我发现有两种选择:一种是立即更新更改,另一种是等待定期维护。我不是专家,但我选择了“立即”选项,因为数据库还没有在生产中使用,所以一些停机时间不是问题
  • 您的EB实例现在应该可以连接了!即使在重新部署之后,这对我来说仍然有效
  • 免责声明:我绝不是专家。这完全是通过反复试验来实现的。如果有人有任何建议或改进,我很乐意听到他们并编辑答案