Как запустить экземпляр EC2 с предварительно настроенным AWS Alarm
Я не хочу убивать конкретный случай, когда некоторые из его показателей потребления оборудования достигают определенного уровня. Если я создаю сигнал тревоги для масштабирующей группы (например, установив максимальный порог потребления процессора>=50), он убьет самый старый экземпляр, а не тот, который плохо себя ведет. Один из способов убить конкретный экземпляр - создать для него сигнал тревоги, а не создать его для группы масштабирования. Однако, если я запускаю новый экземпляр (с автоматическим масштабированием), у этого нового экземпляра не будет тревоги.
Есть ли способ запуска экземпляров с предварительно настроенными аварийными сигналами уровня ec2?
1 ответ
AWS::CloudWatch::Alarm от Cloudformation полезен для настройки машинно- зависимых сигналов тревоги. Это особенно здорово в сочетании с автомасштабированием, ELB и EC2. Вот фрагмент, используемый с группой автоматического масштабирования. Возможно, кто-то может предложить редактирование, чтобы привести пример для 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, использующий, я не знаю.