자체 관리형 Apache Kafka 이벤트 소스 매핑 오류 문제 해결 - AWS Lambda

자체 관리형 Apache Kafka 이벤트 소스 매핑 오류 문제 해결

다음 주제에서는 자체 관리형 Apache Kafka를 Lambda와 사용할 때 발생할 수 있는 오류 및 문제에 대한 문제 해결 조언을 제공합니다. 여기에 나열되지 않은 문제를 발견하는 경우 이 페이지의 [Feedback] 버튼을 사용하여 해당 문제를 보고할 수 있습니다.

문제 해결에 대한 추가 지원이 필요하면 AWS 지식 센터를 방문하십시오.

인증 및 권한 부여 오류

Kafka 클러스터의 데이터를 사용하는 데 필요한 권한이 누락된 경우 Lambda는 LastProcessingResult 아래의 이벤트 소스 매핑에 다음 오류 메시지 중 하나를 표시합니다.

클러스터가 Lambda를 인증하지 못함

SASL/SCRAM 또는 mMTS의 경우 이 오류는 제공된 사용자에게 다음 필수 Kafka 액세스 제어 목록(ACL) 권한이 모두 있지는 않음을 나타냅니다.

  • DescribeConfigs 클러스터

  • 그룹 설명

  • 그룹 읽기

  • 주제 설명

  • Thread-Topic

필수 kafka-cluster 권한으로 Kafka ACL을 생성할 때 주제와 그룹을 리소스로 지정합니다. 주제 이름은 이벤트 소스 매핑의 주제와 일치해야 합니다. 그룹 이름은 이벤트 소스 매핑의 UUID와 일치해야 합니다.

실행 역할에 필요한 권한을 추가한 후 변경 사항이 적용되기까지 몇 분 정도 소요될 수 있습니다.

SASL 인증 실패

SASL/SCRAM 또는 SASL/PLAIN의 경우 이 오류는 제공된 로그인 자격 증명이 유효하지 않음을 나타냅니다.

서버가 Lambda를 인증하지 못함

이 오류는 Kafka 브로커가 Lambda를 인증하지 못했음을 나타냅니다. 이 오류는 다음과 같은 이유로 발생할 수 있습니다.

  • mTLS 인증을 위한 클라이언트 인증서를 제공하지 않았습니다.

  • 클라이언트 인증서를 제공했지만 Kafka 브로커가 mTLS 인증을 사용하도록 구성되지 않았습니다.

  • Kafka 브로커가 클라이언트 인증서를 신뢰하지 않습니다.

Lambda가 서버를 인증하지 못함

이 오류는 Lambda가 Kafka 브로커를 인증하지 못했음을 나타냅니다. 이 오류는 다음과 같은 이유로 발생할 수 있습니다.

  • Kafka 브로커는 자체 서명된 인증서 또는 사설 CA를 사용하지만 서버 루트 CA 인증서를 제공하지 않았습니다.

  • 서버 루트 CA 인증서가 브로커 인증서에 서명한 루트 CA와 일치하지 않습니다.

  • 브로커의 인증서에 브로커의 DNS 이름 또는 IP 주소가 주체 대체 이름으로 포함되어 있지 않기 때문에 호스트 이름 검증에 실패했습니다.

제공된 인증서 또는 프라이빗 키가 잘못됨

이 오류는 Kafka 소비자가 제공된 인증서 또는 프라이빗 키를 사용할 수 없음을 나타냅니다. 인증서와 키가 PEM 형식을 사용하고 프라이빗 키 암호화가 PBES1 알고리즘을 사용하는지 확인합니다.

이벤트 소스 매핑 오류

Lambda 함수의 이벤트 소스로 Apache Kafka 클러스터를 추가한 경우 함수에 오류가 발생하면 Kafka 소비자가 레코드 처리를 중지합니다. 토픽 파티션의 소비자는 레코드를 구독하고, 읽고, 처리하는 소비자입니다. 다른 Kafka 소비자는 동일한 오류가 발생하지 않는 한 레코드 처리를 계속할 수 있습니다.

중지된 소비자의 원인을 확인하려면 StateTransitionReason 응답의 EventSourceMapping 필드를 확인하세요. 다음 목록에는 발생할 수 있는 이벤트 소스 오류가 나왔습니다.

ESM_CONFIG_NOT_VALID

이벤트 소스 매핑 구성이 잘못되었습니다.

EVENT_SOURCE_AUTHN_ERROR

Lambda가 이벤트 소스를 인증하지 못했습니다.

EVENT_SOURCE_AUTHZ_ERROR

Lambda에 이벤트 소스에 액세스하는 데 필요한 권한이 없습니다.

FUNCTION_CONFIG_NOT_VALID

함수의 구성이 유효하지 않습니다.

참고

Lambda 이벤트 레코드가 허용되는 크기 제한인 6MB를 초과하면 처리되지 않을 수 있습니다.