【问题标题】:AWS CloudWatch Alarms to multiple EC2 instances多个 EC2 实例的 AWS CloudWatch 警报
【发布时间】:2014-02-14 06:38:02
【问题描述】:

我想应用 CloudWatch 警报来停止未在我们的预生产环境中使用的实例。我们经常有实例被启动、使用然后打开,这真的开始花费我们相当多的钱。

CloudWatch 警报有一个方便的功能,我们可以根据一些指标停止 - 这太棒了,我想用它来持续关注服务器,但让它为我整理实例。

问题在于,CloudWatch 警报似乎需要针对每个实例单独创建。有没有一种方法可以创建一个警报,该警报将在所有将要启动的当前和未来实例之间共享值?

ETA - 或者,告诉我这些选项比 CloudWatch 更好,我会很高兴的。

AWS EC2 stop all through PowerShell/CMD tools

【问题讨论】:

标签: amazon-web-services amazon-ec2 amazon-cloudwatch


【解决方案1】:

将创建 CloudWatch 警报的启动脚本添加到用于生成 VM 的基本映像。

http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/CLIReference.html

【讨论】:

  • -1。您的解决方案仍然会为每个实例创建一个警报,这不是 OP 想要的。这就是这个问题的本质。如何为给定指标创建一个警报并将其应用于多个实例。
  • 这可行。我认为我应该接受 CloudWatch 不能在整体“分组”基础上工作的事实,但如果我可以应用启动脚本并与我用来针对自身创建 CloudWatch 警报的 AMI 配合使用,这克服了大部分障碍。我不想单独执行此操作的唯一方法是手动完成。
【解决方案2】:

我不相信这是可能的 - CloudWatch 似乎被设计为“非常手动”或“非常自动化”。即,您不能设置一个警报,如果任何一个实例空闲,它就会响起,您必须为每个实例设置单独的警报。

几个可能的解决方案,可能不是你想听到的:

  1. 编写实例创建脚本,并添加对 cloudwatch 的调用以为每个实例创建警报。
  2. 持续运行服务,该服务查找实例并检查以确保该实例有警报,为新实例创建警报,并为已终止的实例删除警报。

【讨论】:

    【解决方案3】:

    我认为您真正想要的是自动缩放:

    https://aws.amazon.com/documentation/autoscaling/

    【讨论】:

    • 不,我们不是。实例的本质是它们用于临时的特定任务(主要是不同的代码库),因此自动缩放不会有好处。
    • 可能会将您的关机行为设置为 Terminate 并让您在完成后发出关机任务
    • 我可以看到逻辑,但它们通常不用于单个任务。有时它们会被使用几天,有时它们会被使用 10 分钟。这是一个完全灵活的环境,这就是为什么我发现我的第一个问题的“全部停止”选项不足并收到投诉!
    • 如何判断一个节点可以退役?
    • 这将由有一段时间不活动的节点决定。我确定的 CloudWatch 指标是 CPUUtilization。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-13
    相关资源
    最近更新 更多