Snowflake CoCo Snowpipe 자동 설정 GA, 데이터 수집 파이프라인 구축 방법
한마디로
클라우드 저장소 경로만 말하면 CoCo가 Snowpipe 파이프라인을 만들고 적재까지 확인해 줘요
한눈에
Snowflake CoCo의 Snowpipe 자동 설정이 정식 출시(GA)됐어요. Amazon S3, Azure Blob Storage, Google Cloud Storage 경로를 알려주면 CoCo가 파일을 샘플링해 스키마를 추론하고, 표준 테이블이나 Snowflake 관리형 Apache Iceberg 테이블로 이어지는 파이프라인을 만든 뒤 적재까지 확인합니다. 새 데이터 소스를 연결할 때 데이터 엔지니어링 대기열을 기다리지 않아도 되는 게 실무에서 가장 크게 달라지는 점이에요.
기존 방식은 어디서 막혔나
Snowpipe는 클라우드 저장소에 새 파일이 도착하면 보통 몇 분 안에 읽어 들이는 Snowflake의 연속 적재 서비스예요. 문제는 첫 적재 전의 준비 작업이었습니다. 파일을 열어 포맷 옵션을 정하고, storage integration, stage, table, pipe를 만들어야 해요. 클라우드 팀은 IAM role, trust policy, 파일 도착을 알리는 이벤트 알림까지 따로 설정해야 했고요. 원문은 신규 앱 출시 직후처럼 데이터 가치가 가장 큰 며칠이 이 준비 때문에 버킷 안에 묶여 지나간다고 짚습니다. 클릭스트림, 보안 로그, 센서 데이터, 파트너 일일 파일처럼 클라우드 저장소에 파일로 쌓이는 피드가 모두 해당합니다.
이번에 달라진 것
실무자가 쓰는 흐름은 단순해요. Snowsight, CoCo Desktop, CoCo CLI에서 "s3://my-bucket/clickstream/ 데이터를 계속 수집해줘"처럼 한 문장으로 시작합니다. Snowsight에서는 Ingestion > Add Data에서 Set up Snowpipe with CoCo를 골라도 돼요.
- 포맷 감지: CSV, JSON, Parquet, Avro, ORC, XML을 샘플링해 감지하고 컬럼명과 데이터 타입을 제안합니다.
- 재사용과 중복 방지: 호환되는 storage integration, stage, file format은 재사용해요. 같은 파일을 덮는 pipe가 이미 있으면 알려주고 판단을 기다려서 이중 적재를 막습니다.
- 과거 파일 처리: pipe 생성 전에 도착한 파일은 최근 7일치를 바로 적재하겠냐고 제안하고, 더 오래된 파일은 일회성 적재로 처리할 수 있어요.
- 스키마 변경 대응: 앱이 새 필드를 보내기 시작하면 schema evolution을 켜서 새 컬럼으로 받을 수 있습니다. 기존 테이블이면 먼저 물어봐요.
- 적재 확인: pipe 상태, 알림 전달, 적재 이력을 확인하고 오류를 보고합니다. SYSTEM$PIPE_STATUS나 COPY_HISTORY를 직접 조회하지 않아도 되고, 아직 파일이 안 왔다면 테스트 파일 절차를 안내해요.
일회성 대량 적재(Bulk loading)도 같은 날 GA됐습니다. 백필, 마이그레이션, 온디맨드 전달처럼 파일이 이미 있을 때 CoCo에 요청하면 file format과 테이블을 준비하고 COPY INTO를 실행한 뒤 결과를 검사해요. 일회성인지 연속인지 요청에 없으면 먼저 물어봅니다.
권한과 보안은 어떻게 처리되나
AWS에서는 시간 제한이 있는 AWS IAM temporary delegation 요청을 한 번 승인하면 Snowflake가 storage role, trust policy, 버킷 알림을 만들어요. 공유할 AWS access key가 필요 없습니다. CoCo는 버킷 하나의 알림 접근 권한, 그리고 Snowpipe가 쓰는 storage role을 만들거나 수정할 권한만 요청하며, 그 role이 할 수 있는 범위는 permissions boundary로 제한돼요. AWS Management Console에서 요청 권한을 검토한 뒤 허용, 거부, 또는 AWS 관리자 승인 요청 중에서 고릅니다. 버킷에 이미 있던 알림 규칙은 그대로 유지돼요.
Snowflake 객체를 만들거나 바꾸기 전에는 기본값으로 SQL을 보여주고 명시적 승인을 받습니다. 모든 문장은 사용자의 활성 Snowflake role 권한으로 실행돼요. 설정이 끝나면 CoCo 세션이 종료된 뒤에도 Snowpipe가 데이터를 계속 적재합니다. AWS CloudTrail에는 위임된 role 아래 Snowflake가 한 설정 작업이 기록되고, Snowflake 쿼리 이력에는 CoCo가 사용자 role로 실행한 문장이 남아요.
배포 방식 선택지와 Iceberg
인프라를 코드로 관리하는 팀을 위해 설정 옵션이 네 가지로 나뉩니다.
- Amazon S3 임시 접근
- 전체 파이프라인용 Terraform
- 기존 클라우드 접근 재사용(알림 설정만 안내)
- Snowflake 객체 생성과 클라우드 설정 파일(Terraform, CloudFormation, ARM 템플릿) 생성
Terraform은 AWS, Azure, Google Cloud를 지원하고 표준 테이블과 Iceberg 테이블 모두 Snowflake 객체와 클라우드 리소스를 샘플링 결과로 채워 작성해요. 팀은 pull request로 리뷰하고 평소대로 배포하면 됩니다. CoCo Desktop과 CoCo CLI는 로컬 클라우드 자격 증명으로 Terraform을 적용할 수도 있는데, 적용 전마다 먼저 물어봐요. Snowsight에서는 워크스페이스의 snowpipe 폴더에 파일이 저장됩니다.
Iceberg를 고르면 Snowflake 관리형 Iceberg 테이블과 이를 채우는 pipe를 만듭니다. Snowpipe가 데이터를 Parquet로 쓰고 Iceberg 메타데이터는 Snowflake가 관리하기 때문에, Spark 같은 Iceberg 호환 엔진도 같은 테이블을 읽을 수 있어요.
실무 적용 체크리스트
- 신규 소스 연결을 요청하기 전에 데이터가 쌓이는 버킷 경로와 적재 대상 테이블 유형(표준 또는 Iceberg)을 정해 두세요.
- 요청하는 사람의 Snowflake role 권한이 곧 실행 범위라서, 어떤 role로 CoCo를 쓸지 먼저 확인해야 합니다.
- AWS 승인 화면에서 요청 권한이 버킷 하나의 알림 접근과 storage role 관리 범위인지 눈으로 확인하세요.
- 이미 쌓인 과거 파일이 있으면 최근 7일 적재 제안을 받을지, 일회성 적재로 따로 돌릴지 결정하세요.
- 앱이 필드를 자주 추가한다면 schema evolution 사용 여부를 정해 두면 좋아요.
- 코드 기반 배포 조직은 Terraform 옵션을 골라 기존 리뷰 절차에 그대로 태우면 됩니다.
자주 묻는 질문
Snowflake CoCo Snowpipe 자동 설정이란 무엇인가요?
클라우드 저장소에 쌓이는 파일을 Snowflake 테이블로 계속 불러오는 파이프라인을, 자연어 대화로 CoCo가 만들어 주는 기능이에요. 파일 샘플링, 스키마 추론, 파이프라인 구축, 적재 확인까지 한 번의 대화로 이어집니다. Snowsight, CoCo Desktop, CoCo CLI에서 쓸 수 있어요.
어떤 클라우드 저장소와 파일 포맷을 지원하나요?
Amazon S3, Azure Blob Storage, Google Cloud Storage 경로를 지원합니다. CoCo가 CSV, JSON, Parquet, Avro, ORC, XML 포맷을 감지하고 컬럼명과 데이터 타입을 제안해요.
AWS 접근 키를 넘겨줘야 하나요?
아니요. 시간 제한이 있는 AWS IAM temporary delegation 요청을 AWS Management Console에서 승인하면 Snowflake가 storage role과 버킷 알림을 설정하고, 공유할 access key는 필요 없습니다. CloudTrail에서 Snowflake가 한 설정 작업을 추적할 수 있어요.
Iceberg 테이블로도 적재할 수 있나요?
네. Snowflake 관리형 Iceberg 테이블과 이를 채우는 pipe를 CoCo가 설정해요. Snowpipe가 Parquet로 쓰고 Snowflake가 Iceberg 메타데이터와 테이블 유지관리를 맡기 때문에 Spark 등 Iceberg 호환 엔진에서 같은 데이터를 읽을 수 있습니다.
에디터 노트
앱 출시나 캠페인 직후 로그를 빨리 분석하려는 마케팅, 제품 팀에는 데이터 엔지니어링 대기열이 병목이었는데, 이 부분이 줄어드는 변화예요. 다만 권한 있는 사용자가 직접 연결하는 구조라서, 누가 어떤 role로 새 소스를 붙일지 거버넌스 기준을 미리 정해 두는 편이 안전합니다. 기본값이 객체 변경 전 명시적 승인이라 통제 장치는 있지만, 승인 화면을 그냥 넘기는 습관이 가장 큰 위험이에요.
참고 출처 | 원문 보기
태그
- snowflake
- 스노우플레이크, 클라우드 데이터 플랫폼
- snowpipe
- 스노우파이프, 파일 도착 시 연속 적재하는 서비스
- data-ingestion
- 데이터 수집, 외부 데이터를 분석 환경으로 불러오는 작업
- apache-iceberg
- 아파치 아이스버그, 여러 엔진이 함께 읽는 개방형 테이블 포맷
관련 마테크
- Snowflake Workday 제로카피 연동 활용법과 Iceberg 공유 방식Workday 인사 데이터를 복사 없이 Snowflake에서 바로 조회하고, 반대로 Snowflake 테이블도 Workday에서 쓸 수 있어요
- BigQuery란, Apache Iceberg로 Snowflake와 데이터 연합하는 법BigQuery와 Snowflake가 데이터 복제 없이 같은 테이블을 공유하는 레이크하우스 구조가 나왔어요
- Snowflake CoCo 프로필 사례, 월간 예측 1주에서 몇 시간으로AI에게 우리 데이터와 용어를 미리 알려줬더니 일주일 걸리던 예측이 몇 시간으로 줄었어요
- Snowflake Cortex AI Gemini 4 Argon 활용법과 실무 적용 포인트Snowflake 안에서 Gemini 4 Argon을 바로 불러 쓰게 되어 데이터를 밖으로 옮기지 않고 AI 분석을 돌릴 수 있어요