我有以下场景,需要知道在AWS中实现它的最佳方法。
我有一个EC2自动缩放组,它最初将设置为0,在手动运行过程后,会触发一个SSM文档,将ASG设置为3,但我需要在3的下一个开始启动之前,每个实例都完全启动并运行。
当前的设置同时启动所有3个实例,当它们形成一个集群时,它们同时启动似乎会导致问题,它们需要等待一些设置/缓存操作发生,然后另一个节点才能安全加入。
除此之外,没有一个节点的运行时间超过20天,因此在实例上设置了最大实例年龄,我使用生命周期挂钩来优雅地终止实例,但我需要实现的是,当每个节点达到20天时,它不会开始其生命周期挂钩终止,直到其替换节点运行为止。
我正在努力确定我可以在多大程度上依赖ASG,以及我应该向ASG外部的自动化部门(例如Lambda(提供多少。
感谢任何建议,
最大实例生存期不会一次替换ASG中超过10%的实例(因此,在您的情况下,一次替换的实例永远不会超过1个(:https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-max-instance-lifetime.html
对于最初的启动,如果是一次启动,你可以手动每隔几分钟增加一次,或者让启动脚本一次增加一个,中间有一个睡眠(步骤功能可能很好(