【问题标题】:Amazon EC2 + Auto Scaling + Load Balance + Rails + Deploy [closed]Amazon EC2 + Auto Scaling + 负载平衡 + Rails + Deploy [关闭]
【发布时间】:2012-08-10 21:18:05
【问题描述】:

我对 Amazon EC2 中的 Auto Scaling 有一些疑问。

  • 我每天从 GitHub 多次在我的应用程序中运行部署,我需要编译资产管道以将静态数据发送到 Amazon S3。如何将我的应用程序(更新)复制到其他 actives 服务器?
  • 对于由 Auto Scaling 启动的服务器?

希望他们能帮助我,谢谢!

【问题讨论】:

    标签: ruby-on-rails deployment amazon-ec2 load-balancing autoscaling


    【解决方案1】:

    尝试使用ChefPuppet 等配置管理工具。

    我不确定是否有任何现成的解决方案可用于 AWS Auto Scaling 实例。 但是通过使用实例用户数据和厨师,可以复制更新的部署。

    【讨论】:

    • 是的 chef 是开源的。
    【解决方案2】:

    我假设您已为应用程序确定了启动配置。我们这样做的方式是使用新的代码库创建一个新的 AMI。然后更新启动配置以反映新的 AMI。

    当我们准备好开始更新时,我们只需终止负载均衡器中的实例,并让启动配置启动新 AMI 的新实例。

    例如,假设您的启动配置声明您至少有 8 个实例,最多有 12 个实例。假设您目前正在运行 10 个实例。我们将终止(或仅从负载均衡器中删除)一些实例以低于最小实例(例如 4 个实例)。然后这将启动两个新实例以满足最小启动配置。一旦这些在负载均衡器中成功,我们可能会终止另外 4 个实例,并让 4 个新实例启动。然后最后终止最后两个实例。

    这允许将新的 AMI 分阶段部署到生产环境中,同时最大限度地减少对服务器集群的负载影响。当然,如果您需要更新数据库架构或类似的情况,您需要硬停机进行切换,这会略有不同,因为您需要更改启动配置,终止所有实例,进行数据库迁移,然后启动新实例

    【讨论】:

      猜你喜欢
      • 2012-01-19
      • 2010-09-20
      • 2018-11-18
      • 2015-01-21
      • 2010-10-27
      • 2015-06-27
      • 2011-11-24
      • 1970-01-01
      • 2011-12-14
      相关资源
      最近更新 更多