【问题标题】:AWS Elastic Beanstalk Rails app autoscaling issuesAWS Elastic Beanstalk Rails 应用程序自动缩放问题
【发布时间】:2014-06-30 15:00:28
【问题描述】:

我在 AWS 的 Elastic Beanstalk 上部署的 Rails 应用程序 (Ruby 1.9.3) 遇到了两个不同但相关的问题。我应用了以下自动缩放配置。我相信这是默认设置。

  • 环境类型:负载均衡、自动缩放
  • 实例数:1 - 4
  • 基于平均网络输出的规模
  • > 6000000 时添加实例
  • 时删除实例

问题 #1 - 我的应用程序还没有获得太多流量,只需要 1 个 EC2 实例 (m1.medium)。我每周都会收到几封来自 AWS 的“ElasticBeanstalk 默认缩减警报”电子邮件。大多数时候,我收到一个后检查我的应用程序,这很好;但是,大约每月一次,我在收到电子邮件后检查我的应用程序并找到 nginx 404 页面。 EB 终止了我的 EC2 实例——唯一一个运行我的应用程序的实例——并生成了一个新实例。为什么它从 1 缩小到 0?在过去的 6 个月里,这种情况一直发生在我身上。有没有其他人经历过这个?找到解决方案了吗?

问题 #2 - 当上述情况发生时,EB 会为我创建一个新的 EC2 实例。但是,我继续获得 nginx 404 页面,直到我重新部署 - 这是一项手动任务,似乎违背了 auto 扩展的目的。自动缩放发生后 EB 是否需要重新部署?它不应该自动将我的应用程序的当前/最新版本部署到新的 EC2 实例吗?

非常感谢任何帮助/建议!

【问题讨论】:

  • 如果实例未能通过运行状况检查,则将其移除并替换 - 通知电子邮件是否说明是这种情况(应该说明扩展活动的原因?)
  • 警报电子邮件中没有关于健康检查失败的任何内容。就是这样... 超过阈值:1 个数据点 (337030.5) 小于阈值 (2000000.0)。
  • 嘿@ajporterfield 你对这篇文章有什么解决方案吗?我有同样的问题:/
  • 我的“修复”只是将最大/最小实例计数设置为 1。没有太大的修复,但我的应用程序确实不需要疯狂的自动缩放。当我需要第二个应用服务器时,我会将它们增加到两个。

标签: ruby-on-rails ruby amazon-web-services amazon-elastic-beanstalk


【解决方案1】:

我确实遇到过这个问题!问题是当您只有一个实例时,Remove instance when < 2000000 标准正在触发。如果您的实例超过 2000000,然后又回落到 2000000 以下,EB 将终止它并启动另一个。禁用该警报的自动缩放操作,您的问题就会消失。

关于您的第二个问题 - 您等待新建实例可用多长时间?我注意到,一旦新实例准备就绪,但在 EB 完成部署您的应用程序之前,它们就会被添加到自动缩放组中。在您的单实例情况下,这尤其糟糕,因为几分钟内没有有效的服务器。

【讨论】:

    猜你喜欢
    • 2013-10-21
    • 2019-11-22
    • 2019-09-16
    • 2014-03-01
    • 2012-09-24
    • 2019-04-20
    • 2017-12-30
    • 2013-04-21
    • 2017-03-04
    相关资源
    最近更新 更多