Solucionar problemas de redes en Lambda
De forma predeterminada, Lambda ejecuta las funciones en una nube virtual privada (VPC) interna con conectividad a los servicios de AWS e Internet. Para acceder a los recursos de red local, puede configurar la función para que se conecte a una VPC de la cuenta. Cuando utiliza esta característica, administra el acceso a Internet y la conectividad de red de la función con recursos de Amazon Virtual Private Cloud (Amazon VPC).
Los errores de conectividad de red pueden deberse a problemas de configuración de enrutamiento de la VPC, reglas de grupo de seguridad, permisos de rol de AWS Identity and Access Management (IAM), traducción de direcciones de red (NAT) o disponibilidad de recursos como direcciones IP o interfaces de red. En función del problema, es posible que aparezca un error específico o de tiempo de espera si una solicitud no puede alcanzar su destino.
Temas
- VPC: La función pierde acceso a Internet o agota el tiempo de espera
- VPC: la función necesita acceso a los Servicios de AWS sin utilizar Internet
- VPC: se ha alcanzado el límite de la interfaz de red elástica
- EC2: interfaz de red elástica con tipo de “lambda”
- DNS: no se puede conectar a los hosts con UNKNOWNHOSTEXCEPTION
VPC: La función pierde acceso a Internet o agota el tiempo de espera
Problema: la función de Lambda pierde el acceso a Internet después de conectarse a una VPC.
Error: Error: Connect ETIMEDOUT 176.32.98.189:443
Error: Error: Tiempo de espera de la tarea agotado tras 10,00 segundos
Error: ReadTimeoutError: se agotó el tiempo de espera de lectura. (Tiempo de espera de lectura = 15)
Cuando conecta una función a una VPC, todas las solicitudes salientes pasan por la VPC. Para conectarse a Internet, configure la VPC para que envíe tráfico saliente desde la subred de la función a una puerta de enlace NAT en una subred pública. Para obtener más información y ejemplos de configuraciones de VPC, consulte Habilitación del acceso a Internet para funciones de Lambda conectadas a VPC.
Si se agota el tiempo de espera de algunas de las conexiones TCP, puede deberse a la fragmentación de paquetes. Las funciones de Lambda no pueden gestionar solicitudes TCP fragmentadas entrantes, ya que Lambda no admite la fragmentación de IP para TCP o ICMP.
VPC: la función necesita acceso a los Servicios de AWS sin utilizar Internet
Problema: la función de Lambda necesita acceso a los Servicios de AWS sin utilizar Internet.
Para conectar una función a los Servicios de AWS desde una subred privada sin acceso a Internet, utilice los puntos de conexión de VPC.
VPC: se ha alcanzado el límite de la interfaz de red elástica
Error: ENILimitReachedException: Se alcanzó el límite de interfaz de red elástica para la VPC de la función.
Al conectar una función de Lambda a una VPC, Lambda crea una interfaz de red elástica para cada combinación de subred y grupo de seguridad adjuntos a la función. La cuota de servicio predeterminada es de 250 interfaces de red por VPC. Para solicitar un aumento de una cuota, use la consola de Service Quotas
EC2: interfaz de red elástica con tipo de “lambda”
Código de error: Client.OperationNotPermitted
Mensaje de error: el grupo de seguridad no se puede modificar para este tipo de interfaz
Recibirá este error si intenta modificar una interfaz de red elástica (ENI) administrada por Lambda. No se incluye ModifyNetworkInterfaceAttribute
en la API de Lambda para las operaciones de actualización en las interfaces de red elásticas creadas por Lambda.
DNS: no se puede conectar a los hosts con UNKNOWNHOSTEXCEPTION
Mensaje de error: UNKNOWNHOSTEXCEPTION
Las funciones de Lambda admiten un máximo de 20 conexiones TCP simultáneas para la resolución de DNS. Es posible que la función esté agotando ese límite. Las solicitudes de DNS más comunes se llevan a cabo a través del UDP. Si la función solo establece conexiones DNS a través de UDP, es poco probable que este sea un problema. Este error suele producirse debido a una mala configuración o a una infraestructura degradada, por lo que antes de examinar en profundidad el tráfico de DNS, confirme que su infraestructura de DNS está correctamente configurada y en buen estado y que la función de Lambda haga referencia a un host especificado en el DNS.
Si diagnostica que el problema está relacionado con el límite máximo de conexión TCP, tenga en cuenta que no puede solicitar un aumento de este límite. Si su función de Lambda recurre al DNS de TCP debido a las grandes cargas útiles de DNS, confirme que la solución utilice bibliotecas compatibles con EDNS. Para obtener más información acerca de EDNS, consulte el estándar RFC 6891