Необходим ли шлюз NAT при настройке шлюза API AWS?

#amazon-web-services #aws-lambda #aws-api-gateway #amazon-vpc #nat

Вопрос:

Я настроил функцию API Gateway с lambda помощью функции. lambda Функция находится в VPC с частными подсетями. Я также подключил интернет-шлюз к VPC с таблицей маршрутов, которая направляет весь трафик на интернет-шлюз. Насколько я понимаю, я все равно не смогу получить доступ ни к одной из конечных точек API, поскольку функция lambda находится в частной подсети и нуждается в шлюзе NAT между интернет-шлюзом и частными подсетями.

Однако с группой безопасности, назначенной lambda функции, разрешающей входящий трафик, я могу получить доступ ко всем конечным точкам.

Комментарии:

1. Какие «конечные точки API» вы упоминаете? Вы имеете в виду возможность подключения к сервисам AWS, таким как Amazon S3? Кроме того, вы говорите, что VPC содержит только частные подсети, но подключение интернет-шлюза и обновление таблицы маршрутов для его использования превратят эти подсети в общедоступные подсети. Или это были разные подсети, к которым(к которым) прикреплена лямбда-функция? Входящие правила для группы безопасности не будут использоваться функцией Lambda, поскольку она не получает запросы по сети, или вы имели в виду Исходящие правила?

2. Шлюз NAT нужен только в том случае, если функции Lambda необходимо выполнять вызовы API из VPC, например, для доступа к чему-либо в Интернете. Шлюзы NAT предназначены для исходящих соединений, они вообще не используются для входящих соединений. Кроме того, входящие правила в группе безопасности лямбда-функции бессмысленны, они вообще не используются, поскольку лямбда-функции вообще не принимают входящие сетевые запросы, шлюз API принимает входящий сетевой запрос, а затем вызывает лямбда-функцию с данными запроса.

Ответ №1:

Шлюзы API используются для входящей связи, в то время как шлюз NAT используется для исходящей связи.

Следовательно, для входящего трафика, как только вы настроите маршрутизацию шлюза API на lambda с соответствующей политикой безопасности, вы сможете получить доступ к api.

Для исходящей связи вашей частной службе необходимо получить доступ к шлюзу NAT, который будет направлять трафик на интернет-шлюз и далее в Интернет.