2016-01-21 55 views
2

我已经使用自定义AMI在AWS中创建了自动缩放组。现在为了推出我的新代码,我需要更新所有正在运行的实例,但是如果新实例出现,它将不会被更新。所以,我需要一种更新AMI的方法。一种方法可能是创建新的AMI和Autoscaling组。有没有什么方法可以编辑AWS中用于自动缩放的AMI?

在此先感谢。

+2

[使用Auto Scaling管理Amazon EC2中的应用程序代码更改的最佳方法]的可能副本(http://stackoverflow.com/questions/5739762/best-way-to-manage-code-changes-for-application -in-amazon-ec2-with-auto-scaling) –

+0

尚未回答。 –

回答

7

这是去做一个办法:

  1. 旋转起来使用AMI一个独立实例
  2. 进行更改
  3. 停止实例
  4. 从这个实例创建新的AMI
  5. 创建使用新AMI的新启动配置
  6. 更新自动缩放组以使用新的启动配置
  7. 慢慢地终止在自动扩充集团的旧实例,让他们使用新的AMI

当然,这一切都是为了对付手动每次疼痛情况下被自动替换你需要做出改变。 Elastic Beanstalk和CloudFormat都提供了以更自动化的方式处理这个问题的机制。

如果您只是将要部署的代码更改为服务器,则还有其他方法可以处理此问题,例如使用AWS CodeDeploy。您还可以使用某些自动或手动方式更新正在运行的服务器,并配置AMI,以便创建的任何新实例都可以在启动时获取最新的代码。

+1

如果我没有错,就没有选择更新当前的启动配置。 –

+2

啊,你是对的,你必须创建一个新的启动配置,然后更新你的自动调节组。我会更新我的答案。 –

相关问题