Правило Cloudwatch, запускаемое в веб-интерфейсе созданных экземпляров? - PullRequest
0 голосов
/ 11 октября 2019

У меня есть лямбда-функция, которая помечает экземпляры после их создания. Я использовал следующее правило, чтобы вызвать это.

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

Однако это правило срабатывает только на экземплярах, созданных API, а не на экземплярах, созданных через консоль веб-интерфейса. Как я могу создать правило, которое срабатывает при создании нового экземпляра из любого источника?

1 Ответ

1 голос
/ 12 октября 2019

Я проверил ваш сценарий, выполнив следующие действия:

  • Создал функцию AWS Lambda для регистрации содержимого event, переданного функции
  • Создание событий Amazon CloudWatchправило для запуска функции Lambda на RunInstances (как показано выше)
  • Запуск экземпляра EC2 с помощью интерфейса командной строки AWS - Функция Lambda сработала
  • Запуск экземпляра EC2 с помощьюКонсоль управления EC2 - сработала функция Lambda

Таким образом, функция Lambda сработала при запуске экземпляра через интерфейс командной строки AWS и консоль управления.

Функция лямбда была:

import json

def lambda_handler(event, context):

    print (event)
    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }
...