6

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

  1. 更新“黄金大师”实例
  2. 将黄金主机快照到磁盘映像
  3. 更改给定堆栈和堆栈的 cloud-formation 配置(通过 json 文件)中的 ami 引用update

这会降低堆栈中的实例 + 使用新磁盘映像重新配置它们。

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

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

负载均衡规则和云形成之间会不会有冲突?

任何见解将不胜感激

4

2 回答 2

7

好的 - 做了一些实验。您需要为伸缩组定义更新策略。通过定义更新策略,启动配置中的任何更改都会触发更新。没有这个 - 不会触发更新。

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

http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html

于 2013-08-11T23:39:38.037 回答
0

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

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

类似的策略可能是可使用 cloudformation 编写/配置的

于 2013-08-02T19:29:04.397 回答