Azure Machine Learningでオンプレミスのデータベースからデータを取得する。(プレビュー)

今回は、Azure Machine Learning (Azure ML)でオンプレミスのデータベース(DB)からデータを取得する方法をご紹介します。

※ 今回使用する「Data Management Gateway」は2016年6月現在、Windows OSのみのサポートのためオンプレミス側にWindows系サーバーが必要になります。

「data gateway」の設定

オンプレミスのデータベースからデータを取得するにあたり、まずはAzure MLで「data gateway」の設定を行います。
Machine Learning Studio (ML Studio)の「SETTINGS」から「DATA GATEWAYS」タブを選択し、画面下部の「NEW DATA GATEWAY」をクリックします。


「GATEWAY NAME」に任意の名称を入力して「→」をクリックします。

Azure ML上での「data gateway」の設定は以上になります。続くオンプレミス側での設定のため「Download data management gateway」のリンク先から「Data Management Gateway」をダウンロードしておき、また「GATEWAY REGISTRATION KEY」をメモしておきます。

Data Management Gatewayの設定

続いてオンプレミス側での設定を行っていきます。
先ほどダウンロードした「Data Management Gateway」をオンプレミス側のサーバーにインストールします。DBにアクセスできる環境であれば、異なるサーバーにインストールしてもかまいません。

※ 今回はSQL ServerをインストールしたローカルのPCをオンプレミスサーバーに見立てて接続を行っています。

インストールが終わるとそのまま「Data Management Gateway」が起動し、「ゲートウェイの登録」画面が表示されますので、先ほどメモしておいた「GATEWAY REGISTRATION KEY」を枠内に入力して「登録」をクリックします。

しばらく待つとゲートウェイの登録が完了し、「Data Management Gateway」のホーム画面でML Studioで設定したゲートウェイ名と登録、接続の状況が確認できます。

ML Studio上でも「Gateway registered」と登録が確認できました。

続いて「証明書」タブをクリックします。
「Data Management Gateway」ではSSLでデータを暗号化しながら通信することでAzureとオンプレミス間のセキュリティを確保しています。初期設定では自己証明書が設定されているため障害発生時のためにエクスポートしておきます。SSL証明書に関しては本番稼働時に認証局による証明書に切り替えて使用することもできるようです。

以上でオンプレミス側の設定は完了です。

Azure MLとオンプレミスDBの接続

それではAzure MLとオンプレミスDBの接続を行います。
まずは「Data Management Gateway」でオンプレミスDBに接続できることを確認しておきます。「Data Management Gateway」の「診断」タブを開き、接続するDBの情報を入力して「接続のテスト」をクリックします。接続に成功すると緑のチェックが表示されます。

続いて、ML Studioでデータ取得の設定をします。オンプレミスDBからのデータ取得は、BLOB StorageやSQL Data Warehouseと同様に「Import Data」モジュールを使用します。
「Import Data」を配置したら、「Properties」の「Data source」で「On-Premises SQL Database (Preview Feature)」を選択し、先ほど接続確認を行ったDBの情報を入力します。

※「User name and password」に関しては、Microsoft Edge、Internet Explorer以外のブラウザでは設定不可またはプラグインのインストールが必要になる場合があります。一度対応ブラウザで設定すれば、未対応ブラウザでもモジュールの使用が可能になります。

DB接続の認証が確認できたら、「Database query」にクエリを入力して、「RUN」で実行します。

Experimentの実行が終わったら、「Import Data」を右クリックして「Results dataset」→「Visualize」でデータを確認します。
オンプレミスDBと同じデータが取得できていることが分かりました。

・Microsoft SQL Server Management Studio (オンプレミス)

以上がAzure MLとオンプレミスDBの接続方法になります。

いかがでしたか。
残念ながら、「Export Data」モジュールでオンプレミスDBに分析結果を出力する機能は提供されていないため、ストレージをオンプレミスDBで完結させるという使い方はできませんが、オンプレミスのDBに大量のデータがあっていちいちクラウドに移して分析するのは大変、というような場合には重宝するのではないでしょうか。
現在はプレビュー版のため、オンプレミスDBに分析結果を出力する機能が実装されることも今後期待したいところですね。
次回もお楽しみに!!

この記事を書いた人

azure-recipe-user