COLUMN

Snowflakeは何がすごい?何ができる?外部ETL連携の事例と注意点

  • ホーム
  • コラム
  • Snowflakeは何がすごい?何ができる?外部ETL連携の事例と注意点
Snowflakeは何がすごい?何ができる?外部ETL連携の事例と注意点

「Snowflakeの名前はよく聞くけれど、実際は何がすごいのかな?」、データ活用を検討しているお客様からよくいただく質問です。
Snowflakeはクラウド型のデータウェアハウス(DWH)として知られていますが、その実力はデータの保管や分析にとどまりません。
業務ユーザー向けの画面を作ったり、外部サービスを呼び出したりと、データを「使う」ところまでカバーします。

本記事では、Snowflakeの画面からHULFT SquareのETLジョブを起動し、CSVやExcelファイルを出力する仕組みを紹介します。
実装で分かった認証、ネットワーク、長時間処理の注意点も解説します。

1. Snowflakeの何がすごい? DWHを超えたデータプラットフォーム

Snowflakeのすごさを一言で表すなら、「これまで分析基盤の外にあった機能が、Snowflakeの中に入ってくる」点です。
クラウドサービスなのでインフラの構築・管理が不要という基本的な利点はもちろんありますが、特に注目したいのは次の2点です。

Webアプリまで作れる

Streamlit in Snowflakeという機能を使うと、業務ユーザー向けのWeb画面をSnowflakeの中に直接構築できます。
別途Webサーバー立てる必要はありません。
BIツールを追加で使わずに画面や簡易ダッシュボードを実装することも可能です。

外部サービスと直接つながる

External Access Integration(外部アクセス統合)という機能で、Snowflakeの中から外部のSaaS APIを呼び出せます。
データ基盤でありながら、周辺サービスをつなぐハブの役割まで担えます。

このようにSnowflakeは「データを貯める場所」ではなく、「データを使う業務がその場で完結する場所」へ進化しています。

2. 事例紹介 ボタン一つでETLが動く画面を作ってみた

抽象的な説明だけではイメージしづらいので、ここからは実際に構築・検証した事例と仕組みを紹介します。

実現したい要件はシンプルです。
「業務ユーザーが自分のタイミングで、画面からCSVやExcelのファイルを出力したい」。
裏側のデータ変換とファイル出力は、ETLツールの HULFT Square が担当します。

仕組みの流れは次のとおりです。

  1. ユーザーが Streamlit in Snowflake の画面でボタンを押す
  2. Snowflakeが External Access Integration 経由でHTTPリクエストを送信し、HULFT Square のREST APIを呼び出してETLジョブを起動する
  3. データ変換が実行され、CSVやExcelのファイルが指定の保存先に出力される

ポイントは、ユーザーがSnowflakeの画面から一歩も出ていない点です。
このためユーザーは新たにETLツールの操作方法を覚える必要がありません。

従来は、ETL処理といえば夜間バッチを待つか、運用担当者に実行を依頼するのが一般的でした。
今回の仕組みなら、必要なときに必要な人がボタンを押すだけです。
「データが欲しい」と思ってから手にするまでの時間を、大幅に短縮できます。

なぜSnowflakeだけで完結させず、外部ETLツールを使うのか

ここまで読んで、「データ変換やCSV生成なら、Snowflakeの中だけでも完結できるのでは」と疑問に思われた方もいるかもしれません。
実際、CSVだけならSnowflake内でPythonを使って生成する選択肢もあります。

それでもファイル出力をHULFT Square に任せた決め手は、Excel形式での出力要件です。
書式を整えたExcelファイルの生成は、Snowflake内でもPythonコードを書けば実装できますが、HULFT Square にはExcel専用コネクタが標準で用意されており、GUIの設定だけで構築が可能です。
開発のハードルが下がることに加え、保守を担うメンバーのスキルを問わない点は、長く運用するシステムでは大きなメリットです。

そこで今回は、CSVもExcelも含めたファイル出力をHULFT Square側に集約し、すべての出力でSnowflakeから呼び出すAPI連携の仕組みを共通化しました。
データの蓄積と画面はSnowflake、ファイルの整形と受け渡しはETLツールという役割分担です。

3. 実装のポイント External Access Integration(外部アクセス統合)

技術的な仕組みも簡単に紹介します。
中心となるのは External Access Integration です。
これはSnowflakeから外部への通信を許可するための設定で、次の3つのオブジェクトを組み合わせて構成しました。

  • Network Rule: 通信してよい接続先(ドメイン)の定義
  • Secret: 認証情報の安全な保管
  • External Access Integration: 上記2つを束ねてアプリに紐づける設定

いずれもSQL数行で作成できます。
許可した接続先以外への通信は遮断され、認証情報はコードに書かずに管理できるため、セキュリティ面でも安心できる設計です。

HULFT Square 側の準備も、既存のETLスクリプトを「APIマネジメント」機能でそのままREST APIとして公開するだけです。
連携のために処理を作り直す必要はありません。

なお、HULFT Square のREST APIジョブの認証方式はBearerトークン方式のみのため(2026年7月時点)、HULFT Square の認証情報(メールアドレス・パスワード)が必須です。
この認証情報は先ほどの Secret オブジェクトに保管し、トークンの取得からジョブ実行まではコード内で完結するため、ユーザーの手作業は発生しません。

4. 実際の検証で分かった注意点

構築自体は順調でしたが、検証して初めて分かった注意点もありました。
代表的なものは以下の3つです。

認証トークンの有効期限管理

HULFT Square のAPI認証に使うリフレッシュトークンは、初期設定では30日で失効します。
しかも自動更新はできないため、有効期限の延長設定と、期限前に更新する運用ルールをあらかじめ決めておく必要があります。

Network Rule に許可するドメインは2つ必要

HULFT Square との通信では、認証(トークン取得)用とジョブ実行用でドメインが異なります。
そのため、Snowflake側のNetwork Rule には 2つのドメインを許可対象として登録する必要があります。

長時間ジョブは非同期実行+完了確認の設計に

同期実行には29秒の時間制限があります。
データ変換のような時間のかかる処理は、非同期実行と完了確認を組み合わせた設計が必要です。

どれも公式ドキュメントを読むだけでは気づきにくいポイントでした。
「つながる」ことと「業務で安定して使える」ことの間には、こうした設計ノウハウの差があります。

5. Snowflake活用はシステムエグゼが解決します

Snowflakeのすごいところは、DWHの枠を超えて「画面」も「外部連携」もひとつのプラットフォームで完結する点にあります。
今回は、画面のボタンひとつでETLが動く仕組みを実際に構築し、業務のスピード改善につながることがわかりました。

一方で、外部サービスとの連携には認証・ネットワーク・運用まで含めた設計ノウハウが求められます。

システムエグゼは、Snowflakeの導入支援から HULFT Square をはじめとする周辺サービスとの連携設計まで、こうした構築・検証の経験をもとにお客様の課題を解決します。
データ活用でお悩みの際は、ぜひお気軽にご相談ください。

コラム検索

連載タイトル

DOWNLOAD

資料ダウンロード

CONTACT

お問い合わせ