#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, который поддерживает его и т. Д.