Как выбрать эластичный IP-адрес при выполнении моей функции aws lambda

#amazon-web-services #amazon-ec2 #aws-lambda #elastic-ip

#amazon-веб-сервисы #amazon-ec2 #aws-lambda #эластичный-ip

Вопрос:

Я хочу выбрать конкретный эластичный IP-адрес самостоятельно, когда выполняется моя лямбда-функция.

моя служба должна реагировать на несколько ситуаций и по атрибутам пользователя. Могу ли я написать код в лямбда-функции, который может выбирать конкретный мой собственный эластичный IP-адрес?

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

Комментарии:

1. Что вы подразумеваете под «выбрать»? Приведите пример

2. Почему вы хотите это сделать? Большинство вариантов использования для людей, желающих использовать несколько общедоступных IP-адресов, — это выполнить очистку от веб-сайтов, которые блокируют слишком много трафика, поступающего с данного IP-адреса. Мы не поддерживаем и не поощряем нарушение условий и положений веб-сайта.

Ответ №1:

Нет. Вы не можете связать эластичный IP-адрес (EIP) с функцией AWS Lambda.

Ну, на самом деле вы можете, но я бы не рекомендовал это. Когда лямбда-функция связана с VPC, она подключается через эластичный сетевой интерфейс (ENI). Можно подключить EIP к ENI. Это также предоставляет доступ к Интернету, если он подключен к общедоступной подсети.

Так зачем этого избегать? Потому что Lambda может создавать дополнительные ENI, особенно если функция Lambda часто вызывается и выполняется параллельно. Это означает, что у него не будет согласованного ENI.

Альтернативный метод:

  • Подключите функцию AWS Lambda к частной подсети
  • Поместите шлюз NAT в общедоступную подсеть
  • Свяжите эластичный IP-адрес со шлюзом NAT
  • Затем весь трафик от функции Lambda в Интернет будет поступать из EIP шлюза NAT (однако я не думаю, что вы можете изменить этот EIP)

Комментарии:

1. Можете ли вы предоставить ссылку на бесплатное решение? Подключение эластичного IP-адреса к лямбда-функции без использования шлюза NAT или экземпляра NAT

Ответ №2:

Глядя на ответ @John Rotenstein: для небольших систем с ограниченными вызовами одного и того же лямбда-выражения добавление EIP в ENI для лямбды может сработать — если вы поместите очередь перед лямбдой для обработки запросов и ограничите параллелизм лямбды до 1. Это дешевле, чем шлюз NAT (экономит около 30 долларов США) в месяц. Для больших систем это может не быть проблемой, и вам может потребоваться, чтобы параллелизм был больше одного — в этом случае шлюз NAT является единственным выходом.

Комментарии:

1. Можете ли вы предоставить ссылку на бесплатное решение? Подключение эластичного IP-адреса к лямбда-функции без использования шлюза NAT или экземпляра NAT