2016-11-23 2 views
2

Экземпляр RDS не находится на VPC (Classic); он связан с группой безопасности с надбавками к некоторым группам CIDR/IP и EC2.AWS Лямбда-доступ к RDS вне VPC

Я хочу создать функцию AWS Lambda, которая будет выполнять некоторые инструкции SQL в этой базе данных, а также делать запросы к экземпляру EC2, находящемуся в той же группе безопасности. Можно ли позволить Лямбде получить доступ к этой базе данных?

+1

Не могли бы вы исправить ваш вопрос, чтобы предоставить более подробную информацию? Вы говорите, что у вас есть экземпляр RDS Amazon, который находится в частной подсети в другом VPC? Желает ли ваша функция AWS Lambda запускать некоторый SQL в базе данных RDS? Любое разъяснение поможет нам ответить на ваш вопрос. Спасибо! –

+0

@JohnRotenstein Выполнено, пожалуйста, дайте мне знать, если это достаточно ясно. Благодарю. – ftkg

ответ

5

У вас есть два варианта:

1) лямбда-функция вне VPC: Установка RDS на «ОБЩЕДОСТУПНЫЙ» и в группе безопасности позволяет получить доступ отовсюду (поскольку множество Lambda IP-адреса не известно).

2) Лямбда-функция внутри VPC: разрешить доступ к RDS из всех IP-адресов в VPC, потому что функция Lambda получит IP-адрес из доступных в VPC. Остерегайтесь: если функция Lambda выполняется несколько раз параллельно, ваш VPC может закончиться из-за IP-адресов, что приведет к сбою функции Lambda.

+1

Примечание. Простое создание Lambda для работы внутри VPC запретит Лямбде получать доступ к ресурсам вне VPC (включая другие ресурсы AWS, такие как S3). Чтобы обеспечить доступ к обоим, следуйте этим инструкциям, они были спасателями. https://gist.github.com/reggi/dc5f2620b7b4f515e68e46255ac042a7 – Brooks

+0

Какое обходное решение для случая 2 (VPC заканчивается из IP-адресов)? – ftkg

+0

@ftkg Не существует обходного пути. Ваши варианты - попросить AWS для большего количества IP-адресов или переместить функцию Lambda вне VPC. – Digitalkapitaen

Смежные вопросы