gpt4 book ai didi

amazon-web-services - 一段时间后自动终止 Auto Scaling 实例

转载 作者:行者123 更新时间:2023-12-04 08:10:52 25 4
gpt4 key购买 nike

我们为一堆应用程序使用 Amazon EC2 Auto Scaling 组 - 众所周知,尽管您尽最大努力避免出现内存泄漏和其他“已运行一段时间的问题” - 但仍有可能。

我们希望通过弹跳服务器来防止这种可能性 - 即确保一个实例只持续 24 小时,然后将其杀死。然而,我们希望杀死是“安全的”——例如——即使组中只有一个实例,我们也希望启动另一个实例到工作状态,然后杀死旧盒子。

是否有任何支持?例如实例上的生存时间属性?

最佳答案

Amazon EC2 和 Auto Scaling 中都没有这样的属性。

您可以手动 set the instance healthUnhealthy,这将导致 Auto Scaling 终止并替换实例。但是,如果您只有一个实例,那么可能会有一段时间没有实例。

您可以设置 Auto Scaling termination policyOldestInstance,即弹性伸缩需要终止实例时,会终止AZ内实例数量最多的最旧实例。这摆脱了旧实例,但仅当组缩小时。

因此,您可以使用扩展 组然后使其再次缩小 的脚本来补充终止策略。例如,将实例数量加倍,等待它们启动,然后将实例数量减半。这应该会导致它们全部刷新(如果您的实例分布在多个可用区中,则会出现一些边缘情况,从而导致非偶数计数)。

另一种选择是重启实例。这不会导致它们对 Auto Scaling 来说不健康,但对负载均衡器来说它们会不健康。 (如果您在 Auto Scaling 中激活了 ELB 健康检查,那么 Auto Scaling 实际上会终止未通过健康检查的实例。)您可以使用 Scheduled Events for Your Instances让 Amazon CloudWatch Events 以特定时间间隔重启您的实例,或者甚至在实例上设置脚本告诉操作系统以特定时间间隔重启。

但是,没有自动选项可以完全按照您的要求执行。

关于amazon-web-services - 一段时间后自动终止 Auto Scaling 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45155326/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com