Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Résolution des problèmes de réseaux dans Lambda
Par défaut, Lambda exécute vos fonctions dans un cloud privé virtuel (Virtual Private Cloud, VPC) interne disposant d’connectivité aux services AWS et à Internet. Pour accéder aux ressources réseau en local, vous pouvez configurer votre fonction afin qu’elle se connecte à un VPC de votre compte. Lorsque vous utilisez cette fonctionnalité, vous gérez l’accès Internet et la connectivité réseau de la fonction avec les ressources Amazon Virtual Private Cloud (Amazon VPC).
Les erreurs de connectivité réseau peuvent résulter de problèmes liés à la configuration de routage de votre VPC, aux règles des groupes de sécurité, aux autorisations de rôle Gestion des identités et des accès AWS (IAM) ou à la traduction d'adresses réseau (NAT), ou à la disponibilité de ressources telles que les adresses IP ou les interfaces réseau. En fonction du problème, vous pouvez voir une erreur spécifique ou un délai d’attente si une requête ne peut pas atteindre sa destination.
Rubriques
VPC : la fonction perd l’accès à Internet ou expire
Problème : votre fonction Lambda perd l’accès Internet après la connexion à un VPC.
Erreur : Error: connect ETIMEDOUT 176.32.98.189:443
Erreur : Error: Task timed out after 10.00 seconds
Erreur ReadTimeoutError : le délai de lecture a expiré. (délai de lecture = 15)
Lorsque vous connectez une fonction à un VPC, toutes les demandes sortantes passent par le VPC. Pour vous connecter à Internet, configurez votre VPC pour envoyer le trafic sortant depuis le sous-réseau de la fonction vers une passerelle NAT dans un sous-réseau public. Pour obtenir plus d’informations et des exemples de configurations VPC, consultez Activer l'accès à Internet pour les fonctions VPC-connected Lambda.
Si certaines de vos connexions TCP sont interrompues, consultez VPC : échec intermittent de la connexion TCP ou UDP si votre sous-réseau utilise une liste de contrôle d’accès (NACL). Dans le cas contraire, cela est probablement dû à la fragmentation des paquets. Les fonctions Lambda ne peuvent pas traiter les requêtes TCP fragmentées entrantes, car Lambda ne prend pas en charge la fragmentation IP pour TCP ou ICMP.
VPC : échec intermittent de la connexion TCP ou UDP
Note
Ce problème ne s’applique que si votre sous-réseau utilise une liste de contrôle d’accès (ACL) réseau. Les ACL réseau ne sont pas requises pour que Lambda se connecte à vos sous-réseaux.
Problème : Lambda perd par intermittence la connexion à vos sous-réseaux VPC, pour lesquels vous avez configuré une liste de contrôle d’accès (ACL) réseau.
Pour les fonctions VPC-enabled Lambda, AWS crée des ENI hyperplans dans le compte du client et utilise des ports éphémères pour connecter Lambda 1024 65535 au VPC du client. Si vous utilisez des ACL réseau dans le sous-réseau cible, vous devez autoriser la plage de ports 1024 à 65535, à la fois pour TCP et UDP. Ne pas autoriser cette plage complète de ports peut entraîner des défaillances de connexion intermittentes.
VPC : la fonction doit accéder à Services AWS sans utiliser Internet
Problème : votre fonction Lambda doit être accessible Services AWS sans utiliser Internet.
Pour connecter une fonction à Services AWS partir d'un sous-réseau privé sans accès à Internet, utilisez des points de terminaison VPC.
VPC : limite d’interface réseau Elastic atteinte
Erreur ENILimitReachedException : La limite d'interface réseau élastique a été atteinte pour le VPC de la fonction.
Lorsque vous connectez une fonction Lambda à un VPC, Lambda crée une interface réseau Elastic pour chaque combinaison de sous-réseau et de groupe de sécurité attaché à cette fonction. Le quota de service par défaut est de 250 interfaces réseau par VPC. Pour demander une augmentation d’un quota, vous pouvez utiliser la console Service Quotas
EC2 : interface réseau élastique de type « lambda »
Code d'erreur : Client.OperationNotPermitted
Message d’erreur : le groupe de sécurité ne peut pas être modifié pour ce type d’interface
Cette erreur s'affiche si vous tentez de modifier une interface réseau élastique (ENI) gérée par Lambda. Le ModifyNetworkInterfaceAttribute n’est pas inclus dans l’API Lambda pour les opérations de mise à jour sur les interfaces réseau élastiques créées par Lambda.
DNS : échec de la connexion aux hôtes avec UNKNOWNHOSTEXCEPTION
Message d’erreur : UNKNOWNHOSTEXCEPTION
Les fonctions Lambda prennent en charge un maximum de 20 connexions TCP simultanées pour la résolution DNS. Votre fonction est peut-être en train d'épuiser cette limite. Les requêtes DNS les plus courantes sont effectuées via UDP. Si votre fonction établit uniquement des connexions DNS UDP, il est peu probable que ce soit votre problème. Cette erreur est souvent due à une mauvaise configuration ou à une infrastructure dégradée. Par conséquent, avant d’examiner votre trafic DNS en profondeur, vérifiez que votre infrastructure DNS est correctement configurée et saine et que votre fonction Lambda fait référence à un hôte spécifié dans le DNS.
Si vous diagnostiquez que votre problème est lié à la connexion TCP maximale, notez que vous ne pouvez pas demander d’augmentation de cette limite. Si votre fonction Lambda revient au DNS TCP en raison de données utiles DNS importantes, vérifiez que votre solution utilise des bibliothèques compatibles EDNS. Pour plus d’informations sur l’extension EDNS, consultez la RFC 6891