amazon-web-services - AWS Autoscaling 延迟启动和终止
问题描述
我有以下场景,需要知道在 AWS 中实现它的最佳方法。
我有一个 EC2 自动缩放组,该组最初将设置为 0,在手动运行过程之后触发 SSM 文档,将 ASG 设置为 3,但是我需要每个实例在启动 3 个中的下一个之前完全启动并运行发射。
当前设置同时启动所有 3 个实例,当它们形成一个集群时,它们同时启动似乎会导致问题,它们需要等待一些设置/缓存操作发生,然后另一个节点才能安全加入。
除此之外,没有节点要运行超过 20 天,因此在实例上设置了最大实例年龄,我正在使用生命周期挂钩来优雅地终止实例,但我需要实现的是当每个节点到达它的 20 天,它不会开始其生命周期挂钩以终止,直到其替换节点运行。
我正在尝试确定我可以依赖 ASG 来实现多少,以及我应该将多少分配给 ASG 外部的自动化,例如 Lambda。
任何建议表示赞赏,
解决方案
最大实例生命周期不会一次替换超过 10% 的 ASG 中的总实例(因此在您的情况下,一次永远不会超过 1 个): https ://docs.aws.amazon.com/autoscaling/ ec2/userguide/asg-max-instance-lifetime.html
对于初始启动,如果它是 1 次,您可以手动将其增加几分钟,或者让您的启动脚本一次增加一个,并在两者之间进行睡眠(步骤函数可能适用于此)
推荐阅读
- python-3.x - 如何在元组列表中写入多个列表
- google-apps-script - 在 google 应用程序脚本中设置 Twilio 客户端
- java - bazel build android_binary with Guava 依赖抱怨 min_sdk_version 尽管在清单中设置
- node.js - 将 Paypal cURL 命令转换为 Axios 请求
- json - FromJson 返回 null ,颤动
- android - 将属性的值设置为 XML 中另一个视图属性的值?
- javascript - 从数组中删除所有其他单词(文本段落)
- sql - Oracle 从 JSON 数组中选择
- javascript - 使用 JavaScript 从 Json 数组中查找数据
- python - 我们究竟如何在 Python 中使用“继续”?