Amazon EventBridge 파이프를 사용하여 Amazon Managed Streaming for Apache Kafka(Amazon MSK) 주제에서 레코드를 수신하고 싶습니다.
해결 방법
참고: Amazon MSK와 클러스터를 만드는 방법에 대한 자세한 내용은 Amazon MSK 사용 시작하기를 참조하십시오.
사전 요구 사항
- MSK 클러스터 인증: EventBridge에는 MSK 클러스터에 액세스하고, 레코드를 검색하고, 기타 작업을 수행할 수 있는 권한이 있어야 합니다.
- 네트워크 구성: EventBridge는 MSK 클러스터와 연결된 Amazon Virtual Private Cloud(Amazon VPC) 리소스에 액세스할 수 있어야 합니다.
- Amazon MSK 실행 역할 권한: EventBridge에는 MSK 주제와 관련된 리소스를 관리할 권한이 필요합니다.
Amazon MSK를 사용하여 EventBridge 파이프 배포
다음 단계를 완료합니다.
- 해당 AWS 리전의 EventBridge 콘솔로 이동합니다.
- 탐색 창에서 파이프를 선택합니다.
- 파이프 생성을 선택합니다.
- 파이프 이름을 입력합니다.
- (선택 사항) 파이프에 대한 설명을 입력합니다.
파이프의 소스로 Amazon MSK를 선택합니다.
다음 단계를 완료합니다.
- 소스 선택에서 Amazon MSK를 선택합니다.
- 이전에 만든 Amazon MSK 클러스터를 선택합니다.
- Apache Kafka 클러스터에 레코드를 저장하는 데 사용되는 Apache Kafka 주제의 이름을 입력합니다.
- (선택 사항) 조인할 Apache Kafka 소비자 그룹의 ID를 입력합니다. 자세한 내용은 EventBridge 파이프의 소스로 Amazon Managed Streaming for Apache Kafka(Amazon MSK) 주제를 참조하십시오.
- (선택 사항) 인증 방법과 비밀 키를 선택합니다.
추가 설정 적용
다음 단계를 완료합니다.
- (선택 사항) 배치 크기 및 배치 기간을 구성합니다.
- 시작 위치를 설정합니다.
참고: 시작 위치의 기본 설정은 최신입니다. 필요한 경우 Trim horizon으로 변경합니다. Trim horizon은 Apache Kafka에서 가장 빠름과 동일합니다.
- (선택 사항) 필터링 및 강화에 대한 설정을 적용합니다.
- 대상 서비스 목록에서 대상을 선택합니다.
- (선택 사항) 입력 트랜스포머를 정의합니다.
- 파이프 구성이 올바른지 확인합니다. 그런 다음 앱 만들기를 선택합니다.
파이프가 실행 중 상태로 전환되면 EventBridge는 소스에서 새 메시지를 내부적으로 폴링합니다. 그런 다음 대상을 동기식으로 호출합니다.
참고: 이벤트 페이로드에는 메시지 배열이 포함됩니다. 각 항목에는 타임스탬프 및 base64로 인코딩된 메시지와 함께 MSK 주제 및 MSK 파티션 식별자에 대한 세부 정보가 포함되어 있습니다.
다음은 MSK 이벤트 예시입니다.
[ {
"eventSource": "aws:kafka",
"eventSourceArn": "arn:aws:kafka:sa-east-1:123456789012:cluster/vpc-2priv-2pub/751d2973-a626-431c-9d4e-d7975eb44dd7-2",
"eventSourceKey": "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
]
}
]
}
]
호출 관련 오류 문제 해결
각 리전의 CloudWatch 콘솔을 통해 Amazon CloudWatch 지표를 파이프에 사용하여 활성화, 호출 또는 스로틀링 관련 문제를 격리할 수 있습니다.
파이프를 생성, 삭제 및 업데이트할 때 작업으로 인해 실패 상태가 될 수 있습니다. 자세한 내용은 파이프 실패 상태를 참조하십시오.
파이프를 호출할 때 파이프 내부 오류와 고객 호출 오류라는 두 가지 주요 유형의 오류가 발생할 수 있습니다.
고객 대상 서비스를 호출하려고 할 때 HTTP 연결이 실패하면 파이프 내부 오류가 발생할 수 있습니다. 또는 파이프 서비스 자체의 가용성이 일시적으로 저하되면 오류가 발생할 수 있습니다.
파이프에 대한 권한이 부족하여 대상을 호출할 수 없는 경우 고객 호출 오류가 발생할 수 있습니다. 또는 동기식으로 호출된 고객 AWS Lambda, AWS Step Functions, API 대상 또는 Amazon API Gateway 엔드포인트에 로직 오류가 있는 경우 오류가 발생할 수 있습니다. 자세한 내용은 권한을 참조하십시오.
EventBridge 파이프는 다른 계정의 Amazon MQ 브로커에 대한 교차 계정 처리를 지원하지 않습니다. 자세한 내용은 Amazon EventBridge 파이프 오류 처리 및 문제 해결을 참조하십시오.
관련 정보
Amazon EventBridge 파이프 만들기