Esgotamento do endereço IP para lambdas na VPC

4

Atualmente, faço parte de um grupo que está lidando com as repercussões da implantação de mais de 300 funções do AWS Lambda executando o Node.js no lugar de uma API REST mais tradicional. Recentemente, implementei um aplicativo que é executado em instâncias do EC2 em um VPC em uma sub-rede privada. Assim, os próprios Lambdas, que estarão se comunicando intensamente com este aplicativo, também são colocados em sub-redes privadas no mesmo VPC. As instâncias do EC2 são executadas em 6 sub-redes privadas / 24 (uma para cada zona de disponibilidade em nossa região). Os lambdas têm 6/20 sub-redes privadas nas quais estão configurados para serem executados. Pelo que entendi, cada chamada de um lambda alocará um endereço IP em uma dessas sub-redes, o que me dá cerca de 24.564 endereços IP antes que acabemos.

Minhas perguntas são:

1) um Lambda ocupa um endereço IP apenas durante o período em que ele está sendo executado e, em seguida, o endereço IP é liberado? Mais sucintamente, vamos acabar com os endereços IP rapidamente, já que esperamos um aumento nas invocações muito em breve? Eu sei que posso apenas alocar mais espaço de endereço no VPC para o lambdas, mas será este um problema que estamos perseguindo continuamente?

2) Como posso ver no console da AWS ou em outros lugares quantos endereços IP estão sendo ocupados por lambdas?

NOTA: Eu sou um engenheiro júnior de DevOps, então me perdoe se algo não estiver claro e sinta-se à vontade para me corrigir

    
por SirCapsLock 18.10.2018 / 23:25

1 resposta

3

Esta página diz quantas ENIs são necessárias ao usar o Lambda dentro de um VPC - isso é por sub-rede

If your Lambda function accesses a VPC, you must make sure that your VPC has sufficient ENI capacity to support the scale requirements of your Lambda function. You can use the following formula to approximately determine the ENI requirements.

Projected peak concurrent executions * (Memory in GB / 3GB)

Digamos que você tenha 10 execuções simultâneas de um lambda com 1 GB alocado, ou seja, 10 x 1/3 = 3,33 ou 4 ENIs / IPs privados por sub-rede . Se você tiver 100 execuções simultâneas com 2 GB alocadas, serão 80 IPs / IPs privados por sub-rede . Eu não acho que haja qualquer descrição de quantas vezes as ENIs são criadas e excluídas, e que os detalhes da implementação podem mudar com o tempo.

Você pode ver as ENIs no console ou a API da ENI .

O Lambda precisa ter permissões para criar e excluir ENIs, conforme esta questão .

    
por 19.10.2018 / 03:15