Résolution des erreurs de mappage des sources d’événements Kafka - AWS Lambda

Résolution des erreurs de mappage des sources d’événements Kafka

Les rubriques suivantes fournissent des conseils de dépannage pour les erreurs et les problèmes que vous pouvez rencontrer en utilisant Amazon MSK ou Apache Kafka autogéré avec Lambda.

Pour obtenir de l’aide supplémentaire en matière de résolution des problèmes, consultez le Centre de connaissances AWS.

Authentification et erreurs d’autorisation

Si l’une des autorisations requises pour consommer des données du cluster Kafka est manquante, Lambda affiche l’un des messages d’erreur suivants dans le mappage des sources d’événements sous LastProcessingResult.

Le cluster n’a pas pu autoriser Lambda

Pour SASL/SCRAM ou mTLS, cette erreur indique que l’utilisateur fourni ne dispose pas de toutes les autorisations de liste de contrôle d’accès (ACL) Kafka requises suivantes :

  • DescripbeConfigs Cluster

  • Décrire un groupe

  • Lire le groupe

  • Décrire la rubrique

  • Lire la rubrique

Lorsque vous créez des listes ACL Kafka avec les autorisations kafka-cluster requises, vous devez spécifier la rubrique et le groupe en tant que ressources. Le nom de la rubrique doit correspondre à la rubrique dans le mappage des sources d’événements. Le nom du groupe doit correspondre à l’UUID du mappage des sources d’événements.

Une fois que vous avez ajouté les autorisations requises au rôle d’exécution, il peut y avoir un délai de plusieurs minutes avant que les modifications ne prennent effet.

Échec de l’authentification SASL

Pour SASL/SCRAM ou SASL/PLAIN, cette erreur indique que les informations d’identification fournies ne sont pas valides.

Pour le contrôle d’accès IAM, le rôle d’exécution ne dispose pas des autorisations kafka-cluster:Connect pour le cluster. Ajoutez cette autorisation au rôle et spécifiez l’Amazon Resource Name (ARN) du cluster en tant que ressource.

Cette erreur peut se produire de façon intermittente. Le cluster rejette les connexions une fois que le nombre de connexions TCP dépasse le Quota de service. Lambda fait marche arrière et tente de nouveau jusqu’à ce qu’une connexion soit réussie. Une fois que Lambda se connecte au cluster et interroge les enregistrements, le dernier résultat de traitement passe à OK.

Le serveur n’a pas réussi à authentifier Lambda

Cette erreur indique que l’agent Kafka n’a pas réussi à authentifier Lambda. Cette erreur se produit dans les conditions suivantes :

  • Vous n’avez pas fourni de certificat client pour l’authentification mTLS.

  • Vous avez fourni un certificat client, mais les courtiers ne sont pas configurés pour utiliser l’authentification mTLS.

  • Les courtiers Kafka ne font pas confiance à un certificat client.

Lambda n’a pas réussi à authentifier le serveur

Cette erreur indique que Lambda n’a pas réussi à authentifier l’agent Kafka. Cette erreur se produit dans les conditions suivantes :

  • Pour Apache Kafka autogéré : les agents Kafka utilisent des certificats autosignés ou une autorité de certification privée, mais n’ont pas fourni le certificat CA racine du serveur.

  • Pour Apache Kafka autogéré : le certificat CA racine du serveur ne correspond pas à l’autorité de certification racine qui a signé le certificat de l’agent.

  • La validation du nom d’hôte a échoué, car le certificat du courtier ne contient pas le nom DNS ou l’adresse IP du courtier comme autre nom de sujet.

Le certificat ou la clé privée fournis n’est pas valide

Cette erreur indique que le consommateur Kafka n’a pas pu utiliser le certificat ou la clé privée fournis. Assurez-vous que le certificat et la clé utilisent le format PEM et que le chiffrement de la clé privée utilise un algorithme PBES1.

API de mappage des sources d’événements

Lorsque vous ajoutez votre cluster Apache Kafka en tant que source d’événement pour votre fonction Lambda, si votre fonction rencontre une erreur, votre consommateur Kafka cesse de traiter les registres. Les consommateurs d’une partition de rubrique sont ceux qui s’abonnent à vos registres et qui les lisent et traitent. Vos autres consommateurs Kafka peuvent continuer à traiter les registres, à condition qu’ils ne rencontrent pas la même erreur.

Afin d’identifier les raisons pour lesquelles un consommateur cesse son traitement, vérifiez le champ StateTransitionReason dans la réponse de EventSourceMapping. La liste suivante décrit les erreurs de source d’événement que vous pouvez recevoir :

ESM_CONFIG_NOT_VALID

La configuration de mappage de source d’événement n’est pas valide.

EVENT_SOURCE_AUTHN_ERROR

Lambda n’a pas pu authentifier la source d’événement.

EVENT_SOURCE_AUTHZ_ERROR

Lambda ne dispose pas des autorisations requises pour accéder à la source d’événement.

FUNCTION_CONFIG_NOT_VALID

La configuration de la fonction n’est pas valide.

Note

Si vos registres d’événement Lambda dépassent la limite de taille autorisée de 6 Mo, il se peut qu’ils ne soient pas traités.