Не удается получить доступ к Интернету внутри стандартного AWS VPC из Lambda

#amazon-web-services #serverless-framework #serverless #amazon-vpc #aws-serverless

Вопрос:

Привет, я разрабатываю бессерверное приложение AWS, VPC по умолчанию, которое имеет подсети, подключенные к интернет-шлюзу. Я настроил свою лямбда — функцию внутри VPC по умолчанию. Я ожидаю, что у лямбды будет подключение к Интернету, так как подсети подключены к интернет-шлюзу. Но, к сожалению, функция lambda не имеет доступа в Интернет. Может ли кто-нибудь помочь в доступе в Интернет с помощью лямбды в этом сценарии

Ответ №1:

Во default VPC всех подсетях являются общедоступными. Это означает, что даже если у вас есть NAT, ваша лямбда не будет работать. Чтобы это сработало , вам необходимо создать в своей частной подсети default VPC , настроить таблицы маршрутизации в NAT, расположенные в общедоступной подсети, а затем поместить свою функцию в частную подсеть.

Ответ №2:

Вы можете предоставить своему VPC-лямбда-доступу для подключения к Интернету с помощью конечных точек VPC или шлюза NAT, как у вас настроено, и также описано здесь (https://aws.amazon.com/premiumsupport/knowledge-center/internet-access-lambda-function/). Однако это дает вашему лямбда-коду доступ к Интернету, он не работает в другом направлении, т. Е. предоставьте Лямбда-коду доступ со стороны Интернета к вашей Лямбде. Для этого вам нужно использовать шлюз API, который поддерживает его и т. Д.