Openflow Connector for Snowflake to Kafka 설정¶
참고
커넥터에는 커넥터 약관 이 적용됩니다.
이 항목에서는 Openflow Connector for Snowflake to Kafka 를 설정하는 단계에 대해 설명합니다.
전제 조건¶
Openflow Connector for Snowflake to Kafka 정보 을 검토했는지 확인합니다.
Openflow - BYOC 설정 또는 :doc:`/user-guide/data-integration/openflow/setup-openflow-spcs`을 완료했는지 확인합니다.
변경 사항에 대해 쿼리할 Snowflake 스트림을 생성합니다.
Snowflake 스트림에서 CDC 메시지를 수신할 Kafka 항목을 생성합니다.
Snowflake 계정 설정하기¶
Snowflake 계정 관리자는 다음 작업을 수행합니다.
커넥터가 CDC 이벤트를 읽는 데 사용할 데이터베이스, 소스 테이블 및 스트림 오브젝트를 생성합니다. 예:
create database stream_db; use database stream_db; create table stream_source (user_id varchar, data varchar); create stream stream_on_table on table stream_source;
새 역할을 생성하거나 기존 역할을 사용하고 스트림 및 스트림의 소스 오브젝트에 SELECT 권한을 부여합니다. 커넥터에는 스트림이 포함된 데이터베이스와 스키마, 스트림의 소스 오브젝트에 대한 USAGE 권한도 필요합니다. 예:
create role stream_reader; grant usage on database stream_db to role stream_reader; grant usage on schema stream_db.public to role stream_reader; grant select on stream_source to role stream_reader; grant select on stream_on_table to role stream_reader;
유형이 SERVICE 인 새 Snowflake 서비스 사용자를 생성합니다. 예:
create user stream_user type = service;
Snowflake 서비스 사용자에게 이전 단계에서 생성한 역할을 부여합니다. 예:
grant role stream_reader to user stream_user;
3단계의 Snowflake SERVICE 사용자에 대해 키 페어 인증 으로 구성합니다.
Snowflake는 이 단계를 강력히 권장합니다. Openflow에서 지원하는 시크릿 관리자(예: AWS, Azure, Hashicorp)를 구성하고 공개 및 개인 키를 시크릿 스토어에 저장합니다. 단, 4단계에서 생성한 개인 키는 커넥터 구성을 위한 구성 변수로 바로 사용할 수 있다는 점에 유의하십시오. 이 경우 개인 키는 Openflow 런타임 구성에 저장됩니다.
참고
어떤 이유로든 시크릿 관리자를 사용하지 않으려면 조직의 보안 정책에 따라 키 페어 인증에 사용되는 공개 키와 개인 키 파일을 보호할 책임이 있습니다.
시크릿 관리자가 구성되면 인증 방법을 결정합니다. AWS 에서는 다른 시크릿을 유지할 필요가 없으므로 Openflow와 연결된 EC2 인스턴스 역할을 사용하는 것이 좋습니다.
Openflow에서 오른쪽 상단의 햄버거 메뉴에서 이 시크릿 관리자와 연결된 매개 변수 공급자를 구성합니다. Controller Settings » Parameter Provider 로 이동한 다음 매개 변수 값을 가져옵니다.
이 시점에서 모든 자격 증명은 연결된 매개 변수 경로로 참조할 수 있으며 민감한 값은 Openflow 내에서 유지될 필요가 없습니다.
커넥터가 사용할 웨어하우스를 지정합니다. 1개의 커넥터로 1개의 테이블을 1개의 Kafka 항목에 복제할 수 있습니다. 이러한 종류의 처리를 위해 가장 작은 웨어하우스를 선택할 수 있습니다.
커넥터 설정하기¶
데이터 엔지니어는 다음 작업을 수행하여 커넥터를 설치하고 구성합니다.
Openflow 개요 페이지로 이동합니다. Featured connectors 섹션에서 View more connectors 을 선택합니다.
Openflow Connector 페이지에서 커넥터가 통신해야 하는 Kafka 브로커 인스턴스 종류에 따라 커넥터를 찾아 선택합니다.
mTLS 버전: SSL (상호 TLS) 보안 프로토콜을 사용하거나 SASL_SSL 프로토콜을 사용하며 자체 서명 인증서를 사용하는 브로커에 연결하는 경우 이 커넥터를 선택합니다.
SASL 버전: 다른 보안 프로토콜을 사용하는 경우 이 커넥터를 선택합니다.
Add to runtime 을 선택합니다.
Select runtime 대화 상자의 Available runtimes 드롭다운 목록에서 런타임을 선택합니다.
Add 를 선택합니다.
Snowflake 계정 자격 증명으로 배포를 인증하고 런타임 애플리케이션이 Snowflake 계정에 액세스할 수 있도록 허용할지 묻는 메시지가 표시되면 Allow 를 선택합니다. 커넥터 설치 프로세스를 완료하는 데 몇 분 정도 걸립니다.
Snowflake 계정 자격 증명으로 런타임에 인증합니다.
커넥터 프로세스 그룹이 추가된 Openflow 캔버스가 표시됩니다.
가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Parameters 를 선택합니다.
플로우 매개 변수 에 설명된 대로 필수 매개 변수 값을 채웁니다.
플로우 매개 변수¶
이 섹션에서는 다음 매개 변수 컨텍스트에 따라 구성할 수 있는 플로우 매개 변수에 대해 설명합니다.
Kafka Sink 소스 매개 변수¶
매개 변수 |
설명 |
필수 |
|---|---|---|
Snowflake 계정 식별자 |
사용하는 경우:
|
예 |
Snowflake Authentication Strategy |
사용하는 경우:
|
예 |
소스 데이터베이스 |
원본 데이터베이스입니다. 이 데이터베이스에는 사용할 Snowflake Stream 오브젝트가 포함되어야 합니다. |
예 |
Snowflake 개인 키 비밀번호 |
사용하는 경우:
|
아니요 |
Snowflake 역할 |
사용하는 경우
|
예 |
Snowflake 사용자 이름 |
사용하는 경우:
|
예 |
Snowflake 개인 키 |
인증 전략에 세션 토큰을 사용할 때는 이 값을 비워 둡니다. KEY_PAIR 사용 시 인증에 사용되는 RSA 개인 키를 제공합니다. RSA 키는 PKCS8 표준에 따라 형식이 지정되어야 하고 표준 PEM 머리글 및 바닥글이 있어야 합니다. Snowflake 개인 키 파일 또는 Snowflake 개인 키를 정의해야 합니다. |
예 |
Snowflake 개인 키 파일 |
인증 전략에 세션 토큰을 사용할 경우 이 필드를 비워 둡니다. KEY_PAIR 사용 시 Snowflake 인증에 사용되는 RSA 개인 키를 포함하고 PKCS8 머리글에 따라 형식이 지정되고 PEM 머리글 및 바닥글을 포함하는 파일을 업로드합니다. 머리글 라인은 ``—–BEGIN PRIVATE``으로 시작합니다. 개인 키 파일을 업로드하려면 Reference asset 확인란을 선택합니다. |
아니요 |
소스 스키마 |
소스 스키마입니다. 이 스키마에는 소비될 Snowflake 스트림 오브젝트가 포함되어야 합니다. |
예 |
Snowflake 웨어하우스 |
쿼리 실행에 사용되는 Snowflake 웨어하우스 |
예 |
Kafka Sink 대상 매개 변수¶
매개 변수 |
설명 |
필수 |
|---|---|---|
Kafka 부트스트랩 서버 |
쉼표로 구분된 데이터를 전송할 Kafka 브로커 목록입니다. |
예 |
Kafka SASL 메커니즘 |
SASL 인증에 사용되는 메커니즘입니다. Kafka 클라이언트
|
예 |
Kafka SASL 사용자 이름 |
Kafka에 인증할 사용자 이름입니다 |
예 |
Kafka SASL 비밀번호 |
Kafka에 인증할 비밀번호 |
예 |
Kafka 보안 프로토콜 |
브로커와 통신하는 데 사용되는 보안 프로토콜입니다. Kafka 클라이언트
|
예 |
Kafka 항목 |
Snowflake 스트림의 CDCs 가 전송되는 Kafka 항목은 다음과 같습니다 |
예 |
Kafka 메시지 키 필드 |
Kafka 메시지 키로 사용할 데이터베이스 열 이름을 지정합니다. 지정하지 않으면 메시지 키가 설정되지 않습니다. 지정하면 이 열의 값이 메시지 키로 사용됩니다. 이 매개 변수의 값은 대/소문자를 구분합니다. |
아니요 |
Kafka keystore 파일 이름 |
mTLS 인증 방법에 대한 클라이언트 키 및 인증서를 저장하는 키 저장소의 전체 경로입니다. mTLS 인증 및 보안 프로토콜이 SSL 인 경우 필수입니다. |
아니요 |
Kafka keystore 유형 |
키 저장소 유형입니다. mTLS 인증의 경우 필수입니다. 가능한 값은 다음과 같습니다.
|
아니요 |
Kafka keystore 비밀번호 |
keystore 파일을 보안하는 데 사용되는 비밀번호입니다. |
아니요 |
Kafka 키 비밀번호 |
키 저장소에 저장된 개인 키의 비밀번호입니다. mTLS 인증의 경우 필수입니다. |
아니요 |
Kafka truststore 파일 이름 |
브로커 인증서를 저장하는 truststore에 대한 전체 경로입니다. 클라이언트는 이 truststore의 인증서를 사용하여 브로커 ID를 확인합니다. |
아니요 |
Kafka truststore 유형 |
truststore 파일의 유형입니다. 가능한 값은 다음과 같습니다.
|
아니요 |
Kafka truststore 비밀번호 |
truststore 파일의 비밀번호입니다. |
아니요 |
Kafka Sink 수집 매개 변수¶
매개 변수 |
설명 |
필수 |
|---|---|---|
Snowflake FQN 스트림 이름 |
정규화된 Snowflake 스트림 이름입니다. |
예 |
플로우 실행¶
평면을 마우스 오른쪽 버튼으로 클릭하고 Enable all Controller Services 를 선택합니다.
가져온 프로세스 그룹을 마우스 오른쪽 버튼으로 클릭하고 Start 를 선택합니다. 커넥터가 데이터 수집을 시작합니다.