Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
External Network Accessよもやま話
Search
Gaku TASHIRO
November 12, 2023
710
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
External Network Access よもやま話
2023年11月9日(金)に沖縄SnowVillageにおいて発表したLTの資料です。
Gaku TASHIRO
November 12, 2023
More Decks by Gaku TASHIRO
See All by Gaku TASHIRO
Terragrunt x Snowflake + dbt で作るマルチテナントなデータ基盤構築プラットフォーム
gak_t12
0
790
SWTTokyo25 Community Hub 生FrostyFriday!
gak_t12
1
210
Snowflake Cortex Searchについて
gak_t12
0
480
今さら聞けないdbtの基本LT
gak_t12
8
9k
データエンジニアとしてちゅらデータで働くことになった
gak_t12
1
2.8k
Featured
See All Featured
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
540
GraphQLとの向き合い方2022年版
quramy
50
15k
Typedesign – Prime Four
hannesfritz
42
3.2k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
240
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
420
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
370
Evolving SEO for Evolving Search Engines
ryanjones
0
280
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
YesSQL, Process and Tooling at Scale
rocio
174
15k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
880
Abbi's Birthday
coloredviolet
3
9.9k
Transcript
External Network Access よもやま話 © 2023 Chura DATA Inc.
⾃⼰紹介 © 2023 Chura DATA Inc. ちゅらデータ株式会社 シニアデータエンジニア 1974年12⽉12⽇⽣まれ(48歳) 現在、埼⽟県川越市在住(フルリモート勤務)
• 2022年9⽉ちゅらデータ株式会社にJoin • Snowflakeやdbtが好き • 2023Snowflakeユーザーグループリーダーの⼀員 2
⾃⼰紹介 © 2023 Chura DATA Inc. ちゅらデータ株式会社 シニアデータエンジニア 1974年12⽉12⽇⽣まれ(48歳) 現在、埼⽟県川越市在住(フルリモート勤務)
• 2022年9⽉ちゅらデータ株式会社にJoin • Snowflakeやdbtが好き • 2023Snowflakeユーザーグループリーダーの⼀員 • 先⽇のDCWTではサイロマンになりました 3
• External Network Accessとは • 以前の⽅式(External Function) • External Network
Access vs External Function • External Network Accsss 使⽤シーン Agenda © 2023 Chura DATA Inc.
External Network Accessとは © 2023 Chura DATA Inc.
External Network Access For Snowparkとは ※2023年11⽉現在 © 2023 Chura DATA
Inc. 6 • Snowfalke Summit 2023@LasVagasにて発表 • UDF/UDTFやストアドプロシージャで使える • 特定の外部ネットワークに対して、セキュアにアクセス • 構築はSnowflake内で完結 • 使⽤例 • 翻訳 • Slack通知 • リバースELT • Stramlit in Snowflakeデータアプリ • データ抽出(もできなくはない)
External Network Access の構築は簡単︕ © 2023 Chura DATA Inc. 7
• Snowflake側 1. Snowflake Secretsの設定 2. ネットワークルールの作成 3. External Access Integrationの作成 4. UDF/UDTF, ストアドプロシージャの処理の実装 5. 呼び出し • 外部API • 外部API関連の設定やAPI KEYの取得
• 変換系のAPI(翻訳など) • ⽐較的⼩さなマスターデータ系 • 抽出と取り込み(Federated Query) • データソース側がほぼ不変 •
エラー制御等必要なら、専⾨のETLツールを • リバースETL External Network Accessの使い所 © 2023 Chura DATA Inc. 8
• ⼤きなデータはあまりおすすめできない • マイクロパーティションによる最適化やキャッシュは期待できない • Snowflake、外部API、通信コストも⾼くなる External Network Accessの制約︖ ©
2023 Chura DATA Inc. 9
以前の⽅式(External Function) © 2023 Chura DATA Inc.
以前の⽅式(External Function) © 2023 Chura DATA Inc. 11 • Snowflake
• 外部関数をSQLから • 外部 • プロキシサービスへ • リモートサービスへ転送 • 処理する(外部APIとか) • プロキシサービスへ • Snowflake • 結果を取得して表⽰
以前の⽅式(External Function)での構築は⼤変・・・・・・ © 2023 Chura DATA Inc. 12 • Snowflake側
• 外部関数の作成 • API INTEGRATIONの設定 • SECURITY INTEGRATIONの設定 • 外部(中間) • プロキシサービスの構築(API Gateway系のサービス) • リモートサービスの環境構築 • Cloud Functionsとか、EC2の構築とか、いずれか • 適切な権限設計・設定(IAM) • 適切なネットワーク設定(IP制限など) • リモートサービス側の処理の実装 • 外部API • 外部API関連の設定やAPI KEYの取得
以前の⽅式(External Function)での構築は⼤変・・・・・・ © 2023 Chura DATA Inc. 13 • Snowflake側
• 外部関数の作成 • API INTEGRATIONの設定 • SECURITY INTEGRATIONの設定 • 外部(中間) • プロキシサービスの構築(API Gateway系のサービス) • リモートサービスの環境構築 • Cloud Functionsとか、EC2の構築とか、いずれか • 適切な権限設計・設定(IAM) • 適切なネットワーク設定(IP制限など) • リモートサービス側の処理の実装 • 外部API • 外部API関連の設定やAPI KEYの取得 ここが⼤変!
External Network Accsss vs External Function © 2023 Chura DATA
Inc.
External Network Access vs External Function⽅式 © 2023 Chura DATA
Inc. 15 External Network Access External Function⽅式 構築 ◯ X Snowflakeでほぼ完結 プロキシサービス、リモートサービスを 外部で⽤意が必要 対応⽅式 ◯ △ UDF,ストアドプロシージャ UDFのみ 対応⾔語 ◯ ◎ Python、Scala、Java なんでもOK、⾃由度⾼し 応答サイズ ? △ (制限は⾒当たらず) バッチ最⼤10MB コスト ◯ △ Snowflake Warehouse データ転送 外部API使⽤料 Snowflake Warehouse データ転送 外部API使⽤料 プロクシサービス使⽤料 リモートサービス使⽤料 その他 データシェア未対応
External Network Accsss 使⽤シーン © 2023 Chura DATA Inc.
使⽤シーン Google Translate API (Snowflake Example) © 2023 Chura DATA
Inc. 17 https://docs.snowflake.com/en/developer-guide/external- network-access/external-network-access-examples 実装するための⼿順あり、まずこれを参考に 本例は、Function的な使い⽅
使⽤シーン Slack通知 © 2023 Chura DATA Inc. 18 • メールでSlack通知することはできた
• ⾒にくい︕表⽰が途中で切れる • SlackAPI⽅式だと、アラートの重要度で⾊分けも可能 • Waringなら⻩⾊ • Criticalなら⾚⾊ • 利⽤シーン • ストアドプロシージャ実⾏時に エラーが発⽣したら通知 • ⽇次レポートを通知
使⽤シーン dbt をキック © 2023 Chura DATA Inc. 19 •
Snowpipeでデータを取り込んだ後、dbt起動させて、transferさせたくな いですか︖ • 複数のテーブル監視のTaskA, TaskB・・・・・ • ⼦TaskCで dbt APIをキック TaskA TableA取り込み TaskB TableB取り込み TaskC dbt API をKick! TaskRoot
使⽤シーン Snowflake External Network Access 〜Notion〜(truestar様) © 2023 Chura DATA
Inc. 20 • SnowflakeUDFからNotionのテーブルに書き込み
使⽤シーン Federation Query on Bigquery (harryさん) © 2023 Chura DATA
Inc. 21 • SnowflakeからBigQueryのデータを 取得 • 100万⾏超の2⾏データをBigQuery から取得するのに、Warehouseサイ ズXSで1分程度 • →通信サイズに制限なし︖︖ • ※外部関数はバッチあたりの最⼤応 答サイズが10MB
使⽤シーン ⾃然⾔語でSQLクエリを⽣成し、データアクセスを効率化 © 2023 Chura DATA Inc. 22 • DCWTにてDATUM
STUDIOブースでデモ • Streamlit in SnowflakeとOpenAI APIを統合 • ⾃然⾔語でデータへ問い合わせ • 対話形式でデータが得られる
EOL © 2023 Chura DATA Inc. 23 ご清聴ありがとう ございました︕︕︕