【问题标题】:ETIMEDOUT error when deploying Node.js app to Elastic Beanstalk将 Node.js 应用程序部署到 Elastic Beanstalk 时出现 ETIMEDOUT 错误
【发布时间】:2020-09-08 02:17:53
【问题描述】:

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

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

但是,当我访问端点时,我从 nginx 获得了 502 Bad Gateway。检查日志后,我可以从我的 Node.js 应用程序中看到以下错误:

错误:连接 ETIMEDOUT x.x.x.x:5432(ip 省略)

根据AWS documentation on this,我尝试将自动生成的安全组从我的 Elastic Beanstalk 实例分配给我的 RDS 实例,但我仍然遇到同样的错误。

我在这里的文档中有什么误解吗?如果有人能在这里指出正确的方向,我将不胜感激。

提前谢谢你。

【问题讨论】:

    标签: amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    经过大量试验和错误后,设法解决了这个问题。事实证明这并不太棘手。

    1. 转到您的 EB 环境 -> 配置
    2. 点击“实例”旁边的“编辑”
    3. 记下底部选择的安全组 ID
    4. 创建一个新的安全组,例如"my-eb-instance-rds-access"
    5. 在“入站规则”下选择“添加规则”。选择您正在使用的任何数据库服务,它应该会自动填充端口。将来源设置为“自定义”,然后单击搜索框。选择您之前记下的 EB 实例具有的安全组。
    6. 点击“创建安全组”
    7. 找到您的 RDS 实例并点击“修改”
    8. 向下滚动并找到“连接”。然后从下拉框中选择您刚刚创建的安全组。
    9. 一直滚动到底部并点击继续。在这里,我发现有两种选择:一种立即更新更改,另一种等待定期定期维护。我不是专家,但我选择了“立即”选项,因为数据库尚未在生产中使用,所以一些停机时间不是问题。
    10. 您的 EB 实例现在应该可以连接了!即使在重新部署后,这对我也有用。

    免责声明:我绝不是专家。这纯粹是通过反复试验完成的。如果有人有任何提示或改进,我很乐意听到并编辑答案。

    【讨论】:

      猜你喜欢
      • 2016-11-12
      • 2015-08-04
      • 2020-03-07
      • 2013-12-15
      • 2021-01-01
      • 2020-02-21
      • 2016-10-17
      • 2016-03-09
      • 2020-10-27
      相关资源
      最近更新 更多