【Power BI】AzureのSQL ServerのVMとPower BI オンプレミスゲートウェイを接続する方法

EXCELで表やグラフを作成したものをPowerPointに切り貼りするのを

見直したいところからPower BIを使い始めて1ヵ月、オンプレミスゲートウェイ

接続してリモートのデータベースをはじめとする情報源にアクセスする試みに

試行錯誤があったので、忘備のために要約します。

 

アプリケーション開発業務に使用するノートPCにPower BIデスクトップを

インストールしたのちに、レポートを作成するためにAzureのVMSQL Server 2016を

インストールしてデータベースにアクセスするための環境を構築することにした。

 

 データベースの変更を反映するためには、以下の方法がある。

  •  Import;データベースのデータをPower BI Desktopのファイル(.pbix)に

     取り込んでアクセスする

  •  Direct Query;リモートのデータベースに直接アクセスしてデータを照会する

 

Importをスケジュールに設定したり、Direct Queryを用いる場合には、オンプレミス

ゲートウェイが必要になる。Power BIのクラウドサービスのブラウザの画面にて

[ダウンロード]→[データゲートウェイ]の順に進むと、ローカルにインストーラーを

ダウンロードして実行する。インストールする場所は、停止の少ないほぼ常時に

稼働する環境で、オンプレミスのローカルであることが望ましい。ただ、それが

難しい場合は、開発環境のローカルでも支障はない。

 

 次にPower BIのブラウザ画面にて[設定]→[ゲートウェイの管理]を選択

ゲートウェイクラスタ名は、インストールによって指定した名前が表示される。

その後データソースを追加する。Power BIのブラウザ画面の左上部に表示される。

f:id:blue-moon725:20180127150559j:plain

接続を試行しているうちに重要と思われる点を以下に挙げる。

  1. 「データソース名」と「サーバー名」は同じ文字列を入力する。異なっているとエラーになる。
  2. 上のふたつの入力項目は、ホスト名またはFQDNが望ましい(IPアドレスでは接続できない)。

2.の問題は、オンプレの接続先にAzureのVMSQL Serverをインストールした環境にしていることから、AzureのVMの設定によりFQDNを作成する手順を踏むことにある。 Azureポータルの画面左側にみえる[Virtual Machines]ブレードでVMを選択すると、概要にDNS名が表示される部分に相当する。設定していなければ、何も表示されない。メニューから「構成」を選択すると、DNS名ラベルが表示されるところに、名前を入力して保存するとFQDNを作成することができる。これによりFQDNは、<入力した名前>.<リージョン名>.cloudapp.azure.comになる。

 

さらに、Power BI オンプレミスゲートウェイとの疎通を確立するために、以下の公開情報を参考にしてVMのセキュリティグループの設定を変更する。

https://docs.microsoft.com/ja-jp/azure/analysis-services/analysis-services-gateway

 

ここまでの条件が整えば、ノートPCなどのクライアントからインターネット経由で

接続する条件にすると問題なくオンプレミスゲートウェイを経由してデータソースに

アクセスできる。

 

しかし、会社の社内ネットワークのプロキシの構成やポリシーなどの影響によっては

上と同じように接続を試行しても成功しないことがあり、構成を見直す必要がある。

 PtoP(Point-to-Point)接続により仮想ネットワーク(VNet)をトンネリングして接続が

可能な環境を構成すると、VNetにVMとクライアントがひとつのプライベートネット

ワークに収容されることから、プライベートアドレスによる接続が可能になる。

 

すでに設定したAzure VMFQDNは紐づいているIPアドレスグローバルIPであり、

プライベートIPアドレスではないことから、上の状態で接続したクライアントから

FQDNによる名前解決を実現するには、DNSまたはhostsファイルにFQDN名と

プライベートIPを紐づける必要がある。検証の域を出なければ、ローカルPCのhosts

ファイルを変更して保存する方が効率が良いものと思われる(ほかのクライアント

PCから使用したり、PCの故障などにより置き換えになることまで考えると、

DNSに登録する仕方も有用である)。Power BIとAzure VMとの間はインターネットを

経由して接続することから、AzureのDNSによりグローバルIPに割り当てられた

FQDNを参照して名前解決に寄与している。