AWS - 在Autoscale Group中重建所有实例

时间:2017-05-15 19:36:25

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

我们正在寻找一种方法来触发滚动更新或重置自动缩放组中的所有实例,而无需更改CloudFormation JSON或启动配置用户数据。

我们尝试这样做的原因是我们的自动缩放组中有多个JBoss应用程序服务器。为了使这些服务器保持相当无状态,我们在S3上进行可部署的战争,每当新服务器旋转时,它就会抓住战争,然后部署它们。有时我们需要将war文件更新到部署中的实例。由于这些服务器总是抓取新文件,我们希望有一种方法,AWS只删除所有内容,然后重建。我们确实需要与自动缩放更新策略相同的行为,但在某种程度上我们可以通过CloudFormation或CLI运行它们,而无需更改任何JSON或用户数据。我们将可部署文件放在S3上的地方无需更改AMI或任何JSON或用户数据。

更新我们正在寻找的行为的政策:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html

1 个答案:

答案 0 :(得分:0)

更新Auto Scaling车队:

  • Auto Scaling Termination Policy设置为OldestInstance
  • 将新实例启动到Auto Scaling组。正如您所描述的,他们将使用您最新的war文件。这可以通过增加Auto Scaling组的Desired数量来完成。
  • 新实例启动后,将Desired数量减少回原始级别。这将导致实例终止,首先从最旧的实例开始。

这是在保持对应用程序的可访问性的同时推出对机群的更新的一种巧妙方法。