отправлять https с AWS lambda на серверы эластичных beanstalk AWS

Я изо всех сил пытаюсь включить лямбду AWS для отправки HTTPS-запросов POST в службу Elastic Beanstalk AWS. Эластичный beanstalk предоставляет веб-сервисы и веб-сервисы и прекрасно работает. Лямбда выполняет некоторые вычисления с AWS elasticache (работает хорошо), а затем решает, отправлять ли HTTPS POST на URL-адрес beanstalk.

Лямбда записывается с помощью node.js. Примерно через 2 минуты после попытки POST я получаю этот тайм-аут:

[Error: connect ETIMEDOUT X.Y.Z.W:443] code: 'ETIMEDOUT', errno: 'ETIMEDOUT', syscall: 'connect', address: 'X.Y.Z.W', port: 443 

Я не вижу признаков запроса в журнале доступа к эластичному компоненту nginx.

Насколько я понимаю, группы безопасности настроены неправильно.

Я исключил вариант, что эластичный бобовый стебель предотвращает такие подключения. Лямбда использует URL-адрес с внешним доменным именем, которое можно использовать в любом браузере, и это работает нормально.

Итак, я пришел к выводу, что лямбда-безопасность предотвращает это соединение. Итак, я полностью открыл группу безопасности лямбда для «Всего трафика» из любого места — и у меня все еще есть эта проблема.

Любые идеи?


person drorsun    schedule 11.09.2016    source источник


Ответы (1)


Вы используете функцию Lambda в своем VPC, которая требуется для доступа к вашим серверам ElastiCache. Однако, как только вы поместите функцию Lambda в VPC, у нее больше не будет доступа ни к чему за пределами VPC. Вы пытаетесь попасть на сервер Elastic Beanstalk через общедоступный (интернет) адрес, к которому функция Lambda не имеет доступа. Таким образом, вы получаете тайм-ауты сетевого подключения.

Вам необходимо настроить функцию Lambda для доступа к сервису через внутренний адрес VPC. И вам нужно настроить свою группу безопасности Elastic Beanstalk, чтобы разрешить доступ из группы безопасности Lambda (если вы еще этого не сделали).

В качестве альтернативы вы можете добавить NAT Gateway в свое VPC, что даст вашей функции Lambda доступ к ресурсам за пределами VPC.

person Mark B    schedule 11.09.2016