Amazon web services 云形成-更新elb后面的堆栈不会更新AMI

Amazon web services 云形成-更新elb后面的堆栈不会更新AMI,amazon-web-services,amazon-ec2,autoscaling,amazon-elb,amazon-cloudformation,Amazon Web Services,Amazon Ec2,Autoscaling,Amazon Elb,Amazon Cloudformation,我们正在使用云形成为我们的AWS EC2实例供电。我们有3个不同的堆栈-测试、暂存和生产。我们更新任何堆栈的图像的工作流程如下: 更新“golden master”实例 将黄金母版快照到磁盘映像 更改给定堆栈的云形成配置中的ami引用(通过json文件),并更新堆栈 这会降低堆栈中的实例,并用新磁盘映像重新配置它们 我们的测试或登台堆栈没有问题,每个堆栈都包含一个ec2实例。每次更新时,图像都会被替换,没有问题 我们的生产堆栈似乎不是以相同的方式工作的:-(。它包含(至少)2个位于负载平衡器后面

我们正在使用云形成为我们的AWS EC2实例供电。我们有3个不同的堆栈-测试、暂存和生产。我们更新任何堆栈的图像的工作流程如下:

  • 更新“golden master”实例
  • 将黄金母版快照到磁盘映像
  • 更改给定堆栈的云形成配置中的ami引用(通过json文件),并更新堆栈
  • 这会降低堆栈中的实例,并用新磁盘映像重新配置它们

    我们的测试或登台堆栈没有问题,每个堆栈都包含一个ec2实例。每次更新时,图像都会被替换,没有问题

    我们的生产堆栈似乎不是以相同的方式工作的:-(。它包含(至少)2个位于负载平衡器后面的实例。当我们以相同的方式更新此堆栈时,ec2实例不会立即刷新(即更新完成后,这些框仍从上一个磁盘映像运行)。好消息是在负载平衡器自动缩放时使用了新映像

    负载平衡规则和云形成之间会有冲突吗


    如果您有任何见解,我们将不胜感激

    我们可以看看您的云形成脚本吗? 关于elb+自动缩放,您可能是对的

    为了更新ami(无需cloudformation),我手动将autoscaling组的desiredCapacity值加倍,并在新实例在ELB处于联机状态时将其设置回原位


    类似的策略可能可以通过cloudformation编写脚本/配置好-完成了一些实验。您需要为扩展组定义更新策略。通过定义更新策略,启动配置中的任何更改都将触发更新。如果没有更新,将不会触发更新

    您不需要ELB来触发滚动更新,但是如果您有ELB,它也不会干扰滚动更新


    您可以包括您的云形成脚本吗?另外-您是否定义了更新策略?