Openflow 소개
Openflow 소개
기능 — 일반 공급(Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP의 상용 리전에 있는 모든 계정에서 사용할 수 있어요.
Openflow BYOC 배포는 AWS 상용 리전의 모든 계정에서 사용할 수 있어요.
Snowflake Openflow는 구조화·비구조화 텍스트, 이미지, 오디오, 비디오, 센서 데이터를 지원하는 수백 개의 프로세서로 어떤 데이터 소스든 어떤 대상지든 연결하는 통합 서비스예요. Apache NiFi 기반으로 만들어진 Openflow를 사용하면 완전 관리형 서비스를 자신의 클라우드에서 실행해 완전한 제어권을 가질 수 있어요.
참고
Openflow 플랫폼은 현재 AWS와 Snowpark Container Services 양쪽의 고객 자체 VPC에 배포할 수 있어요.
Openflow는 평가판 계정에서는 자동으로 제공되지 않아요. 사용하려면 Snowflake 계정 팀에 문의하세요.
운영상 안전 장치(플로우 백업, 배포나 런타임 제거 시 데이터 손실 방지)에 관한 내용은 오픈플로우 관리(Manage Openflow)를 참조하세요.
이 항목에서는 Openflow의 주요 기능, 이점, 아키텍처, 워크플로, 사용 사례를 설명해요.
주요 기능 및 이점
개방형이면서 확장 가능
Apache NiFi 기반의 확장 가능한 관리형 서비스로, 어떤 데이터 소스에서든 어떤 대상지로든 프로세서를 구축·확장할 수 있어요.
통합 데이터 통합 플랫폼
Openflow를 사용하면 데이터 엔지니어가 복잡하고 양방향적인 데이터 추출과 로딩을, 자체 VPC 안이나 Snowflake 배포 안에 배포할 수 있는 완전 관리형 서비스를 통해 처리할 수 있어요.
엔터프라이즈 준비 완료
Openflow는 데이터 통합을 위한 보안, 규정 준수, 관측성, 유지보수성 훅을 기본으로 제공해요.
모든 유형의 데이터 고속 수집
하나의 통합 플랫폼으로 구조화·비구조화 데이터를 배치와 스트리밍 방식 모두로, 데이터 소스에서 Snowflake까지 사실상 모든 규모로 처리할 수 있어요.
AI 처리를 위한 멀티모달 데이터 연속 수집
거의 실시간으로 비구조화 데이터를 수집하므로 SharePoint, Google Drive 등과 같은 소스에서 오는 데이터와 즉시 대화할 수 있어요.
Openflow 배포 유형
Openflow는 Bring Your Own Cloud(BYOC)와 Snowflake 배포 유형을 모두 지원해요. 두 배포 유형 모두 gen 1과 gen 2로 제공되며, 새로 만드는 배포는 모두 gen 2예요. gen 2는 배포, 런타임, 커넥터의 SQL 우선 관리를 제공하며, gen 2 커넥터 구성은 여전히 공개 미리 보기(Public Preview) 상태예요. gen 1과 gen 2 비교는 Openflow gen 1과 gen 2를 참조하세요.
Openflow - Snowflake 배포
Snowpark Container Services(SPCS)를 사용하는 Openflow - Snowflake 배포는 연결을 위한 간소화되고 통합된 솔루션을 제공해요. SPCS는 Snowflake 내부에 자체 포함된 서비스라 배포·관리가 쉬워요. SPCS는 데이터 플로우 실행에 편리하고 비용 효율적인 환경을 제공해요. Openflow - Snowflake 배포의 핵심 이점은 Snowflake의 보안 모델과 기본적으로 통합된다는 점으로, 원활한 인증, 권한 부여, 네트워크 보안, 간소화된 운영이 가능해요.
Openflow - Snowflake 배포를 구성할 때는 Openflow - Snowflake 배포 설정에 설명된 절차를 따르세요. gen 2는 gen 2 빠른 시작을 참조하세요.
Openflow - Bring Your Own Cloud
Openflow - Bring Your Own Cloud(BYOC)는 공용·사설 시스템을 안전하게 연결하고, 조직의 클라우드 환경이라는 안전한 경계 안에서 민감한 데이터 전처리를 로컬로 처리하는 데 사용할 수 있는 연결 솔루션이에요. BYOC는 Openflow 데이터 처리 엔진(데이터 플레인)이 자체 클라우드 환경에서 실행되는 배포 옵션으로, Snowflake가 전체 Openflow 서비스와 제어 플레인을 관리해요.
BYOC 배포를 구성할 때는 Openflow - BYOC 설정에 설명된 절차를 따르세요. gen 2는 gen 2 빠른 시작을 참조하세요.
사용 사례
최소한의 관리로 어떤 소스에서든 데이터를 가져와 어떤 대상지에든 넣고, Snowflake의 내장 데이터 보안과 거버넌스를 함께 활용하고 싶다면 Openflow를 사용하세요.
Openflow 사용 사례는 다음과 같아요.
- Google Drive, Box 같은 비구조화 데이터 소스에서 데이터를 수집해, Snowflake Cortex를 사용하는 AI 어시스턴트에서 채팅에 사용할 수 있게 준비하거나 자체 맞춤 처리에 사용하세요.
- 데이터베이스 테이블의 변경 데이터 캡처(CDC)를 Snowflake에 복제해 포괄적이고 중앙 집중적인 보고를 수행하세요.
- Apache Kafka 같은 스트리밍 서비스의 실시간 이벤트를 Snowflake로 수집해 거의 실시간 분석을 수행하세요.
- LinkedIn Ads 같은 SaaS 플랫폼의 데이터를 보고, 분석, 인사이트를 위해 Snowflake로 수집하세요.
- Snowflake와 NiFi 프로세서 및 컨트롤러 서비스를 사용해 Openflow 데이터플로우를 만드세요.
보안
Openflow는 업계 최고 수준의 보안 기능을 사용해 계정, 사용자, 그리고 Snowflake에 저장하는 모든 데이터에 가장 높은 수준의 보안을 제공해요. 주요 측면은 다음과 같아요.
인증
- 런타임은 Snowflake 관리 토큰을 기본이자 권장 인증 방식으로 사용해요.
- Snowflake 관리 토큰은 SPCS와 BYOC 배포 유형에서 일관되게 동작해요.
- BYOC 배포는 명시적 자격 증명 관리가 필요할 경우 키 페어 인증을 대안으로 사용할 수 있어요.
권한 부여
- Openflow는 RBAC를 위한 세분화된 역할을 지원해요.
- 배포와 런타임을 만들 수 있는 권한을 부여하려면 ACCOUNTADMIN을 사용하세요.
전송 중 암호화
- Openflow 커넥터는 데이터 수집을 위해 표준 Snowflake 클라이언트를 사용하며 TLS 프로토콜을 지원해요.
- Openflow 배포와 Openflow 제어 플레인 사이의 모든 통신은 TLS 프로토콜로 암호화돼요.
비밀 관리
- BYOC와 Snowflake 배포 양쪽 모두에서 Snowflake 비밀과 통합돼요.
- (BYOC) AWS Secrets Manager 또는 Hashicorp Vault와 통합돼요. 자세한 내용은 구성 파일의 암호화된 비밀번호를 참조하세요.
프라이빗 연결 지원
- Openflow 커넥터는 인바운드 AWS PrivateLink(BYOC) 또는 아웃바운드 프라이빗 연결(Snowflake 배포)을 사용해 Snowflake에 데이터를 읽고 쓰는 것과 호환돼요.
Tri-Secret Secure 지원
- Openflow 커넥터는 Snowflake에 데이터를 쓸 때 Tri-Secret Secure와 호환돼요.
Snowflake 관리 토큰 인증
Snowflake 관리 토큰(Snowflake Managed Token)은 Openflow 런타임이 Snowflake에 연결할 때 권장되는 기본 인증 방식이에요. 이 인증 방식은 Openflow - Snowflake 배포와 BYOC 배포 양쪽에서 일관되게 동작해요. Snowflake 관리 토큰은 Snowflake 연결 구성을 위한 통합되고 간소화된 환경을 제공해요.
주요 이점
간소화된 구성
Snowflake 관리 토큰은 키 페어 같은 장수명 자격 증명을 생성·저장·교체할 필요를 없애줘요. 토큰은 Snowflake가 자동으로 관리하므로 운영 오버헤드가 줄어요.
배포 유형 전반에 걸친 일관성
Snowpark Container Services(SPCS)에 배포하든 Bring Your Own Cloud(BYOC)에 배포하든, SNOWFLAKE_MANAGED 인증 전략을 사용해 동일한 방식으로 인증을 구성해요.
강화된 보안
토큰은 수명이 짧고 자동으로 갱신되므로 자격 증명 노출 위험이 최소화돼요.
작동 방식
커넥터나 프로세서를 Snowflake에 연결하도록 구성할 때 Snowflake 인증 전략(Snowflake Authentication Strategy) 으로 SNOWFLAKE_MANAGED를 선택하세요. 런타임이 대신 Snowflake 인증에 사용할 토큰을 자동으로 획득·관리해요.
Snowflake 관리 토큰의 동작은 배포 유형에 따라 달라져요.
Openflow - Snowflake 배포
Snowflake 관리 배포에서 실행할 때 런타임은 SPCS 환경이 기본 제공하는 SPCS 세션 토큰을 사용해요. 이 토큰은 런타임에 사용할 수 있고 추가 구성이 필요 없어요.
BYOC 배포
BYOC 배포에서 실행할 때 런타임은 워크로드 ID 페더레이션을 사용해 Snowflake에 인증해요. 런타임은 자신의 클라우드 제공자 ID(예: AWS IAM 역할)를 Snowflake 토큰으로 자동 교환해요.
참고
BYOC 배포에서 Snowflake 관리 토큰을 사용하려면 먼저 배포에 run-as 역할(execute-as roles)을 구성해야 해요.
Snowflake 관리 토큰을 사용해야 하는 경우
다음과 같은 경우 Snowflake 관리 토큰을 사용하세요.
- SPCS와 BYOC 배포 모두에서 모든 새 커넥터 구성.
- 키 페어 인증에서 간소화된 관리형 인증 모델로의 마이그레이션.
- 키 페어나 기타 장수명 자격 증명 관리를 피하고 싶은 시나리오.
대체 인증 방식
Snowflake 관리 토큰이 권장되지만, BYOC 배포는 명시적 자격 증명 관리가 필요한 경우 키 페어 인증(KEY_PAIR)도 지원해요. 키 페어 인증에 대한 자세한 내용은 키 페어 인증 및 키 페어 교체를 참조하세요.
기반 인증 메커니즘에 대한 자세한 내용은 다음을 참조하세요.
- 워크로드 ID 페더레이션: BYOC 배포에서 사용하는 인증 메커니즘에 대한 정보.
- Snowpark Container Services: 서비스 작업: SPCS 서비스가 Snowflake에 인증하는 방식에 대한 정보.
아키텍처
다음 다이어그램은 Openflow의 아키텍처를 보여줘요.
배포 에이전트가 VPC에 Openflow 배포 인프라를 설치·부트스트랩하고 Snowflake 시스템 이미지 레지스트리의 컨테이너 이미지를 정기적으로 동기화해요.
Openflow 구성 요소는 다음과 같아요.
배포(Deployments)
배포는 개별 런타임 안에서 데이터 플로우가 실행되는 곳이에요. 서로 다른 프로젝트, 팀을 격리하거나 SDLC 상의 이유로 런타임을 여러 개 두는 경우가 많으며, 모두 단일 배포와 연결돼요. 배포는 Openflow - Snowflake와 Bring Your Own Cloud(BYOC)의 두 유형이 있어요.
제어 플레인(Control plane)
제어 플레인은 Openflow 런타임을 관리·관측하는 데 사용되는 모든 구성 요소를 포함하는 계층이에요. 여기에는 사용자가 Openflow 캔버스를 통해 또는 Openflow API를 통해 상호작용하는 Openflow 서비스와 API가 포함돼요. Openflow - Snowflake 배포에서 제어 플레인은 Snowflake 소유의 공용 클라우드 인프라·서비스와 제어 플레인 애플리케이션 자체로 구성돼요.
BYOC 배포
BYOC 배포는 자체 클라우드 환경에 배포되는 런타임의 컨테이너 역할을 하는 배포예요. 컴퓨팅, 인프라, 스토리지 사용량에 따라 비용이 발생해요. 자세한 내용은 Openflow BYOC 비용 및 확장 고려 사항을 참조하세요.
Openflow - Snowflake 배포
Openflow - Snowflake 배포는 런타임의 컨테이너이며 컴퓨트 풀을 사용해 배포돼요. 가동 시간과 컴퓨팅 사용량에 따라 사용 요금이 발생해요. 자세한 내용은 Openflow Snowflake 배포 비용 및 확장 고려 사항을 참조하세요.
런타임(Runtime)
런타임은 데이터 파이프라인을 호스팅하며, 프레임워크가 보안, 단순성, 확장성을 제공해요. Openflow를 사용해 VPC에 Openflow 런타임을 배포할 수 있어요. 런타임에 Openflow 커넥터를 배포하고, Openflow 프로세서와 컨트롤러 서비스를 사용해 완전히 새로운 파이프라인을 구축할 수도 있어요.
Openflow - Snowflake 배포 런타임
Openflow - Snowflake 배포 런타임은 Snowpark Container Services 서비스로 배포되어, 기반 컴퓨트 풀로 표현되는 Openflow - Snowflake 배포에 연결돼요. 고객은 배포를 통해 런타임을 요청하고, 배포가 사용자를 대신해 요청을 실행해요. 생성 후 고객은 해당 기반 서비스에 대해 생성된 URL에서 웹 브라우저로 런타임에 접근해요.