Open4
Managed Network を使っている Data Factory から Azure Functions を実行する
Data Factory のマネージド仮想ネットワークとは
- Data Factory がマネージする仮想ネットワークの中に統合ランタイムをデプロイできる
- 仮想ネットワークはリソースとして見えるものではない
- プライベート エンドポイント を Data Factory から展開できる
- そのプライベートエンドポイントはマネージド プライベート エンドポイントと呼ばれる
サポートされているデータ ソースとサービス
Managed VNet を有効にする方法
展開時に有効にする場合、[Enable Managed Virtual Network on the default AutoResolveIntegrationRuntime]のチェックを付ける。
展開後、Data Factory Studio から Integration runtimes を見ると自動的に作成された VNet に ランタイムが展開されていることが分かる。
プライベート エンドポイントかつ VNet 統合された Azure Functions を ADF から使う
こういうことができる。
こちらの記事で紹介されている。
Private Endpoint を使うために Premium か App Service プランを使う必要がある。
何が嬉しいか
- Data Factory から Azure Functions へのトラフィックをユーザーが展開した仮想ネットワークに閉じ込めることができる
- Azure Functions からプライベート エンドポイント経由で他のリソースにアクセスできる
- Azure Functions からのトラフィックを Azure Firewall 等で制御できる
展開の仕方
1. マネージド プライベートエンドポイントを作る
Data Factory Studio の画面から作る。
プライベート エンドポイント側で承認すると Approved になる。
以下は Private Endpoint 側の画面。承認が必要なプライベートエンドポイントがある場合は Pending 状態の接続がある。
2. リンク サービスを作る
Azure Functions へのリンクを作る。
3. パイプラインで Azure Functions を使う
作成したリンク サービスを指定し、関数名を設定する。
3. デバッグ実行する
[デバッグ]で状態が成功になっていたら完成。
出力から HTTP のレスポンスが確認できる。
Tips
Functions で 404 が返ってくる
再起動 & スケールアップ/ダウンを試してみる。
Functions で 429 が返ってくる
しばらく待つ。もしくは host.json
で dynamicThrottlesEnabled
を設定すると 429 を返さなくなる。