Lambda의 사용자 지정 가능한 컨슈머 그룹 ID

Lambda의 사용자 지정 가능한 컨슈머 그룹 ID (Customizable consumer group ID in Lambda)

Amazon MSK 또는 자체 관리형 Apache Kafka를 이벤트 소스로 설정할 때 컨슈머 그룹 ID(consumer group ID)를 지정할 수 있습니다. 이 컨슈머 그룹 ID는 Lambda 함수가 참여하려는 Kafka 컨슈머 그룹의 기존 식별자입니다. 이 기능을 사용하면 다른 컨슈머에서 진행 중인 Kafka 레코드 처리 설정을 Lambda로 원활하게 마이그레이션할 수 있습니다.

출처: AWS Lambda 개발자 안내서

본문

Kafka는 메시지를 컨슈머 그룹의 모든 컨슈머에 분산합니다. 다른 활성 컨슈머가 있는 컨슈머 그룹 ID를 지정하면 Lambda는 Kafka 토픽에서 메시지의 일부만 받습니다. Lambda가 토픽의 모든 메시지를 처리하게 하려면 해당 컨슈머 그룹의 다른 컨슈머를 모두 끄세요.

또한 컨슈머 그룹 ID를 지정하고 Kafka가 동일한 ID의 유효한 기존 컨슈머 그룹을 찾으면 Lambda는 이벤트 소스 매핑의 시작 위치(StartingPosition)를 무시합니다. 대신 Lambda는 컨슈머 그룹의 커밋된 오프셋(committed offset)에 따라 레코드 처리를 시작합니다. 컨슈머 그룹 ID를 지정했는데 Kafka가 기존 컨슈머 그룹을 찾지 못하면 Lambda는 지정된 StartingPosition으로 이벤트 소스를 구성합니다.

지정하는 컨슈머 그룹 ID는 모든 Kafka 이벤트 소스에서 고유해야 합니다. 컨슈머 그룹 ID를 지정해 Kafka 이벤트 소스 매핑을 만든 후에는 이 값을 업데이트할 수 없습니다.

더 알아보기 (Learn more)

  • MSK / 자체 관리형 Kafka 이벤트 소스
  • Lambda 이벤트 소스 매핑 시작 위치
  • Kafka 컨슈머 그룹 및 오프셋 관리