Назад | Перейти на главную страницу

Как управлять оповещениями AWS CloudWatch для каждого экземпляра для экземпляров, созданных с помощью Auto Scaling?

Я установил в CloudWatch сигнализацию CPUUtilization для каждого экземпляра, для которой, похоже, требуется идентификатор экземпляра.

  1. Как добавить сигнал тревоги для экземпляров, созданных с автоматическим масштабированием? Я бы не знал ни идентификатора экземпляра, ни даже того, что экземпляр был создан.

  2. Если я создаю аларм для экземпляра после его создания, когда экземпляр завершается, аварийный сигнал остается с «НЕДОСТАТОЧНЫМИ ДАННЫМИ».

Вы можете вызвать функцию Lambda через правила событий CloudWatch для управления сигналами тревоги.

Создайте правило события для следующих событий автомасштабирования:

  • RunInstances
  • TerminateInstances

Зарегистрируйте свою лямбда-функцию в качестве цели для этих событий, которая извлекает InstanceId (s) из данных события и соответственно создает или удаляет сигналы тревоги.

Ниже приведен пример описания правила события для события RunInstances.

{
"source": [
    "aws.ec2"
],
"detail-type": [
    "AWS API Call via CloudTrail"
],
"detail": {
    "eventSource": [
        "ec2.amazonaws.com"
    ],
    "eventName": [
        "RunInstances"
    ],
    "userAgent": [
        "autoscaling.amazonaws.com"
    ]
  }
}

Также можно использовать Крючки жизненного цикла, но события CloudWatch больше подходят для этого варианта использования.