Публичный IP-адрес для AWS API Gateway & Lambda (без VPC) - PullRequest
0 голосов
/ 15 февраля 2019

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

Я просматривал страницу IP-адреса AWS (ниже), однако естьнет явного упоминания ни API-шлюза, ни Lambda.

https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html#filter-json-file

Кто-нибудь сталкивался с этим раньше и нашел решение для этого.Для целей данного решения я не могу поместить API Gateway & Lambdas в VPC.

Любая помощь будет принята с благодарностью!

1 Ответ

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

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

Первое, что я бы сказал, - не используйте белый список IP-адресов;используйте вместо этого аутентифицированные запросы API.

Если это невозможно, используйте VPC - создайте NAT с Elastic IP, запустите Lambda в этот VPC и направьте весь свой исходящий трафик через NAT.Затем внесите белый список Elastic IP NAT на удаленный сервер API.Примеры здесь и здесь .

Я знаю, что вы сказали, что «не можете поместить [...] лямбды в VPC», но если нет, тогдаВы не можете контролировать исходящий IP-адрес.

...