Есть ли способ запустить код внутри EC2 из Lambda? - PullRequest
0 голосов
/ 07 мая 2019

Требования:

  1. Отправка почты через SMTP (только через SMTP по определенной причине) пользователю, который читает событие "RunInstances" из cloud-trail.
  2. Поскольку SMTP-код не работает с лямбдой, мне придется хранить внутри EC2 и запускать его через лямбду.

Ответы [ 2 ]

1 голос
/ 08 мая 2019

Есть несколько вариантов:

  1. Использовать SQS: используйте Lambda для отправки сообщений в SQS, добавьте работников в EC2 для использования сообщений.

  2. Создайте сервер в EC2, который прослушивает трафик от порта, например: 80. Используйте Lambda для отправки HTTP-запросов на сервер EC2.

  3. (не рекомендуется для этого случая): используйте шаг с функцией Activity Activity. Лямбда для вызова функции шага, передает ввод, который является содержимым электронной почты. Функция шага запустится и создаст действие. В этом случае в экземпляре EC2 будет реализован рабочий, который хранит операции опроса из функции Step.

1 голос
/ 08 мая 2019

Похоже, ваша проблема в том, что у вас есть функция AWS Lambda, которая отправляет электронное письмо разным людям при создании экземпляра.Однако ваша лямбда-функция не может связаться с вашим SMTP-сервером.

Вместо того, чтобы создавать сложный обходной путь с помощью Amazon EC2, я бы рекомендовал использовать Amazon SES в качестве SMTP-сервера для отправкиэлектронные письма.

Я бы также рекомендовал использовать Amazon CloudWatch Events для запуска функции AWS Lambda вместо поиска RunInstances в следе CloudTrail.

Дляпример см .: Уведомление по электронной почте через SNS и Lambda

...