#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