Comment dois-je procéder en cas de dépassement répété des délais de connexion avec Lambda lorsque j'accède à une instance de base de données Amazon RDS ?

Date de la dernière mise à jour : 27/02/2020

Avec ma fonction AWS Lambda, je reçois, de façon répétée, des erreurs relatives au dépassement des délais de connexion lorsque je tente d'accéder à une instance de base de données Amazon Relational Database Service (Amazon RDS). Comment puis-je remédier à cela ?

Solution

Des erreurs relatives au dépassement des délais de connexion peuvent se produire de façon répétée pour différentes raisons, en fonction de votre cas d'utilisation et de la configuration de votre fonction Lambda. Suivez ces étapes pour y remédier.

Remarque : si vous recevez, de façon répétée ou passagère, des erreurs relatives au dépassement des délais de connexion, capturez les événements et réessayez d'exécuter la fonction Lambda. Pour obtenir plus d'informations, consultez la section Gestion des erreurs et nouvelles tentatives automatiques dans AWS Lambda.

Vérification des journaux de la fonction Lambda

Si vous ne l'avez pas déjà fait, activez la journalisation, puis passez en revue les journaux de votre fonction Lambda. Pour obtenir plus d'informations, consultez la section Surveillance et dépannage des applications Lambda.

Vérification de la configuration du VPC

Effectuez l'une des actions suivantes :

Pour obtenir plus d'informations, consultez la section Didacticiel : Configuration d'une fonction Lambda pour accéder à Amazon RDS dans un VPC Amazon.

Vérification des règles du groupe de sécurité

Effectuez l'une des actions suivantes :

  • Si la base de données est accessible de manière privée et que votre fonction Lambda se trouve dans un VPC Amazon, ajoutez une règle entrante au groupe de sécurité de votre base de données pour autoriser le trafic à partir de la plage d'adresses CIDR des sous-réseaux ou du groupe de sécurité du VPC.
  • Si la base de données est accessible publiquement et que votre fonction Lambda se trouve dans un VPC Amazon, ajoutez une règle entrante au groupe de sécurité de votre base de données pour autoriser le trafic depuis la passerelle NAT ou l'instance NAT du VPC.

Mise à jour du gestionnaire de la fonction Lambda

Mettez à jour le code de votre fonction Lambda afin que la connexion de base de données s'ouvre hors du gestionnaire de fonction et ne s'interrompe pas. En raison de la façon dont Lambda réutilise les conteneurs, Lambda ne réinitialise pas le code hors d'un gestionnaire de fonction lorsque le conteneur est réutilisé.

Connexion à l'aide d'une instance EC2

À titre de test, lancez une instance Amazon Elastic Compute Cloud (Amazon EC2) avec la même configuration Amazon VPC que votre fonction Lambda. Essayez de vous connecter à l'instance de base de données RDS à partir de l'instance EC2.

  • Si vous êtes en mesure de vous connecter à la base de données, la cause racine de l'erreur de connexion est liée à Lambda. Poursuivez le dépannage des problèmes de mise en réseau.
  • Si vous ne parvenez pas à vous connecter à la base de données, la cause racine est liée à la configuration de mise en réseau.

Pour obtenir plus d'informations, consultez la section Comment résoudre les problèmes de connexion à mon instance de base de données Amazon RDS ?.

Utilisation du proxy Amazon RDS (version préliminaire)

Créez un point de terminaison de proxy Amazon RDS pour votre base de données RDS afin de gérer le trafic à l'aide de votre fonction Lambda. Pour obtenir plus d'informations, consultez la section Utilisation du proxy Amazon RDS avec AWS Lambda.

Remarque : pendant la version préliminaire, le proxy Amazon RDS est disponible dans les régions AWS Asie-Pacifique (Tokyo), UE (Irlande), USA Est (Ohio), USA Est (Virginie du Nord) et USA Ouest (Oregon).