Kafka용 Openflow Connector 설정하기

참고

커넥터에는 커넥터 약관 이 적용됩니다.

전제 조건

  1. Kafka용 Openflow Connector 을 검토했는지 확인합니다.

  2. Openflow를 설정 했는지 확인합니다.

커넥터 유형

Kafka용 Openflow Connector는 3가지 구성으로 제공되며, 각 구성은 특정 사용 사례에 최적화되어 있습니다. 커넥터 갤러리에서 이러한 커넥터 정의를 다운로드할 수 있습니다.

JSON 데이터 형식용 Apache Kafka

스키마 진화 및 항목 간 매핑을 통한 JSON 메시지 수집을 위한 간소화된 커넥터

AVRO 데이터 형식용 Apache Kafka

스키마 진화 및 항목 간 매핑을 통한 AVRO 메시지 수집을 위한 간소화된 커넥터

DLQ 및 메타데이터가 포함된 Apache Kafka

데드 레터 큐(DLQ) 지원, 메타데이터 처리, 기존 Kafka용 Snowflake 커넥터와의 기능 동등성을 갖춘 완전한 기능의 커넥터

특정 커넥터 유형에 대한 자세한 구성은 다음을 참조하십시오.

Snowflake 계정 설정하기

Snowflake 계정 관리자는 다음 작업을 수행합니다.

  1. 새 역할을 생성하거나 기존 역할을 사용하여 데이터베이스 권한 권한을 부여합니다.

  2. 유형이 SERVICE 인 새 Snowflake 서비스 사용자를 생성합니다.

  3. Snowflake 서비스 사용자에게 이전 단계에서 생성한 역할을 부여합니다.

  4. 2단계의 Snowflake SERVICE 사용자에 대해 키 페어 인증 으로 구성합니다.

  5. Snowflake는 이 단계를 강력히 권장합니다. Openflow에서 지원하는 시크릿 관리자(예: AWS, Azure, Hashicorp)를 구성하고 공개 및 개인 키를 시크릿 스토어에 저장합니다.

    참고

    어떤 이유로든 시크릿 관리자를 사용하지 않으려면 조직의 보안 정책에 따라 키 페어 인증에 사용되는 공개 키와 개인 키 파일을 보호할 책임이 있습니다.

    1. 시크릿 관리자가 구성되면 인증 방법을 결정합니다. AWS 에서는 다른 시크릿을 유지할 필요가 없으므로 Openflow와 연결된 EC2 인스턴스 역할을 사용하는 것이 좋습니다.

    2. Openflow에서 오른쪽 상단의 햄버거 메뉴에서 이 시크릿 관리자와 연결된 매개 변수 공급자를 구성합니다. Controller Settings » Parameter Provider 로 이동한 다음 매개 변수 값을 가져옵니다.

    3. 이 시점에서 모든 자격 증명은 연결된 매개 변수 경로로 참조할 수 있으며 민감한 값은 Openflow 내에서 유지될 필요가 없습니다.

  6. 다른 Snowflake 사용자가 커넥터에서 수집한 원시 수집 문서 및 테이블에 대한 액세스가 필요한 경우(예: Snowflake에서 사용자 정의 처리를 위해), 해당 사용자에게 1단계에서 생성한 역할을 부여하십시오.

  7. 커넥터가 사용할 웨어하우스를 지정합니다. 가장 작은 데이터 웨어하우스 크기로 시작한 다음 복제되는 테이블 수와 전송되는 데이터의 양에 따라 크기를 실험해 보십시오. 테이블 수가 많은 경우 일반적으로 더 큰 규모의 웨어하우스보다는 멀티 클러스터 웨어하우스 에서 확장이 더 쉽습니다.

커넥터 설정하기

데이터 엔지니어는 다음 작업을 수행하여 커넥터를 설치하고 구성합니다.

커넥터 설치하기

  1. Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.

  2. Openflow Connector 페이지에서 커넥터를 찾아 Add to runtime 을 선택합니다.

  3. Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택합니다.

  4. Add 를 선택합니다.

    참고

    커넥터를 설치하기 전에 커넥터가 수집한 데이터를 저장할 수 있도록 Snowflake에서 데이터베이스와 스키마를 생성했는지 확인하십시오.

  5. Snowflake 계정 자격 증명으로 배포를 인증하고 런타임 애플리케이션이 Snowflake 계정에 액세스할 수 있도록 허용할지 묻는 메시지가 표시되면 Allow 를 선택합니다. 커넥터 설치 프로세스를 완료하는 데 몇 분 정도 걸립니다.

  6. Snowflake 계정 자격 증명으로 런타임에 인증합니다.

커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 표시됩니다.

커넥터 구성

  1. 프로세스 그룹 매개 변수 채우기

    1. 가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Parameters 를 선택합니다.

    2. 공통 매개 변수 에 설명된 대로 필수 매개 변수 값을 입력합니다.

공통 매개 변수

모든 Kafka 커넥터 베리언트는 기본 연결 및 인증을 위한 공통 매개 변수 컨텍스트를 공유합니다.

Snowflake 대상 매개 변수

매개 변수

설명

필수

대상 데이터베이스

데이터가 유지될 데이터베이스입니다. Snowflake에 이미 존재해야 합니다

대상 스키마

데이터가 유지될 스키마입니다. Snowflake에 이미 존재해야 합니다

Snowflake 계정 식별자

Snowflake 계정 이름은 [organization-name]-[account-name] 형식으로 형식이 지정되며, 데이터는 여기에 영구적으로 저장됩니다.

Snowflake Authentication Strategy

Snowflake에 대한 인증 전략. 가능한 값: SNOWFLAKE_SESSION_TOKEN - SPCS 에서 플로우를 실행하는 경우, 개인 키를 사용하여 액세스를 설정하려는 경우 KEY_PAIR

Snowflake 개인 키

인증에서 사용되는 RSA 개인 키입니다. RSA 키는 PKCS8 표준에 따라 형식이 지정되어야 하며 표준 PEM 헤더와 푸터가 있어야 합니다. Snowflake 개인 키 파일 또는 Snowflake 개인 키 중 하나를 정의해야 합니다

아니요

Snowflake 개인 키 파일

PKCS8 표준에 따라 형식이 지정되고 표준 PEM 헤더와 푸터가 있는 Snowflake 인증에 사용되는 RSA 개인 키가 포함된 파일입니다. 헤더 라인은 -----BEGIN PRIVATE 로 시작합니다. Reference asset 확인란을 선택하여 개인 키 파일을 업로드합니다.

아니요

Snowflake 개인 키 비밀번호

Snowflake 개인 키 파일과 연결된 비밀번호입니다

아니요

Snowflake 역할

쿼리 실행 중에 사용되는 Snowflake 역할

Snowflake 사용자 이름

Snowflake 인스턴스에 연결하는 데 사용되는 사용자 이름입니다

Snowflake 웨어하우스

쿼리 실행에 사용되는 Snowflake 웨어하우스

Kafka 소스 매개 변수(SASL 인증)

매개 변수

설명

필수

Kafka 보안 프로토콜

브로커와 통신하는 데 사용되는 보안 프로토콜입니다. Kafka 클라이언트 security.protocol 속성에 해당합니다. SASL_PLAINTEXT / SASL_SSL 중 하나.

Kafka SASL 메커니즘

SASL 인증에 사용되는 메커니즘입니다. Kafka 클라이언트 sasl.mechanism 속성에 해당합니다. 다음 중 하나: PLAIN / SCRAM-SHA-256 / SCRAM-SHA-512

Kafka SASL 사용자 이름

Kafka에 인증할 사용자 이름입니다

Kafka SASL 비밀번호

Kafka에 인증할 비밀번호

Kafka 부트스트랩 서버

쉼표로 구분된 데이터를 가져올 Kafka 브로커의 목록으로, 포트(예: kafka-broker:9092)를 포함해야 합니다. DLQ 항목에도 동일한 인스턴스가 사용됩니다.

Kafka 수집 매개 변수

매개 변수

설명

필수

Kafka 항목 형식

다음 중 하나: 이름 / 패턴. 공급되는’Kafka 항목’이 쉼표로 구분된 이름 목록인지 아니면 단일 정규식인지 지정합니다.

Kafka 항목

쉼표로 구분된 Kafka 항목 목록 또는 정규식입니다.

Kafka 그룹 아이디

커넥터가 사용하는 컨슈머 그룹의 ID. 임의적일 수 있지만 고유해야 합니다.

Kafka 자동 오프셋 리셋

Kafka auto.offset.reset 속성에 해당하는 이전 컨슈머 오프셋이 없을 때 자동 오프셋 구성이 적용됩니다. 다음 중 하나: earliest / latest.. 기본값: latest

항목 매핑 테이블 맵

이 선택적 매개 변수를 통해 사용자는 어떤 항목를 어떤 테이블에 매핑할지 지정할 수 있습니다. 각 항목과 테이블 이름은 콜론으로 구분해야 합니다(아래 예 참조). 이 테이블 이름은 따옴표로 묶이지 않은 유효한 Snowflake 식별자여야 합니다. 정규 식은 모호할 수 없습니다. 일치하는 항목은 단 하나의 대상 테이블과만 일치해야 합니다. 비어 있거나 일치하는 항목이 없는 경우 항목 이름이 테이블 이름으로 사용됩니다. 참고: 매핑에는 쉼표 뒤에 공백을 포함할 수 없습니다.

아니요

Topic To Table Map 예시 값:

  • topic1:low_range,topic2:low_range,topic5:high_range,topic6:high_range

  • topic[0-4]:low_range,topic[5-9]:high_range

  • .*:destination_table - maps all topics to the destination_table

베리언트별 설정 구성하기

공통 매개 변수를 구성한 후에는 선택한 커넥터 베리언트에 맞는 설정을 구성해야 합니다.

JSON 데이터 형식을 위한 Apache KafkaAVRO 데이터 형식을 위한 Apache Kafka 커넥터:

JSON/AVRO 별 매개 변수는 JSON/AVRO 데이터 형식을 위한 Apache Kafka 섹션을 참조하십시오.

DLQ및 메타데이터 커넥터가 있는 Apache Kafka의 경우:

DLQ 구성, 스키마화 설정, Iceberg 테이블 지원 및 메시지 형식 옵션을 포함한 고급 매개 변수는 DLQ 및 메타데이터가 포함된 Apache Kafka 섹션을 참조하십시오.

인증

모든 커넥터 베리언트는 Kafka 소스 매개 변수(SASL 인증) 에 설명된 대로 매개 변수 컨텍스트를 통해 구성된 SASL 인증을 지원합니다.

mTLS 및 AWS MSK IAM 을 포함한 다른 인증 방법에 대해서는 Kafka용 Openflow Connector에 대한 다른 인증 방법 구성하기 섹션을 참조하십시오.

플로우 실행

  1. 비행기를 마우스 오른쪽 버튼으로 클릭하고 Enable all Controller Services 를 클릭합니다.

  2. 비행기를 마우스 오른쪽 버튼으로 클릭하고 Start 를 클릭합니다. 커넥터가 데이터 수집을 시작합니다.