Solucionar problemas de redes no Lambda
Por padrão, o Lambda executa suas funções em uma Virtual Private Cloud (VPC) interna com conectividade aos serviços da AWS e à Internet. Para acessar os recursos da rede local, é possível configurar sua função para se conectar a uma VPC em sua conta. Ao usar esse recurso, você gerencia o acesso da função à Internet e a conectividade de rede com recursos da Amazon Virtual Private Cloud (Amazon VPC).
Os erros de conectividade de rede podem ser originados de problemas na configuração de roteamento de sua VPC, regras de grupo de segurança, permissões de função do AWS Identity and Access Management (IAM), NAT ou disponibilidade de recursos, como endereços IP ou interfaces de rede. Conforme o problema, será possível ver um erro específico ou tempo limite se a solicitação não puder chegar ao destino.
VPC: A função perde o acesso à Internet ou atinge o tempo limite
Problema: a função do Lambda perde o acesso à Internet após se conectar a uma VPC.
Erro: Erro: conexão ETIMEDOUT 176.32.98.189:443
Erro: Erro: a tarefa expirou após 10,00 segundos
Erro: ReadTimeoutError: Read timed out. (read timeout=15) (Tempo limite excedeu)
Ao conectar uma função a uma VPC, todas as solicitações de saída passam pela VPC. Para se conectar à Internet, configure a VPC para enviar tráfego de saída da sub-rede da função para um gateway NAT em uma sub-rede pública. Para obter mais informações e exemplos de configurações de VPC, consulte Habilitar o acesso à Internet para funções do Lambda conectadas à VPC.
Se algumas de suas conexões TCP estiverem expirando, pode ser devido à fragmentação de pacotes. As funções Lambda não podem lidar com o recebimento de solicitações TCP fragmentadas, pois o Lambda não oferece suporte à fragmentação de IP para TCP nem para ICMP.
VPC: a função precisa de acesso aos Serviços da AWS sem usar a Internet
Problema: a função do Lambda precisa acessar os Serviços da AWS sem usar a Internet.
Para conectar uma função aos Serviços da AWS de uma sub-rede privada sem acesso à Internet, use os endpoints da VPC.
VPC: Elastic network interface limit reached (VPC: limite da interface de rede elástica atingido)
Erro: ENILimitReachedException: o limite de interface de rede elástica foi atingido para a VPC da função.
Quando você conecta uma função do Lambda a uma VPC, o Lambda cria uma interface de rede elástica para cada combinação de sub-rede e grupo de segurança anexado à função. A cota de serviço padrão é de 250 interfaces de rede por VPC. Para solicitar aumento de cota, use o console do Service Quotas
EC2: interface de rede elástica com o tipo “lambda”
Código de erro: Client.OperationNotPermited
Mensagem de erro: o grupo de segurança não pode ser modificado para esse tipo de interface
Você receberá esse erro se tentar modificar uma interface de rede elástica (ENI) gerenciada pelo Lambda. O ModifyNetworkInterfaceAttribute
não está incluído na API do Lambda para operações de atualização em interfaces de rede elástica criadas pela Lambda.
DNS: falha ao conectar a hosts com UNKNOWNHOSTEXCEPTION
Mensagem de erro: UNKNOWNHOSTEXCEPTION
As funções do Lambda são compatíveis com até 20 conexões TCP simultâneas para resolução de DNS. Sua função pode estar esgotando esse limite. As solicitações de DNS mais comuns são feitas por UDP. Se a função só estiver fazendo conexões de DNS por UDP, é improvável que o problema seja esse. Esse erro geralmente ocorre devido a configurações incorretas ou infraestrutura degradada. Portanto, antes de examinar em profundidade o tráfego de DNS, confirme que a infraestrutura de DNS está configurada corretamente e está íntegra, e que a função do Lambda está referenciando um host especificado no DNS.
Se você diagnosticar que o problema está relacionado ao limite máximo da conexão por TCP, observe que não é possível solicitar um aumento desse limite. Se a função do Lambda estiver fazendo fallback para o DNS por TCP devido a grandes cargas de DNS, confirme que a sua solução está usando bibliotecas compatíveis com o EDNS. Para obter mais informações sobre o EDNS, consulte o padrão RFC 6891