用于AngularJS和Rails API生产环境的AWS基础设施



我用AngularJS开发了一个网站,运行在Nginx web服务器上,向运行在Unicorn服务器和MYSQL数据库上的Rails API发送请求。为了测试目的,应用程序(前端和后端)当前运行在EC2微实例中。数据库运行在RDS微实例中。性能还不错,但是对于生产环境应该快一点。

我不知道我到底改变了什么,或者什么是合适的基础设施配置。

可能,我会测试它,但我认为也许EC2小实例和RDS小实例已经足够了。然而,这种配置并不像预期的那么便宜。一个EC2小实例(在爱尔兰)是0.047美元/小时,这差不多是33,84美元/月。另一方面,RDS小实例是0.06美元/小时,这是43.60美元/月。总共是77,04美元/月。对于所有这些基础设施来说,这可能是一个不错的价格,但对于我们的预算来说,这仍然是昂贵的。

所以,我们在考虑是否有一种更经济有效的组合。1 .

  1. 我想在EC2实例上安装与应用程序共享的数据库是可能的。这会保存RDS实例,对吧?也许,您可以获得更大的(即中等)EC2实例,并将其用于两者。

或者应该使用EC2和RDS小实例?将RDS实例保持为微型会是什么情况?

我不能评论哪种大小更好,但如果你计划在AWS上运行网站,大概你会24x7x365运行它。如果是这种情况,您应该购买一个保留的实例,而不是一个按需的实例,这样可以节省一大笔钱。

例如,您的小型ec2实例(您定价为0.047美元/小时)在三年期间(不包括RDS)将达到1218.24美元。

如果你买了一个3年的预留实例,它将花费你578美元。(预付337美元,然后每小时0.009美元× 24 × 31 × 36个月)= 578美元。

就我个人而言,我会选择一个1年或3年的中型或大型实例,并在同一台机器上运行MySQL,直到性能开始受到影响,然后将MySQL卸载到RDS上。