Amazon MSK에서 Lambda 사용 - AWS Lambda

Amazon MSK에서 Lambda 사용

Amazon Managed Streaming for Apache Kafka(Amazon MSK)는 Apache Kafka를 사용하여 스트리밍 데이터를 처리하는 애플리케이션의 구축 및 실행을 위해 사용할 수 있는 완전관리형 서비스입니다. Amazon MSK는 Kafka 클러스터의 설정, 스케일링, 관리를 간소화합니다. 또한 Amazon MSK는 여러 Availability Zones에 맞게, 그리고 AWS Identity and Access Management(IAM)를 통한 보안을 위해 애플리케이션을 쉽게 구성할 수 있도록 도와줍니다.

이 장에서는 Amazon MSK 클러스터를 Lambda 함수의 이벤트 소스로 사용하는 방법을 설명합니다. Amazon MSK를 Lambda와 통합하는 일반적인 프로세스에는 다음 단계가 포함됩니다.

  1. 클러스터 및 네트워크 설정 - 먼저 Amazon MSK 클러스터를 설정합니다. 여기에는 Lambda가 클러스터에 액세스할 수 있도록 올바른 네트워킹 구성이 포함됩니다.

  2. 이벤트 소스 매핑 설정 - 그런 다음 Lambda가 Amazon MSK 클러스터를 함수에 안전하게 연결하는 데 필요한 이벤트 소스 매핑 리소스를 생성합니다.

  3. 함수 및 권한 설정 - 마지막으로 함수가 올바르게 설정되었고 실행 역할에 필요한 권한이 있는지 확인합니다.

Amazon MSK 클러스터와 Lambda 통합을 설정하는 방법의 예는 자습서: Amazon MSK 이벤트 소스 매핑을 사용하여 간접적으로 Lambda 함수 간접 호출, AWS Compute Blog의 Using Amazon MSK as an event source for AWS Lambda 및 Amazon MSK Labs의 Amazon MSK Lambda Integration을 참조하세요.

예제 이벤트

Lambda는 함수를 간접 호출할 때 이벤트 파라미터의 메시지 배치를 보냅니다. 이벤트 페이로드에는 메시지 배열이 포함됩니다. 각 배열 항목에는 Amazon MSK 주제 및 파티션 식별자에 대한 세부 정보와 함께 타임스탬프 및 base64로 인코딩된 메시지가 포함됩니다.

{ "eventSource":"aws:kafka", "eventSourceArn":"arn:aws:kafka:us-east-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2", "bootstrapServers":"b-2.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092,b-1.demo-cluster-1.a1bcde.c1.kafka.us-east-1.amazonaws.com:9092", "records":{ "mytopic-0":[ { "topic":"mytopic", "partition":0, "offset":15, "timestamp":1545084650987, "timestampType":"CREATE_TIME", "key":"abcDEFghiJKLmnoPQRstuVWXyz1234==", "value":"SGVsbG8sIHRoaXMgaXMgYSB0ZXN0Lg==", "headers":[ { "headerKey":[ 104, 101, 97, 100, 101, 114, 86, 97, 108, 117, 101 ] } ] } ] } }