【问题标题】:Terminate specific ec2 instance in an autoscaling group终止自动缩放组中的特定 ec2 实例
【发布时间】:2020-05-09 16:29:04
【问题描述】:

我已经根据 ASG 的组指标 cpuutilization 创建了 aws cloudwatch 警报。只要 cpuutilization 超过 99% 超过一个小时,它就会发送一封电子邮件警报电子邮件。

有没有办法执行一个事件/动作来终止触发警报的特定 ec2 实例?这些实例挂起并且必须终止。

【问题讨论】:

  • 不可能为 Auto Scaling 组编写一个警报,然后对特定实例执行操作。该操作只能与整个 Auto Scaling 组相关(例如向外扩展、向内扩展)。

标签: amazon-web-services amazon-ec2 aws-lambda


【解决方案1】:

我将创建一个额外的警报,该警报将终止任何达到 99% cpu 的实例一小时。 CloudWatch 直接支持这一点。

创建警报以停止、终止、重启或恢复实例:

使用 Amazon CloudWatch 警报操作,您可以创建自动停止、终止、重启或恢复您的 EC2 实例的警报。您可以使用重新启动和恢复操作来自动重新启动这些实例,或者在发生系统损坏时将它们恢复到新硬件上。

https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/UsingAlarmActions.html

【讨论】:

  • 这只适用于实例级别的告警,不适用于伸缩组
【解决方案2】:

我觉得可能的解决方案是编写 AWS Cli 脚本,该脚本可能每 15 分钟运行一次,并获取所有正在运行的 EC2 实例的列表,然后在需要时终止。此外,需要 ec2 的 w/c cpu 的历史信息为 100% 超过 45 分钟

【讨论】:

  • 是的,这是可能的,但这将在我感兴趣的 cloudwatch w/c 之外,从而最大限度地减少额外的故障点
猜你喜欢
  • 2016-03-09
  • 1970-01-01
  • 2017-03-17
  • 2021-04-20
  • 2018-12-09
  • 2016-04-19
  • 1970-01-01
  • 2015-03-18
  • 1970-01-01
相关资源
最近更新 更多