当一些硬件消耗指标达到一定水平时,我不想杀死一个特定的实例。 如果我为缩放组创build了一个警报(例如,设置最大cpu消耗阈值> = 50),它会杀死最老的实例 – 而不是那个行为不当的实例。 杀死特定实例的一种方法是为实例创build一个警报,而不是为缩放组创build警报。 但是,如果我启动一个新的实例(自动缩放),这个新的实例将不会有警报。
有没有办法用预先configuration的ec2级别警报启动实例?
Cloudformation的AWS :: CloudWatch :: Alarm可用于设置机器特定的警报。 它与自动缩放,ELB和EC2实例结合得非常好。 这是一个与自动缩放组一起使用的片段。 也许有人可以build议一个编辑来给出一个EC2特定的例子。
"appCPUAlarmHigh": { "Type": "AWS::CloudWatch::Alarm", "Properties": { "EvaluationPeriods": "7", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": { "Ref": "appServerGroup" } } ], "AlarmActions": [ { "Ref": "appStatusTopic" } ], "AlarmDescription": "Notify if CPU high for > 7m", "Namespace": "AWS/EC2", "Period": "60", "ComparisonOperator": "GreaterThanThreshold", "Statistic": "Average", "Threshold": "50", "MetricName": "CPUUtilization" } },
否则,您可以使用Cloudinit和mon-enable-alarm-actions来执行某些操作 。 或OpsWorks使用,呃,我不知道。