Lambda로 Kafka 이벤트 소비

Lambda로 Kafka 이벤트 소비 (Consuming Kafka events with Lambda)

Lambda 함수를 사용해 Amazon Managed Streaming for Apache Kafka(Amazon MSK)와 self-managed Apache Kafka 클러스터의 이벤트를 처리할 수 있어요. Lambda는 이벤트 소스 매핑을 사용해 Kafka 클러스터에서 소비하고 레코드를 함수에 전달해요.

출처: AWS Lambda 개발자 안내서

본문

이벤트 소스 매핑은 Kafka 토픽의 레코드를 배치로 폴링해 Lambda 함수에 동기적으로 호출해요. 이벤트 소스 매핑은 함수에 전달하는 각 배치의 토픽 및 파티션과 함께 레코드에 대한 메타데이터도 전달해요.

Kafka 이벤트 소스 매핑을 사용할 때 함수가 처리하지 못하는 레코드에 대해 함수가 응답하는 방식을 구성할 수 있어요. 이벤트 소스 매핑은 성공적으로 처리되거나 처리 실패를 나타낸 레코드에 대한 오프셋을 관리해요.

소비 권한 (Permissions)

Lambda 이벤트 소스 매핑이 Kafka 클러스터에서 이벤트를 소비하려면 실행 역할이 클러스터에 접근할 수 있는 권한이 있어야 해요. Amazon MSK의 경우 여기에는 Kafka 클러스터에 대한 kafka:DescribeCluster 권한과 구성한 인증 방식에 따라 필요한 권한이 포함돼요. IAM 인증을 사용하면 실행 역할에 클러스터에서 소비할 수 있는 권한이 있어야 해요.

네트워킹 (Networking)

Lambda 이벤트 소스 매핑은 Kafka 클러스터에 접근해야 하므로, Lambda 함수와 이벤트 소스 매핑은 클러스터가 있는 VPC에 연결되어야 해요. 네트워킹 요구 사항에 대한 자세한 내용은 Amazon MSK 및 self-managed Apache Kafka 클러스터 구성을 참고하세요.

이벤트 소스 매핑 생성 (Creating an event source mapping)

Kafka 이벤트 소스 매핑을 만드는 방법에 대한 단계별 지침은 이벤트 소스 매핑 생성을 참고하세요.

더 알아보기 (Learn more)