1

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

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

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

4

2 回答 2

5

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

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

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

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

于 2012-08-14T14:46:04.020 回答
0

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

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

于 2012-08-14T14:57:32.353 回答