通过弹性beanstalk

时间:2016-05-03 18:26:48

标签: node.js amazon-web-services amazon-ec2 cron elastic-beanstalk

我正在通过aws弹性beanstalk将节点应用程序部署到ec2实例。我使用cron节点包设置了一个cron作业,在打勾时,将运行一个sequelize查询,解析返回的数据,然后将其发送到电子邮件正文中。

在本地测试时,它工作正常,电子邮件将被发送。当我使用awsebcli命令eb deploy部署它时,它表示部署成功,但我没有收到任何电子邮件。

起初我认为npm start命令在服务器上没有运行,但我检查了错误日志,看起来sequelize在尝试连接时抛出了超时错误。

我为sequelize写了一个配置,一次连接到多个模式。其中三个模式托管在同一个RDS上,一个在单独的RDS上。

我用另一个节点应用程序做了几乎完全相同的事情,它运行正常。唯一不同的是单独的RDS上的附加模式,我在本地计算机上正常连接。

任何想法或建议都将不胜感激。

编辑:检查服务器日志,发现Sequelize连接错误。

1 个答案:

答案 0 :(得分:0)

发现问题是由aws上的安全组引起的,导致我的实例无法连接到所需的其中一个数据库。

修改

已要求提供具体信息。由于这是一篇非常古老的帖子,我再也无法访问AWS了,我可以猜测我做了什么。

如果我的内存服务正确,我被阻止的数据库托管在不同的aws帐户中。更改数据库上的安全组不是一种选择,因为该帐户的安全性得到了坚定的维护。我能够在本地连接的原因是因为我工作的设施在数据库安全组上有一个列入白名单的IP。我最终决定在我的本地机器上运行脚本,因为我的机器很少离开那个位置,并且脚本运行的位置并不重要,只是它定期运行。理想情况下,我本来可以更改数据库上的安全组以允许来自我的服务器的传入流量。