我们正在使用云形成为我们的AWS EC2实例供电。 我们有3个不同的堆栈 – testing,分期和生产。 我们的工作stream程更新任何堆栈的图像如下:
update堆栈。 这会导致堆栈中的实例+重新提供新的磁盘映像。
我们的testing或登台栈没有问题,每个栈都包含一个ec2实例。 每次我们更新,图像被replace没有问题。
我们的生产堆栈似乎没有以相同的方式工作:-(它包含(至less)2个实例位于负载平衡器后面。当我们以相同的方式更新堆栈时,EC2实例不会立即刷新(即更新完成后,这些盒子仍然是从上一张磁盘映像中运行的),好消息是当负载均衡器自动缩放时会使用新映像。
负载均衡规则和云形成之间可能会有冲突吗?
任何有识之士将不胜感激
例子:
testing堆栈: https : //gist.github.com/robsquires/629fb6da2d10869363e5
生产堆栈: https : //gist.github.com/robsquires/79de54eeb04d620d5222
这是通过AWS :: AutoScaling :: LaunchConfiguration用户指南devise和logging的:
重要
当您更新LaunchConfiguration资源时,AWS CloudFormation将删除该资源并使用更新的属性和新名称创build一个新资源。 此更新操作不会在自动缩放组中的正在运行的EC2实例上部署任何更改。 换句话说,更新只是取代LaunchConfiguration,以便在自动扩展组启动新实例时,它们将获得更新的configuration,但现有实例将继续以最初启动的configuration运行。 这与您对自动缩放组手动进行类似更改的方式相同。
我强烈build议在你的testing栈中,你创build的模板就像你的生产一样,只是调整值来降低成本,例如MinSize , MaxSize和DesiredCapacity为1等。