Вопрос:

AWS объединяет общедоступные RDS с Lambdas, выходящими в Интернет?

amazon-web-services aws-lambda amazon-rds nat vpc

451 просмотра

3 ответа

705 Репутация автора

У меня есть VPC с 3 частными и одной общедоступной подсетями. В 3 частных подсетях я размещаю функции RDS и Lambda. В общедоступной подсети я размещаю шлюз NAT. 3 частные подсети указывают через таблицу маршрутизации на шлюз NAT. В рамках этой настройки мои функции Lambda успешно обмениваются данными с моим RDS и Интернетом , но я не могу получить доступ к RDS с моего домашнего компьютера, поскольку NAT блокирует внешний доступ к VPC. Мой вопрос сейчас:

Как я могу позволить функциям Lambda получить доступ к RDS в VPC и одновременно сделать RDS общедоступным с моего компьютера?

PS: до сих пор мне всегда приходилось вручную менять маршрутизацию моих 3-х частных подсетей на IGW, чтобы сделать RDS доступным.

Автор: Knowledge Источник Размещён: 12.11.2017 08:08

Ответы (3)


1 плюс

23774 Репутация автора

Вам нужно создать Bastion Host в вашей общедоступной подсети. Хост Bastion обеспечивает подключение из общедоступного Интернета к вашим частным подсетям VPC.

Общий хост Bastion для AWS - OpenVPN. Вы можете найти предварительно сконфигурированные AMI на AWS Marketplace.

Безопасность AWS: хост Bastion, экземпляры NAT и пиринг VPC

OpenVPN

Автор: John Hanley Размещён: 12.11.2017 01:15

2 плюса

110528 Репутация автора

Решение

Сначала уточнение: NAT не блокирует внешний доступ к VPC. Шлюз NAT просто обеспечивает доступ в Интернет к ресурсам вашего VPC, которые не имеют общедоступных IP-адресов. NAT не имеет отношения к вашей возможности внешнего доступа к VPC. На самом деле вы еще ничего не сделали, чтобы разрешить внешний доступ.

У вас есть следующие опции для внешнего доступа к вашему экземпляру RDS:

  • Добавьте VPN-сервер к вашему VPC в общедоступной подсети, что позволит вам подключиться к RDS-серверу после установления VPN-соединения.
  • Переместите сервер RDS в общедоступную подсеть и включите флаг «общедоступный», который позволит вам напрямую подключаться к серверу RDS.
  • Создайте хост Linux Bastion в общедоступной подсети, который позволит вам подключаться к серверу RDS через переадресацию порта SSH.

В любом из этих сценариев, пока функция Lambda и экземпляр RDS находятся в одном и том же VPC, функция Lambda будет иметь доступ к экземпляру RDS. И пока функция Lambda остается в частной подсети с шлюзом NAT, она будет иметь доступ в Интернет.

Автор: Mark B Размещён: 12.11.2017 02:08

0 плюса

143 Репутация автора

На gist.github есть руководство пользователя reggiпод названием « Как настроить лямбда-функцию AWS для связи с Интернетом и VPC» . Руководство проведет вас через шаги по настройке AWS Lambda для общения с Интернетом и VPC.

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

Чтобы позволить лямбдам иметь доступ к Интернету, доступ к RDS и сделать RDS общедоступным (возможно, в пределах определенного диапазона IP-адресов - т.е. вашего статического IP-адреса), группа подсетей вашей RDS должна содержать только общедоступные подсети; это подсети с таблицей маршрутов, которая указывает 0.0.0.0/0 на IGW, который подключен к вашему VPC. Вы должны создать группу подсетей в Amazon RDS> Группы подсетей, которая содержит общедоступные подсети, а затем запустить экземпляр RDS с этой новой группой подсетей (или настроить текущую систему в соответствии с этими спецификациями).

https://gist.github.com/reggi/dc5f2620b7b4f515e68e46255ac042a7

Автор: Alexander Collins Размещён: 25.06.2018 05:46
Вопросы из категории :
32x32