我在AWS Elastic Beanstalk上部署了一个Rails应用程序(Ruby 1.9.3),遇到了两个相关但不同的问题。我已经应用了以下自动扩展配置,我相信这是默认配置:
- 环境类型:负载均衡、自动扩展 - 实例数量:1 - 4 - 基于平均网络输出进行扩展 - 当输出大于6000000时添加实例 - 当输出小于2000000时删除实例
问题#1:我的应用程序流量不大,只需要1个EC2实例(m1.medium)。每周我会收到几封来自AWS的“ElasticBeanstalk Default Scale Down alarm”电子邮件。大多数情况下,我在收到邮件后检查我的应用程序,发现它还是正常的;然而,每个月左右,我在收到邮件后检查我的应用程序,却发现是nginx 404页面。EB终止了我唯一运行应用程序的EC2实例,并生成了一个新的实例。为什么它会从1缩小到0?这在过去的6个月中一直如此一致。是否有其他人也遇到了这个问题?找到了解决方法吗?
问题#2:当发生上述情况时,EB会为我创建一个新的EC2实例。但是,我继续收到nginx 404页面直到我重新部署 - 这是一个手动任务,似乎违背了自动扩展的目的。EB在自动缩放后需要重新部署吗?难道它不能自动将当前/最新版本的应用程序部署到新的EC2实例上吗?
非常感谢任何帮助或建议!
- 环境类型:负载均衡、自动扩展 - 实例数量:1 - 4 - 基于平均网络输出进行扩展 - 当输出大于6000000时添加实例 - 当输出小于2000000时删除实例
问题#1:我的应用程序流量不大,只需要1个EC2实例(m1.medium)。每周我会收到几封来自AWS的“ElasticBeanstalk Default Scale Down alarm”电子邮件。大多数情况下,我在收到邮件后检查我的应用程序,发现它还是正常的;然而,每个月左右,我在收到邮件后检查我的应用程序,却发现是nginx 404页面。EB终止了我唯一运行应用程序的EC2实例,并生成了一个新的实例。为什么它会从1缩小到0?这在过去的6个月中一直如此一致。是否有其他人也遇到了这个问题?找到了解决方法吗?
问题#2:当发生上述情况时,EB会为我创建一个新的EC2实例。但是,我继续收到nginx 404页面直到我重新部署 - 这是一个手动任务,似乎违背了自动扩展的目的。EB在自动缩放后需要重新部署吗?难道它不能自动将当前/最新版本的应用程序部署到新的EC2实例上吗?
非常感谢任何帮助或建议!