有没有办法在AWS中编辑用于自动缩放的AMI?

时间:2016-01-21 16:21:19

标签: amazon-web-services amazon-ec2 autoscaling

我使用自定义AMI在AWS中创建了自动缩放组。现在要推出我的新代码,我需要更新所有正在运行的实例,但如果出现新实例,它将无法更新。所以,我需要一种更新AMI的方法。一种方法是创建新的AMI和Autoscaling组。

提前致谢。

1 个答案:

答案 0 :(得分:8)

这是一种解决方法:

  1. 使用AMI
  2. 启动独立实例
  3. 进行更改
  4. 停止实例
  5. 从此实例创建新的AMI
  6. 创建使用新AMI的新启动配置
  7. 更新Autoscaling组以使用新的启动配置
  8. 慢慢终止Autoscaling组中的旧实例,并使用新AMI自动替换实例
  9. 当然,每次需要进行更改时,所有这些都是手动处理的痛苦。 Elastic Beanstalk和CloudFormat都提供了以更自动化的方式处理此问题的机制。

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