AWS — требуется шлюз NAT, несмотря на PrivateLink

Контекст:

У меня есть следующая настройка сети (упрощенная) для запуска лямбды в VPC:

  • Общедоступная подсеть с IGW и NAT
  • Частная подсеть, в которой выполняется моя лямбда
  • Конечная точка S3 VPC для доступа к корзине S3

Я могу выполнить лямбду в своем VPC и наблюдать за правильным поведением. Я могу получить доступ к общедоступному Интернету, и звонки выполняются с помощью EIP моего NAT.

Я использую лямбду для вызова Snowflake DWH и могу правильно внести в белый список свои лямбда-IP-адреса.

Теперь я настроил PrivateLink между моим VPC и Snowflake VPC. Различные отдельные шаги (настройка интерфейса VPC, Hosted Zone, CNAMES) работают.

Если я выполняю вызовы с выделенным URL-адресом PrivateLink через мою Lambda, я правильно вижу вызовы, выполняемые из диапазона IP-адресов CIDR моего VPC.

Проблема:

Похоже, что NAT все же нужен для работы лямбды. Если я удалю его, лямбда начнет тайм-аут. Я не понимаю почему. У меня нет общедоступных интернет-вызовов, выполняемых моей лямбдой. Только вызов Snowflake и S3, у которых теперь настроены конечные точки VPC. Как уже упоминалось, я вижу, что звонки выполняются из ожидаемых диапазонов IP-адресов.

Я предполагал (подкрепленный документацией и общим обоснованием использования PrivateLink), что NAT больше не нужен после успешного установления PrivateLink между VPC.

Вопрос:

Кто-нибудь может подтвердить: NAT больше не нужен? Может ли кто-нибудь предложить гипотезу, почему в моем случае это может работать не так, как ожидалось?

Я просмотрел рекомендации по настройке несколько раз, и все, кажется, сделано правильно. Как уже упоминалось, кажется, что вызов идет по правильному маршруту, но мне все же хотелось бы понять, почему поведение NAT отличается от ожидаемого.

0 ответов

Другие вопросы по тегам