Тайм-аут при соединении AWS лямбда и базы данных RDS - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть простое веб-приложение .Net core 2.1, которое я развернул на AWS lambda.Приложение общается с базой данных RDS PostGres.Веб-приложение может подключаться к базе данных RDS PostGres из моего локального ящика, но это же время ожидания подключения того же приложения к базе данных RDS в рабочем состоянии.

Чего мне не хватает?

Конфигурация лямбды ASP.Net 2.1: Лямбда имеет роль выполнения, которая имеет политику со всеми правами на все ресурсы RDS.enter image description here enter image description here

IAM: enter image description here

RDS => вкладка «Подключение и безопасность»: enter image description here enter image description here

Журналы CloudWatch: Нажатие на лямбда-функцию => Вкладка «Мониторинг» => просмотр журналов в журналах cloudwatch показывает следующую ошибку: enter image description here

1 Ответ

2 голосов
/ 20 апреля 2019

Похоже, что группа безопасности вашей RDS разрешает входящие соединения только с 1 определенного IP, 76.187.198.247.

Это будет работать ТОЛЬКО в том случае, если ваша лямбда находится в подсети (которой она не является), связанной с эластичным IP, и этот эластичный IP является входящим адресом для вашей группы безопасности RDS.

Лямбды НЕ привязаны к конкретному оборудованию, и IP будет меняться каждый раз, поэтому вы будете блокировать входящее соединение с SG.

Тем не менее, этот эластичный IP-адрес является ненужной стоимостью в этом случае, есть лучший способ сделать это:

1) создать подсеть, в которой будет инициализироваться лямбда, 2) и затем в настройках лямбды выберите запуск в VPC (тот же, что и у экземпляра RDS) и 3) выберите эти подсети (наилучшая практика -> 2 в случае отключения AZ) 4) изменить настройки группы безопасности RDS, чтобы разрешить входящий трафик из лямбда-подсетей в

...