Почему AWS лямбда в VPC не может отправлять сообщения в SNS?

моя лямбда-функция может отправлять сообщения в SNS с помощью метода публикации без «VPC», но время ожидания истекает, когда я помещаю его в VPC, который имеет доступ к общедоступному Интернету с маршрутом и интернет-шлюзом.

отредактированный

У меня есть лямбда-сервер в общедоступной подсети, в которой 0.0.0.0/0 уже направлено на интернет-шлюз, поэтому я не могу перенаправить его снова в NAT. Можно ли назначить EIP лямбда-функции

Ответы на вопрос(1)

Решение Вопроса

NAT Gateway к вашему VPC для того, чтобы функции лямбды (и другие объекты в вашем VPC, которые не имеют общедоступного IP-адреса) имели доступ к чему-либо за пределами VPC. Вы должны прочитатьЧто нужно знать разделэто объявление AWS.

 Michael - sqlbot05 июл. 2016 г., 04:23
Вы не можете добавить функциональность NAT в общедоступную подсеть. По определению общедоступная подсеть использует Интернет-шлюз в качестве маршрута по умолчанию. Интерфейсы, использующие устройство NAT, должны находиться в частных подсетях. Сам шлюз или экземпляр NAT идет в общедоступную подсеть, а маршрут по умолчанию в частной подсети указывает на устройство NAT.
 Mark B04 июл. 2016 г., 18:25
Нет, вы должны использовать NAT, вы не можете назначить Elastic IP для функции Lambda. Как это будет работать, если одновременно может быть запущено много экземпляров лямбда-функции? Однако вы можете добавить NAT в свою общедоступную подсеть. Или вы можете добавить другую подсеть с NAT-шлюзом к вашему VPC и переместить функцию Lambda в эту подсеть.
 Hello lad04 июл. 2016 г., 18:20
Привет Марк , спасибо за ответ. Это все объясняет. Но у меня есть лямбда в общедоступной подсети, в которой 0.0.0.0/0 уже маршрутизирована к интернет-шлюзу, поэтому я не могу перенаправить ее снова в NAT. Можно ли назначить EIP лямбда-функции, чтобы решить эту проблему?

Ваш ответ на вопрос