1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Snowflake のデータを ADF で繋ごうとした際固定IPのみ許可されたので、面倒だった

Posted at

概要

  • Snowflake 管理者「固定 IP しかダメ」

VM 作って Self-hosted IR を立てて接続

  • Snowflake が 固定送信元 IP(IP Allowlist)しか許さない場合
    • VM に Self-hosted Integration Runtime(IR)を立てて固定 Public IP で接続
  • Snowflake が Private Endpoint(PrivateLink)を使えるなら、ADF のマネージド環境(Managed VNet + Private Endpoint)を使ってお気楽接続な筈。

IR install もあって、しかも script からやると escape で躓き易いので手動でやったほうが楽じゃないかと思ってします・・けど、IaC 化したいし・・ね

何が起きたか

  1. 目的:ADF に Snowflake からパイプラインでデータを流す。
  2. Snowflake 管理者に「接続方法の許可はい?」と聞いたら答えは「固定 IP のみ」。
  3. 一応「Private Endpoint(PE)は?」 → 管理者「ダメ」
  4. 解決策:VM(Windows)を用意して Self-hosted IR をインストール。VM に静的 Public IP を付け、Snowflake 側で Allowlist に登録してもらう

開発時と、本番で、静的IP2つもいるし、面倒・・ :sweat_smile:

Self-hosted IR を選んだ理由

  • Self-hosted IR は ADF とプライベートネットワーク間のブリッジ役。公式ドキュメント参照のこと。
  • 主な理由:
    • Snowflake が IP Allowlist で接続元を限定 → 送信元 IP を固定化する必要あり
    • VM に Public IP を付ければその IP を Snowflake に登録できる
    • Self-hosted IR は Windows ベースの MSI インストーラで配布され、VM 自動インストールが容易

Private Endpoint を使えれば?

  • 固定 IP 要らないので、VM も不要(もっと良い方法もあったのかもしれないけど :thinking:
  • セルフホスト IR も不要

代替案

  • NAT Gateway / Azure Firewall を使って VNet のアウトバウンド IP を固定化する方法もあったけど、比較検討時は、微妙にこっちのほうが高そうだったので VM 案にした

移行時の落とし穴

  • EncodedCommand を UTF-8 で渡して VM 上の PowerShell が文字化け → スクリプト失敗(地味にハマる)

用意して助かったもの

  • msiexec の ExitCode やインストーラのログを VM 側に残す仕組み
  • IR のオンライン確認を自動化(az datafactory integration-runtime show で状態確認)

あとがき

IaC をしつつ ADF を試していたんだけど、別件でひと月以上離れてたらだいぶ忘れてまいった・・。
ちゃんと、IaC 仕上げてからであればよかったんだけど・・ :sweat:

ADF 上の Pipeline も消えちゃってるようにみえるし・・。さて戻せるかどうか・・ :thinking:

公式ドキュメント

  • Azure Data Factory: Create and configure a self-hosted integration runtime

  • ADF Integration Runtime 概念(IR の種類について)

  • Snowflake Docs(Private connectivity / Network Policies を検索)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?