当 CPU 低于特定水平时停止(而不是终止)EC2 实例
Stop (not terminate) an EC2 Instance when CPU drops below certain level
我已经 运行.. 从 Ubuntu AMI 创建了两台服务器(上面有我的应用程序)。
在使用自动缩放时,它使用 AMI 启动新实例。
我可以使用自动缩放来仅停止实例(而不是终止;这样我以后启动服务器时就不需要 AMI 了)吗?每当 CPU 增加超过 x% !
时,稍后启动实例(我已经停止的旧实例)
如果不自动缩放;我也可以接受任何其他解决方案。我可以使用 Cloudwatch 停止实例,但如何重新启动它?
目前无法使用 AutoScaling 停止实例。 AutoScaling 只能根据 CloudWatch 警报等启动新实例和终止实例
要执行您想要的操作,您需要停止使用 AutoScaling 并使用另一个 "worker" EC2 实例来替换 AutoScaling。该 "worker" 实例需要 运行 24/7,它将监控您其他 EC2 实例的 CPU 并适当地启动和停止它们。
我认为您可以通过以下方式做到这一点:
- CloudWatch 指标:记录 CPU 使用情况
- CloudWatch 警报:CPU 指标达到 above/below 时发出警报
一些阈值
- SNS主题:触发CloudWatch警报时发送通知
- Lambda 函数:由 SNS 调用到 stop/start 相关的 EC2 实例
查看Scaling ECS article which is similar and Invoking Lambda from SNS。
AutoScaling 做不到。您可以禁用 AutoScaling 并使用 CloudWatch trigger some Lambda 功能来 start/stop 您的实例。
我已经 运行.. 从 Ubuntu AMI 创建了两台服务器(上面有我的应用程序)。 在使用自动缩放时,它使用 AMI 启动新实例。
我可以使用自动缩放来仅停止实例(而不是终止;这样我以后启动服务器时就不需要 AMI 了)吗?每当 CPU 增加超过 x% !
时,稍后启动实例(我已经停止的旧实例)如果不自动缩放;我也可以接受任何其他解决方案。我可以使用 Cloudwatch 停止实例,但如何重新启动它?
目前无法使用 AutoScaling 停止实例。 AutoScaling 只能根据 CloudWatch 警报等启动新实例和终止实例
要执行您想要的操作,您需要停止使用 AutoScaling 并使用另一个 "worker" EC2 实例来替换 AutoScaling。该 "worker" 实例需要 运行 24/7,它将监控您其他 EC2 实例的 CPU 并适当地启动和停止它们。
我认为您可以通过以下方式做到这一点:
- CloudWatch 指标:记录 CPU 使用情况
- CloudWatch 警报:CPU 指标达到 above/below 时发出警报 一些阈值
- SNS主题:触发CloudWatch警报时发送通知
- Lambda 函数:由 SNS 调用到 stop/start 相关的 EC2 实例
查看Scaling ECS article which is similar and Invoking Lambda from SNS。
AutoScaling 做不到。您可以禁用 AutoScaling 并使用 CloudWatch trigger some Lambda 功能来 start/stop 您的实例。