Openflow - Snowflake 배포 소개
Openflow - Snowflake 배포 소개
기능 — 일반 공급(Generally Available)
Openflow Snowflake 배포는 AWS, Azure, GCP의 상용 리전에 있는 모든 계정에서 사용할 수 있어요.
Openflow - Snowflake 배포는 Snowpark Container Services(SPCS)에서 실행되며, Iceberg와 Snowflake 네이티브 스토리지 같은 상호 운용 가능한 스토리지에 걸쳐 데이터 통합과 연결을 위한 간소화되고 통합된 솔루션을 제공해요. Snowflake 내부의 완전 자체 포함 서비스라 배포·관리가 쉬우며, 데이터 플로우 실행에 편리하고 비용 효율적인 환경을 제공해요. 핵심 이점은 Snowflake의 보안 모델과 기본적으로 통합된다는 점으로, 원활한 인증, 권한 부여, 네트워크 보안과 간소화된 운영이 가능해요.
고객은 BYOC와 Snowflake 배포를 모두 가질 수 있지만, 다음은 Snowflake 배포에 잘 어울리는 사용 사례예요.
- bronze 레이어에 전체 충실도 데이터 통합: 다양한 소스의 원시 데이터를 Snowflake로 직접 랜딩하고 Openflow Snowflake 배포를 사용해 추출·로드해요.
- 데이터 강화: Snowflake 안에 이미 존재하는 테이블을 강화하는 파이프라인을 실행해요.
- 수집부터 인사이트까지 한 곳에서: 전체 데이터 수명주기(수집, 처리, 제공)가 Snowflake 생태계 안에서 일어나는 애플리케이션을 구축해요.
- AI로 원시 데이터를 인사이트로 변환: 비구조화 데이터를 수집한 다음, 예를 들어 Snowflake CoWork를 사용해 이를 검색·이해하고, 사용자의 다른 구조화 데이터와 함께 활용해요.
- 리버스 ETL 사용: API, 메시징 인프라 등을 통해 외부 운영 시스템과 공유함으로써 인사이트 생성의 순환을 완결해요.
execute-as 역할과 외부 접근 통합 이해하기
Openflow - Snowflake 배포는 일반적으로 Snowflake 외부에 있는 데이터 소스와 대상지와 상호작용할 수 있어야 해요. 또한 이 배포는 Snowflake 자체와도 통신하고 접근할 수 있어야 해요. execute-as 역할과 외부 접근 통합(External Access Integration)이 이를 지원해요.
execute-as 역할이란?
execute-as 역할은 특정 Openflow 런타임에 바인딩된 Snowflake 역할이에요. SNOWFLAKE_MANAGED 인증을 사용하는 커넥터는 이 역할의 권한(또는 이 역할에 부여된 하위 역할의 권한)으로 실행돼요. execute-as 역할은 다음 작업에 사용돼요.
- 외부 접근 통합(EAI)에 대한 접근 권한 부여. 이 EAI는 런타임이 Snowflake 자체 안에서 데이터 소스와 대상지에 접근할 수 있게 하는 규칙을 지정해요.
- Snowflake 리소스에 대한 접근 권한 부여.
- 커넥터별 리소스에 대한 접근 권한 부여.
execute-as 역할은 Openflow 세션 토큰과 연결되어 있으므로 Snowflake에 인증하기 위한 별도의 서비스 사용자와 키 페어를 만들 필요가 없어요.
Openflow 안의 외부 접근 통합(EAI)이란?
외부 접근 통합(EAI)은 Openflow 커넥터가 외부 데이터를 가져오는 소스 시스템 같은 외부 리소스에 대한 안전한 접근을 제공하도록 설계된 Snowflake 객체예요. Openflow Snowflake 배포는 EAI와 네트워크 규칙을 함께 사용해 Openflow 커넥터가 읽거나 쓸 수 있는 엔드포인트를 정의해요.
데이터 엔지니어는 주어진 커넥터와 그 기반 런타임에 특화된 EAI와 execute-as 역할을 정의·구성해요.
일반적인 Openflow - Snowflake 배포 워크플로
다음 절에서는 Openflow - Snowflake 배포 개념과 워크플로를 설명해요.
| 사용자 역할 | 작업 |
|---|---|
| Snowflake 관리자 | 핵심 Snowflake 및 외부 접근 통합을 구성해요. Snowflake에 배포 집합을 만들어요. Openflow UI는 배포와 런타임 생성·유지보수 관리에 사용돼요. Openflow UI를 통해 사용자는 모든 배포에서 런타임을 생성·업그레이드·삭제할 수 있어요. |
| 데이터 엔지니어(파이프라인 작성자, 데이터 수집 담당) | Snowflake 관리자와 협력해 Openflow - Snowflake 배포가 외부 데이터 소스에 접근할 수 있도록 허용 목록 도메인을 구성해요. 실행 역할(execute-as roles), 외부 통합, 런타임이 나중에 사용할 수 있는 기타 객체를 만들어요. 런타임 캔버스를 사용해 완전히 새로운 플로우를 구축하거나 배포된 커넥터를 구성해요. 완전히 새로운 플로우를 만들거나 기존 커넥터를 그대로 또는 맞춤화의 시작점으로 사용해요. 커넥터는 특정 통합 사용 사례를 해결하는 간단한 방법이며, 기술 수준이 낮은 사용자도 데이터 엔지니어의 도움 없이 배포할 수 있어요. |
| 데이터 엔지니어(파이프라인 운영자) | 플로우 매개변수를 구성하고 플로우를 실행해요. |
| 데이터 엔지니어(실버·골드 레이어 변환 담당) | 파이프라인이 채운 bronze 레이어의 데이터를 분석용 silver·gold 레이어로 변환하는 역할을 담당해요. |
| 비즈니스 사용자 | 분석을 위해 gold 레이어 객체를 사용해요. |
배포와 런타임 계층 구조
Openflow는 관리를 실행과 분리해요.
- 제어 플레인(control plane) 은 Openflow UI 또는 API를 통해 배포와 런타임을 생성·업그레이드·관측하는 데 사용하는 계층이에요. Openflow - Snowflake 배포에서 제어 플레인은 Snowflake가 운영해요.
- 배포(deployment) 는 런타임을 위한 데이터 플레인 컨테이너예요. 각 배포는 컴퓨트 풀로 뒷받침돼요. 계정은 프로젝트, 팀, 환경별로 워크로드를 분리하기 위해 여러 Openflow - Snowflake 배포를 가질 수 있어요. 배포 생성을 참조하세요.
- 런타임(runtime) 은 배포 안에서 데이터 플로우를 호스팅해요. 각 배포는 여러 런타임을 호스팅할 수 있고, 각 런타임은 고유한 execute-as 역할과 네트워크 접근 구성을 가져요. 런타임 생성을 참조하세요.
모든 Openflow 구성 요소의 정의는 Openflow 구성 요소를 참조하세요.
제한 사항
- 기본 역할이 ACCOUNTADMIN인 사용자는 Openflow - Snowflake 배포 런타임에 로그인할 수 없으며, 시도 시 오류 메시지가 표시돼요.
- 결제, 청구, 평가판 만료 또는 조직·계정 상태에 영향을 주는 기타 이유로 인한 Snowflake 계정 정지는 Openflow - Snowflake 배포에 영향을 줄 수 있어요. 정지된 후에는 계정이 재활성화되더라도 기존 배포가 보고 안 함(Not Reporting) 으로 표시되며 복구할 수 없어요. 자세한 내용은 Snowflake 계정 정지가 Openflow Snowflake 배포에 미치는 영향을 참조하세요.
- 프라이빗 연결이 필요한 고객은 아웃바운드 PrivateLink를 구성해야 해요. PrivateLink는 Business Critical Edition에서만 사용할 수 있어요.
다음 단계
Openflow - Snowflake 배포 설정 - 작업 개요