Слушатель веб-хука в AWS Lambda - PullRequest
       23

Слушатель веб-хука в AWS Lambda

0 голосов
/ 18 февраля 2019

Я пишу простую систему мониторинга для одной из наших существующих производственных систем.Контролируемая система является шлюзом SMPP.Основным требованием является отправка сообщения на шлюз SMPP с заданной частотой и получение сообщения через веб-ловушку.Это необходимо для обеспечения того, чтобы шлюз SMPP функционировал так, как ожидалось, иначе сработают сообщения электронной почты.

Это поток моей программы:

  • Подключение к SMPP-шлюзу
  • Запуск прослушивателя веб-хука на новом потоке (сервере)
  • Отправьте тестовое сообщение
  • Прослушайте входящие веб-хуки и уведомите родительский поток с помощью событий
  • Если веб-хук сообщения был получен, выйдите изящно, иначе вызовите тревогу по электронной почте.

Я внедрил эту систему в AWS Lambda и назначил эластичный IP, поместив функцию Lambda в VPC.Я могу отправить сообщение на шлюз SMPP, и шлюз пытается ответить через веб-ловушку.Но, к сожалению, сервер не может связаться с прослушивателем веб-хука через указанный эластичный IP.Я искал и понял, что одним из способов реализации прослушивателя веб-ловушек в AWS Lambda является использование триггера API-шлюза.Это не используется, потому что это не гарантирует, что тот же экземпляр Lambda, который отправил сообщение через SMPP, получит запрос веб-ловушки.

Итак, мой вопрос: возможно ли запустить прослушиватель веб-хука в AWS Lambda и получать запросы через подключенный эластичный IP-адрес?

1 Ответ

0 голосов
/ 18 февраля 2019

Нет, в AWS Lambda невозможно запустить прослушиватель веб-ловушек и получать запросы через подключенный эластичный IP-адрес.

Лямбда-функции внутри VPC отправляют исходящие запросы в Интернет, используя Elastic IP, подключенный кNAT-шлюз через ENI, связанный с хостом контейнера.Ни ENI, ни EIP не связаны исключительно с одним лямбда-вызовом.Лямбда-функциям технически разрешено прослушивать входящие соединения ... но они никогда не будут поступать через ENI, и шлюз NAT также специально разработан, чтобы не позволять соединениям, инициированным извне, возвращаться обратно. Таким образом, есть по крайней мере дваслои дизайна, которые препятствуют тому, что вы пытаетесь сделать таким образом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...