В настоящее время я являюсь частью группы, которая занимается последствиями развертывания более 300 функций AWS Lambda с Node.js вместо более традиционного REST API. Недавно я реализовал приложение, которое работает на экземплярах EC2 в VPC в частной подсети. Таким образом, сами лямбды, которые будут активно взаимодействовать с этим приложением, также помещаются в частные подсети в том же VPC. Экземпляры EC2 работают в 6 частных / 24 подсетях (по одной для каждой зоны доступности в нашем регионе). Лямбда-выражения имеют 6/20 частных подсетей, для работы в которых они настроены. Насколько я понимаю, каждый вызов лямбда-выражения будет выделять IP-адрес в одной из этих подсетей, что дает мне около 24 564 IP-адреса, прежде чем мы закончим.
Мои вопросы:
1) занимает ли лямбда IP-адрес только в течение того периода, когда он фактически работает, а затем IP-адрес освобождается? Если говорить более кратко, собираемся ли мы довольно быстро исчерпать IP-адреса, поскольку мы ожидаем очень скоро всплеска количества обращений? Я знаю, что могу просто выделить больше адресного пространства в VPC для лямбда-выражений, но будет ли это проблемой, которую мы постоянно преследуем?
2) Как я могу увидеть в консоли AWS или где-либо еще, сколько IP-адресов занято лямбдами?
ПРИМЕЧАНИЕ: я младший инженер DevOps, поэтому простите меня, если что-то неясно, и не стесняйтесь поправлять меня.
Эта страница говорит, сколько ENI требуется при использовании Lambda внутри VPC - это на подсеть
Если ваша функция Lambda обращается к VPC, вы должны убедиться, что ваш VPC имеет достаточную емкость ENI для поддержки требований масштабирования вашей функции Lambda. Вы можете использовать следующую формулу, чтобы приблизительно определить требования ENI.
Прогнозируемое пиковое количество одновременных выполнений * (память в ГБ / 3 ГБ)
Предположим, у вас есть 10 одновременных выполнений лямбды с выделенным 1 ГБ, то есть 10 x 1/3 = 3,33 или 4 ENI / частные IP-адреса. на подсеть. Если у вас есть 100 одновременных выполнений с выделенными 2 ГБ, это 80 ENI / частных IP-адресов на подсеть. Я не думаю, что есть какое-либо описание того, как часто создаются и удаляются ENI, и что детали реализации могут со временем измениться.
Вы можете посмотреть ENI в консоли или ENI API.
Lambda должна иметь разрешения на создание и удаление ENI в соответствии с этот вопрос.