Fehlerbehebung bei der Kafka-Zuordnung von Ereignisquellen - AWS Lambda

Fehlerbehebung bei der Kafka-Zuordnung von Ereignisquellen

Die folgenden Themen enthalten Hinweise zur Fehlerbehebung für Fehler und Probleme, die bei der Verwendung von Amazon MSK oder selbstverwaltetem Apache Kafka mit Lambda auftreten können.

Weitere Hilfe zur Fehlerbehebung finden Sie im AWS-Wissenszentrum.

Authentifizierungs- und Autorisierungsfehler

Wenn eine der Berechtigungen, die zur Nutzung von Daten aus dem Kafka-Cluster erforderlich sind, fehlt, zeigt Lambda eine der folgenden Fehlermeldungen in der Ereignisquellenzuordnung unter LastProcessingResult an.

Cluster konnte Lambda nicht autorisieren

Bei SASL/SCRAM oder mTLS weist dieser Fehler darauf hin, dass der angegebene Benutzer nicht über alle nachfolgenden erforderlichen Berechtigungen für die Kafka-Zugriffskontrollliste (ACL) verfügt:

  • DescribeConfigs-Cluster

  • Beschreiben von Gruppe

  • Gruppe lesen

  • Thema beschreiben

  • Thema lesen

Wenn Sie Kafka-ACLs mit den erforderlichen kafka-cluster-Berechtigungen erstellen, geben Sie das Thema und die Gruppe als Ressourcen an. Der Themenname muss mit dem Thema in der Ereignisquellenzuordnung übereinstimmen. Der Gruppenname muss mit der UUID der Ereignisquellenzuordnung übereinstimmen.

Nachdem Sie der Ausführungsrolle die erforderlichen Berechtigungen hinzugefügt haben, kann es einige Minuten dauern, bis die Änderungen wirksam werden.

SASL-Authentifizierung fehlgeschlagen

Bei SASL/SCRAM oder SASL/PLAIN weist dieser Fehler darauf hin, dass die angegebenen Anmeldeinformationen ungültig sind.

Zur IAM-Zugriffskontrolle fehlt der Ausführungsrolle die Berechtigung kafka-cluster:Connect für den Cluster. Fügen Sie der Rolle diese Berechtigung hinzu und geben Sie den Amazon-Ressourcenname (ARN) des Clusters als Ressource an.

Dieser Fehler wird Ihnen möglicherweise in zeitlichen Abständen angezeigt. Der Cluster lehnt Verbindungen ab, wenn die Anzahl der TCP-Verbindungen das Servicekontingent überschreitet. Lambda zieht sich zurück und versucht es erneut, bis eine Verbindung erfolgreich ist. Nachdem Lambda eine Verbindung zum Cluster hergestellt hat und nach Datensätzen abfragt, ändert sich das letzte Verarbeitungsergebnis zu OK.

Server konnte Lambda nicht authentifizieren

Dieser Fehler weist darauf hin, dass der Kafka-Broker Lambda nicht authentifizieren konnte. Dieser Fehler kann aus folgenden Gründen auftreten:

  • Sie haben kein Client-Zertifikat für die mTLS-Authentifizierung bereitgestellt.

  • Sie haben ein Client-Zertifikat bereitgestellt, aber die Kafka-Broker sind nicht für die Verwendung der mTLS-Authentifizierung konfiguriert.

  • Die Kafka-Broker vertrauen einem Client-Zertifikat nicht.

Lambda konnte Server nicht authentifizieren

Dieser Fehler weist darauf hin, dass Lambda den Kafka-Broker nicht authentifizieren konnte. Dieser Fehler kann aus folgenden Gründen auftreten:

  • Für selbstverwaltetes Apache Kafka: Die Kafka-Broker verwenden selbstsignierte Zertifikate oder eine private Zertifizierungsstelle (CA), haben jedoch das Root-CA-Zertifikat des Servers nicht bereitgestellt.

  • Für selbstverwaltetes Apache Kafka: Das Root-CA-Zertifikat des Servers stimmt nicht mit der Root-CA überein, die das Zertifikat des Brokers signiert hat.

  • Die Überprüfung des Hostnamens ist fehlgeschlagen, weil das Zertifikat des Brokers nicht den DNS-Namen oder die IP-Adresse des Brokers als alternativen Betreffnamen enthält.

Bereitgestelltes Zertifikat oder bereitgestellter privater Schlüssel ist ungültig

Dieser Fehler weist darauf hin, dass der Kafka-Konsument das bereitgestellte Zertifikat oder den bereitgestellten privaten Schlüssel nicht verwenden konnte. Stellen Sie sicher, dass das Zertifikat und der Schlüssel das PEM-Format haben und die Verschlüsselung des privaten Schlüssels einen PBES1-Algorithmus nutzt.

Fehler bei der Ereignisquellen-Zuweisung

Wenn Sie Ihren Apache-Kafka-Cluster als Ereignisquelle für Ihre Lambda-Funktion hinzufügen und Ihre Funktion auf einen Fehler stößt, beendet Ihr Kafka-Verbraucher die Verarbeitung von Datensätzen. Verbraucher einer Themenpartition sind diejenigen, die Ihre Datensätze abonnieren, lesen und verarbeiten. Ihre anderen Kafka-Verbraucher können weiterhin Datensätze verarbeiten, sofern sie nicht auf denselben Fehler stoßen.

Um die Ursache eines gestoppten Verbrauchers zu ermitteln, überprüfen Sie das StateTransitionReason-Feld in der Antwort von EventSourceMapping. In der folgenden Liste werden die Ereignisquellfehler beschrieben, die Sie erhalten können:

ESM_CONFIG_NOT_VALID

Die Konfiguration der Ereignisquellenzuordnung ist ungültig.

EVENT_SOURCE_AUTHN_ERROR

Lambda konnte die Ereignisquelle nicht authentifizieren.

EVENT_SOURCE_AUTHZ_ERROR

Lambda verfügt nicht über die erforderlichen Berechtigungen für den Zugriff auf die Ereignisquelle.

FUNCTION_CONFIG_NOT_VALID

Die Konfiguration der Funktion ist ungültig.

Anmerkung

Wenn Ihre Lambda-Ereignisdatensätze die zulässige Größenbeschränkung von 6 MB überschreiten, können sie unbearbeitet bleiben.