特定的 Auto-Scaling 组 Cloudformation AWS

Specific Auto-Scaling group Cloudformation AWS

我在 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"
  }
}

感谢任何帮助。

查看实例 scale-in 保护,详见 this AWS blog post。

我不使用 CloudFormation,所以我不确定它对自动缩放自定义的支持程度,但是 post 有一个可能适合您的解决方法。

调查Amazon EC2 Auto Scaling Lifecycle Hooks。正如您将在下面看到的,实例可以收到缩减事件的通知,并准备终止或直接取消缩放事件。