特定Auto-Scaling组Cloudformation AWS

时间:2018-02-16 12:42:49

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

我在AWS中有一个自动缩放组,因此我可以更改CF创建的实例的堆栈大小。 但是,当我想减少堆栈时,它将终止堆栈中的随机实例。

我需要知道是否可以减少CF中的堆栈大小,但是使用扩展组将堆栈中的特定实例保留下来?

      "WebServerScaleUpPolicy" : {
  "Type" : "AWS::AutoScaling::ScalingPolicy",
  "Properties" : {
    "AdjustmentType" : "ChangeInCapacity",
    "AutoScalingGroupName" : { "Ref" : "AutoScalingServerGroup" },
    "Cooldown" : "60",
    "ScalingAdjustment" : "1"
  }
},
"WebServerScaleDownPolicy" : {
  "Type" : "AWS::AutoScaling::ScalingPolicy",
  "Properties" : {
    "AdjustmentType" : "ChangeInCapacity",
    "AutoScalingGroupName" : { "Ref" : "AutoScalingServerGroup" },
    "Cooldown" : "60",
    "ScalingAdjustment" : "-1"
  }
}

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

查看实例扩展保护,详见this AWS blog帖子。

我没有使用CloudFormation,因此我不确定它对Autoscaling自定义的支持程度,但this帖子有一个可能适合您的解决方法。

答案 1 :(得分:2)

查看Amazon EC2 Auto Scaling Lifecycle Hooks。正如您在下面看到的那样,可以通知实例Scale In事件,并准备终止或直接取消扩展事件。

enter image description here