减少 (AWS::AutoScaling::AutoScalingGroup) 中的所需实例是不是会终止实例而不停止它

Posted

技术标签:

【中文标题】减少 (AWS::AutoScaling::AutoScalingGroup) 中的所需实例是不是会终止实例而不停止它【英文标题】:Does reducing desired instances in (AWS::AutoScaling::AutoScalingGroup) terminates the instance without stopping it减少 (AWS::AutoScaling::AutoScalingGroup) 中的所需实例是否会终止实例而不停止它 【发布时间】:2017-12-31 08:13:09 【问题描述】:

我创建了一个自定义 AMI,其中服务 xxx 在 aws 实例启动时启动,而服务 xxx 在该 aws 实例停止时停止。 我已将该 ami 包装在 CloudFormation 的 AWS::AutoScaling::AutoScalingGroup 下。 当使用 Auto Scaling 组添加新实例时,xxx 服务也会在其上启动。但是当我减少所需实例的数量时,xxx 不会停止。

所以减少自动缩放组中所需的 numInstances 只会终止实例而不停止它?

如何在实例终止前收到停止xxx服务的通知?

【问题讨论】:

【参考方案1】:

是的,当 Auto Scaling 缩小/缩小时,它会终止实例(它不会简单地停止它们)。

要对此类事件做出反应,您可以使用Lifecycle Hooks,它允许您在 Auto Scaling 启动或终止实例时执行自定义操作。

【讨论】:

感谢@jarmod,在 cloudformation 模板中使用 Lifecycle Hooks 的任何示例都会很有用... 这里有一个例子:engineering.circle.com/… 感谢 @jarmod,AWS::Lambda::Function 支持什么所有“运行时”,如 python、shell 脚本?等等。 AWS::Lambda::Function 文档在这里很有帮助。有关有效值,请参阅 AWS Lambda 开发人员指南(位于 docs.aws.amazon.com/lambda/latest/dg/…)中的 Runtime 属性。

以上是关于减少 (AWS::AutoScaling::AutoScalingGroup) 中的所需实例是不是会终止实例而不停止它的主要内容,如果未能解决你的问题,请参考以下文章

Tensorflow CUDA减少Op没有完全减少

页面优化——减少HTTP请求数

验证损失减少,然后增加,然后再次减少

JavaScript性能优化9——减少判断层级减少循环体活动

JavaScript性能优化9——减少判断层级减少循环体活动

尝试使用 operator.or_ 减少 Django Q 对象似乎会导致使用 'AND' 减少