仮想ネットワーク (VNet) データ ゲートウェイを試してみた。

# はじめに
この記事はPower BI Advent Calendar 2024　19日目の記事になります。

https://qiita.com/advent-calendar/2024/powerbi

# 内容
　佐賀県の小売業（和服業）で情シスをしています。
　
 ios・android対応のお客様向けのアプリが下図の環境下で構築されており、アプリの利用状況の分析はGoogle AnalyticsとPower BIで行っているが、アプリをリリースして1年半経過し蓄積されたデータを分析する可能性があったため、データの取得方法を調査する意味でこの記事を書きました。

 　

社内　お客様アプリの現在の状況

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2277732/68eb878c-d0d2-9284-b4f7-5268a7954865.png)





## データ取得する手段

### １つ目　CSV出力
　店舗アプリの開発会社にCSV出力を定期出力するよう依頼しデータソースにする方法。店舗アプリの仕様が変わるとCSVフォーマットも変わり別途費用＋時間が掛かることもある


### ２つ目　オンプレミスデータゲートウェイを使用
　オンプレミスゲートウェイを設置する。ただ新たに仮想マシン(Windows)を構築し、そのPCにオンプレミスデータゲートウェイをインストールする必要がある。また定期的な更新も必要になります。

 　

 https://learn.microsoft.com/ja-jp/power-bi/connect-data/service-gateway-onprem
 
 
### ３つ目　仮想ネットワーク(VNet)データゲートウェイを利用
　仮想ネットワーク(Vnet)データゲートウェイを使用しての接続になります。
オンプレミスデータゲートウェイと異なり、仮想マシンの必要もなく接続することが可能です。
設定を行うにはMicrosoft AzureとPower BI両方の設定が必要になります。

　
 
Microsoft Learnより（仮想ネットワーク(vnet)データゲートウェイとは）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2277732/df06b0a7-11b7-d079-fa88-bfca283beb4f.png)





## 動作条件
　Microsoft Fabricの試用版でも仮想ネットワーク(Vnet)データゲートウェイが利用できるとの記載があった、ただ仮想ネットワーク(Vnet)データゲートウェイは様々な制限事項があるのでLearnをよく見てから設定を行う。
 仮想ネットワーク(Vnet)データゲートウェイは、Power BIのデータフローは未対応だったので、Microsfot Fabricのデータフロー Gen2で動作確認・接続確認を行いました。
 　


Microsoft Learnより
 
https://learn.microsoft.com/ja-jp/data-integration/vnet/overview


 仮想ネットワークデータゲートウェイの容量消費については、下記のLearnに「コストを管理するためのベスト プラクティス」があるので確認する。
 

 

https://learn.microsoft.com/ja-jp/data-integration/vnet/data-gateway-business-model




## 仮想ネットワーク(Vnet)データゲートウェイの設定
 　仮想ネットワーク(vnet)データゲートウェイを使用する場合には、オンプレミスデータゲートウェイと異なり、Power BI以外にもMicrosoft Azure側の設定が必要となります。

  Microsoft Learnの手順に従って設定を行います。




https://learn.microsoft.com/ja-jp/data-integration/vnet/create-data-gateways

### Microsft Azure側の設定
　Microsoft Azure側の設定は2か所になります。Microsoft Azureに詳しくない方やVNetに対する設定が慣れていない方は、組織内で詳しい方に変更の依頼等を行ってください。
 
#### リソースプロバイダーにMicrosoft.PowerPlaformを登録
　Microsoft Azureにログインしサブスクリプションからリソースプロバイダを選択し、「Microsoft.Powerplatform」にチェックをつけ登録します。

 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2277732/5aa3f499-b67e-bae2-e06b-344f6497077d.png)

#### 仮想ネットワーク(Vnet)の設定
　仮想ネットワーク(vnet)のサブネットの追加で、[サブネットの委任]のリストから [Microsoft.PowerPlatform/vnetaccesslinks]を選択します。 
　

:::note warn
Microsoft Learnに設定に対し注意事項の記載があります。Learnをよく見ながら設定を行ってください。
:::

 
 
Microsoft Learn サブネットを Microsoft Power Platform に関連付ける

https://learn.microsoft.com/ja-jp/data-integration/vnet/create-data-gateways#step-2-associate-the-subnet-to-microsoft-power-platform

 

  　
  設定画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2277732/7522aaaa-fd23-de1e-180b-dc22f8277e6b.png)

　
 


 ### Power BI側の設定
　Microsoft Azureの設定が完了したらPower BI側の設定になります。
 
#### 接続設定

　Power BIサービスの設定メニューから「接続とゲートウェイの管理」、仮想ネットワークデータゲートウェイを選択後、新規ボタンをクリックします。
またPower Platform管理センターでも設定が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2277732/74872929-0197-a98e-e328-0681eafc7b9a.png)



#### 仮想ネットワークデータゲートウェイ設定
　Microsoft Azure側の設定が完了したら、新しい仮想ネットワークデータゲートウェイの登録を行います。
ライセンス容量はFabricの試用版を選択し、Microsoft Auzre側で設定したサブスクリプション、リソースグループ、仮想ネットワーク、サブネットを選択し名前を付けて保存します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2277732/743fdb64-bb36-4460-1e7f-6086d36a134d.png)




###  データフロー Gen2での接続とデータ確認
　Microsfot Fabricのデータフロー Gen2を使用して接続の確認を行います。
 Microsoft Learnに設定方法があったので手順に従って設定を行う。接続画面のデータゲートウェイに「仮想ネットワーク　＋　名前（上記で設定した名前）」が表示されているので選択して接続確認をします。




https://learn.microsoft.com/ja-jp/data-integration/vnet/use-data-gateways-dfgen2-fabric


設定画面
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2277732/0948f10a-eb78-58c1-7ec7-e02ab8c3ea98.png)



#### Power Apps側のデータフローも確認
　またPower Apps側のデータフローにも接続確認してみる。接続設定でPower BIサービスで設定した仮想ネットワークデータゲートウェイがそのまま使用でき接続も可能なことを確認する。


https://learn.microsoft.com/ja-jp/data-integration/vnet/data-gateway-power-platform-dataflows


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2277732/11bd6679-d62c-fef9-cf54-74536ae38863.png)


## まとめ
　仮想ネットワーク(VNet)データゲートウェイを使っての接続を試してみました。
  仮想ネットワーク(Vnet)データゲートウェイはMicrosoft AzureとPower BI両方の設定が必要になりますが、オンプレミスデータゲートウェイと異なりコンピュータ（Windows）の設置とメンテナンスの必要がない分、運用面でのメリットを感じました。

実際に導入しようと考えましたが、Microsoft Fabricの導入（F2でも構わない）が必要だったため、オンプレミスデータゲートウェイ設置によるコストと比較してMicrosoft FabricのF2導入を提案したが、お客様アプリに登録されているデータ量がまだ少ないため実現は出来ませんでした。
データが蓄積され必要になれば再度提案しようと思う。