Я запускаю службу в своем экземпляре EC2, и я хочу настроить входящее правило, которое позволяет моей лямбда-функции получить к ней доступ. Группа безопасности позволяет мне ограничивать доступ определенным IP-адресом, но я не думаю, что функции лямбда имеют определенный IP-адрес. Есть ли способ сделать то, что я хочу?
Входное правило группы безопасности AWS. разрешить лямбда-функцию
Ответ 1
Если вы разрешаете доступ к VPC для вашей функции Lambda, согласно это сообщение в блоге, вы создадите группу безопасности для ваших функций лямбда для использования в вашем VPC. Все, что вам нужно сделать в этот момент, - это войти в группу безопасности, которую использует экземпляр EC2, и предоставить доступ к группе безопасности, которую использует функция Lambda. Это рекомендуемый мной метод.
Если вы не используете доступ VPC, ваш экземпляр EC2 должен быть общедоступным, и вы, в основном, переходите через Интернет, чтобы получить доступ к экземпляру EC2 из функции Lambda. Если это случай, тогда нет хорошего способа ограничить это в группе безопасности. Вы могли (с трудом) открыть его только до тех пор, пока не возникнет в AWS, но это все равно оставит его открытым для всех других пользователей AWS. Если вы должны перейти через Интернет для доступа к вашему экземпляру EC2 из Lambda, лучше было бы отправить какой-то маркер безопасности с каждым запросом Lambda send и игнорировать любые запросы на сервере EC2, которые не содержат этот токен безопасности.
Ответ 2
Лямбда, не имеющая связи с VPC, будет находиться в Интернете и ей будет присвоен произвольный общедоступный IP-адрес (очевидно, с зарегистрированных IP-адресов Amazon), который не будет фиксированным адресом. Таким образом, практически невозможно внести в белый список, что IP в вашем EC2 SG, так как в следующий раз, когда Lambda раскручивает IP, может измениться и не будет предсказуемым.
Однако существует способ частично ограничить доступ к сети только к ресурсам, расположенным в VPC, включая лямбда-каналы (поскольку компоненты будут назначаться с внутренними IP-адресами). Допустим, вы хотите, чтобы сервер EC2 был доступен только из внутренней сети vpc, поэтому вы помещаете его во внутреннюю подсеть без назначенного ему публичного IP-адреса. Теперь вы можете настроить SG на EC2 так, чтобы он принимал IP только из диапазона CIDR внутренней подсети вашего VPC. Связав Lambda с этим VPC и поместив его в частную подсеть, Lambda получит произвольный IP-адрес из внутреннего диапазона CIDR вашего VPC, который, очевидно, попадает в диапазон SG, уже настроенный для вашего EC2 (если у вас будет много Lambda параллельно просто убедитесь, что у вас есть достаточное количество IP-адресов в пределах определенного вами диапазона CIDR).
Если вы хотите, чтобы ваши компоненты могли взаимодействовать внутри компании, вы также можете подключиться к Интернету, и вы можете добавить маршрутизатор NAT Gateway Routable к IGW, а затем добавите правило маршрутизации во внутренние подсети, чтобы указывать на шлюз NAT. Поэтому весь ваш компонент во внутренней подсети будет назначен таблицами маршрутизации, указывающими на NAT, а затем на Интернет.
Ответ 3
Вашему Lambda будет присвоен временный IP-адрес, когда он будет работать. Если вы сконфигурируете присоединенную к нему роль IAM, чтобы она могла разрешить/отменить вход в группу безопасности, вы можете сделать так, чтобы она "впустила себя" в вашу группу sec. В этой статье приведен пример добавления блока IP или CIDR в ваш список входящих сообщений. Я бы убрал это сразу, когда функция сделана.
Ответ 4
Пожалуйста, используйте следующую ссылку для настройки Lambda с VPC и группами безопасности. И убедитесь, что вы используете ТОЛЬКО частный IP-адрес EC2 при запуске из Lambda (программы).
1.) https://aws.amazon.com/blogs/aws/new-access-resources-in-a-vpc-from-your-lambda-functions/ 2.) https://docs.aws.amazon. ком/лямбда/последние/дг /vpc.html