Set up Openflow - Snowflake Deployment: Create deployment

Set up Openflow - Snowflake Deployment: Create deployment (Openflow - Snowflake 배포: 배포 생성)

핵심 Snowflake를 구성한 후 Openflow 배포를 만들어요. 배포는 런타임과 커넥터를 위한 데이터 플레인 컨테이너예요. 각 배포는 여러 런타임을 호스팅할 수 있고, 각 런타임은 여러 커넥터를 실행할 수 있어 프로젝트·팀·환경별로 워크로드를 격리할 수 있어요. 배포 자체에는 별도 요금이 없으며, 활성 런타임만 Snowflake 크레딧을 소비해요.

출처: Snowflake Documentation

본문

기능 — 일반 공개(Generally Available)

Openflow Snowflake Deployments는 AWS, Azure, GCP의 상업용 리전에 있는 모든 계정에서 사용할 수 있어요.

  1. 배포 만들기.
  2. [선택] Openflow 전용 이벤트 테이블 구성 - Openflow 로그·메트릭을 저장할 Openflow 전용 이벤트 테이블 구성.

배포 만들기

Openflow UI 또는 SQL로 배포를 만들 수 있어요. 모든 새 배포는 gen 2예요.

Note

새 gen 1 배포는 만들 수 없어요. 기존 gen 1 배포는 변경 없이 계속 동작해요.

gen 1과 gen 2 리소스를 구분하는 다른 방법은 gen 1과 gen 2 리소스 식별 방법을 참고해요.

Openflow UI 사용

Note

PrivateLink UI 접근 설정에 설명된 대로 PrivateLink로 Openflow Runtime UI에 접근하려면 새 Openflow - Snowflake 배포를 만들 때 PrivateLink 옵션이 활성화되어 있는지 확인해요.

  1. 핵심 Snowflake 요구 사항 구성에서 정의한 역할로 Snowsight에 로그인해요.
  2. 탐색 메뉴에서 Ingestion » Openflow를 선택해요.
  3. Launch Openflow를 선택해요.
  4. Openflow UI에서 Create a deployment를 선택해요. Deployments 탭이 열려요.
  5. Create a deployment를 선택해요. 배포 생성 마법사가 열려요.
  6. Prerequisites 단계에서 모든 요구 사항을 충족하는지 확인하고 Next를 선택해요.
  7. Deployment location 단계에서 배포 위치로 Snowflake를 선택해요. 배포 이름을 입력하고 Next를 선택해요.
  8. Create Deployment를 선택해요.

SQL 사용 (gen 2)

Gen 2 배포는 SQL로 만드는 일급(first-class) Snowflake 객체예요.

USE ROLE OPENFLOW_ADMIN;

CREATE OPENFLOW DEPLOYMENT my_deployment
  DEPLOYMENT_TYPE = SNOWFLAKE
  -- USE_PRIVATE_LINK = TRUE,  -- Enable if you need PrivateLink
  DISPLAY_NAME = 'My Snowflake Deployment';

PrivateLink 고려 사항과 추가 파라미터는 빠른 시작: gen 2 Openflow를 참고해요.

[선택] Openflow 전용 이벤트 테이블 구성

Openflow는 로그와 메트릭을 생성해 Snowflake 이벤트 테이블로 보내요. 이 텔레메트리 데이터를 분석하는 데 유용한 쿼리는 Openflow 모니터링을 참고해요.

기본적으로 Openflow는 계정 이벤트 테이블(SNOWFLAKE.TELEMETRY.EVENTS)을 사용하지만, 배포별로 Openflow 전용 이벤트 테이블을 구성할 수 있어요. 전용 이벤트 테이블은 쿼리 성능 최적화, 세밀한 접근 제어, Openflow 모니터링·유지 관리 단순화를 위해 권장돼요.

  1. Openflow 인프라 스키마에 이벤트 테이블을 만들어요.
USE ROLE OPENFLOW_ADMIN;
USE DATABASE <openflow_db>;
USE SCHEMA <openflow_schema>;

CREATE EVENT TABLE IF NOT EXISTS <openflow_db>.<openflow_schema>.openflow_events;
  1. 배포 이름을 확인하고 이벤트 테이블을 설정해요.

Gen 2:

SHOW OPENFLOW DEPLOYMENTS;

ALTER OPENFLOW DEPLOYMENT <deployment_name>
  SET EVENT_TABLE = '<openflow_db>.<openflow_schema>.openflow_events';

Gen 1:

SHOW OPENFLOW DATA PLANE INTEGRATIONS;

ALTER OPENFLOW DATA PLANE INTEGRATION <OPENFLOW_DATAPLANE_INTEGRATION_NAME>
  SET EVENT_TABLE = '<openflow_db>.<openflow_schema>.openflow_events';

[선택] 모니터링 역할 생성

모니터링 역할은 데이터 엔지니어나 운영 팀이 OPENFLOW_ADMIN 역할 없이도 Openflow를 모니터링할 수 있게 해줘요.

  • 모니터링 역할을 만들려면 다음 코드를 실행해요.

Gen 2:

USE ROLE OPENFLOW_ADMIN;

CREATE ROLE IF NOT EXISTS <OPENFLOW_MONITOR_ROLE>;
GRANT MONITOR ON OPENFLOW DEPLOYMENT <deployment_name> TO ROLE <OPENFLOW_MONITOR_ROLE>;
GRANT ROLE <OPENFLOW_MONITOR_ROLE> TO ROLE <OPENFLOW_ADMIN_ROLE>;
GRANT ROLE <OPENFLOW_MONITOR_ROLE> TO USER <SNOWFLAKE_USER>;

Gen 1:

USE ROLE OPENFLOW_ADMIN;

CREATE ROLE IF NOT EXISTS <OPENFLOW_MONITOR_ROLE>;
GRANT MONITOR ON INTEGRATION <OPENFLOW_DATAPLANE_INTEGRATION_NAME> TO ROLE <OPENFLOW_MONITOR_ROLE>;
GRANT ROLE <OPENFLOW_MONITOR_ROLE> TO ROLE <OPENFLOW_ADMIN_ROLE>;
GRANT ROLE <OPENFLOW_MONITOR_ROLE> TO USER <SNOWFLAKE_USER>;

다음 단계

execute-as 역할 및 외부 접근 통합 생성

더 알아보기 (Learn more)