Можно ли запустить экземпляр RDS без VPC?

Я пытаюсь вставить записи в базу данных Postgres в RDS с помощью функции Lambda. Моя лямбда-функция Node.js работает правильно при локальном запуске, но время соединения с базой данных истекает при запуске в AWS.

Я прочитал несколько статей и учебных пособий, которые предполагают, что функции AWS Lambda не могут получить доступ к экземплярам RDS, которые находятся в VPC. Например: http://ashiina.github.io/2015/01/amazon-lambda-first-impression/

К несчастью; кажется, я не могу создать экземпляр RDS, который существует за пределами VPC. В этом выпадающем списке я ожидал, что смогу выбрать опцию "Нет VPC" или что-то в этом роде.

Эта опция была удалена? Возможно, я пропустил шаг?

3 ответа

Решение

Вы можете создать общедоступный экземпляр RDS. Тогда вы сможете получить к нему доступ откуда угодно, внутри или снаружи AWS. Я верю, что это обойдет твою проблему с лямбдой. Вас спросят, должны ли экземпляры быть общедоступными, когда вы создаете новый экземпляр RDS через веб-консоль.

Или вы можете просто подождать несколько недель, поскольку предполагается, что Lambda в VPC будет включена "в этом году".

Изменить: Обратите внимание, что новые учетные записи Amazon ограничены только ресурсами VPC. Вы больше не можете создавать экземпляры EC2 или RDS вне VPC. Вот почему вы больше не видите опцию "No VPC".

Второе редактирование: доступ к VPC для лямбда-функций теперь доступен в общем.

Этот вопрос задан некоторое время назад, но для тех из вас, кто использует MySQL, теперь вы можете подключить AWS Lambda к Aurora Serverless без VPC, используя их новый API данных. Взгляните на этот пример для получения подробной информации https://web.archive.org/web/20190605174625/https://coderecipe.ai/architectures/77374273

Делать базу данных общедоступной — не лучшая практика. Вместо этого вы можете создать конечную точку интерфейса VPC (https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc-endpoints.html) и использовать ее при создании функции Lambda.

В этом видео YT хорошо описано, что нужно для его настройки: https://www.youtube.com/watch?v=beV1AYyhgYA&ab_channel=DigitalCloudTraining .

В видеоролике Lambda создает для вас конечную точку VCP (после того, как вы предоставите ей необходимое разрешение), но обратите внимание, что можно повторно использовать существующую конечную точку VPC в вашей учетной записи AWS.

Конечная точка VPC — это интерфейс вашего VPC, который позволяет Lambda взаимодействовать с вашими частными ресурсами, используя их частный IP-адрес. Вам необходимо поместить конечную точку в подсети VPC и прикрепить соответствующие группы безопасности, которые разрешают трафик к нужному экземпляру базы данных.

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