#●概要
[前編][link-1]では、Azure-OCI間のインスタンス同士の接続は行ったが、後編では、OCI-LinuxにDataGatewayをインストールし、Oracle Analytics Cloud(以下OAC)との接続を作成していく。OACがサービス・ゲートウェイを経由し、Linuxインスタンス経由で動的ルーティング・ゲートウェイを通過後、Azure-Windowsサーバ上のSQL Serverまでの到達、OACでSQL Server内のデータを参照するところまでを行う。
[link-1]:https://qiita.com/k20nozawa/items/368c3c16095e0dca1e8d
- 環境情報
- Oracle Linux 7.8
- Windows server 2019
- SQL Server 2017
#●構成
#●構築
DataGatewayはOracleで提供されているミドルウェアであり、主にオンプレ環境のクラウド移行の際などに使用される。DataGatewayをLinuxにインストールするためにGUIベースでのインストールを実行するためにX11フォワーディングの設定を行う必要がある。
まず、DataGatewayをインストールするための環境を構築していく。
###1. X11フォワーディングの設定
####1-1. X11の有効化
DataGatewayをLinuxにインストールするためにGUIベースでのインストールを実行する。
まず、X11を有効化するためにsshd_configファイルを編集する。
$ sudo su -
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.orig
# vi /etc/ssh/sshd_config
..........
..........
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes 「no」→「yes」にする。
#X11DisplayOffset 10
X11UseLocalhost no #を外し、「yes」→「no」に変更。
#PermitTTY yes
#PrintMotd yes
# systemctl restart sshd
で完了。
####1-2. X11関連のアプリケーションやライブラリのインストール
xauth, xterm, libXtstをインストールする。
# yum -y install xauth
# yum -y install xterm
# yum -y install libXtst.x86_64
####1-3. DISPLAY変数の設定
パブリックサブネットに属するvNICのプライベートIPアドレスを指定する。
$ export DISPLAY=<プライベートIP>:10.0
$ echo $DISPLAY
<プライベートIP>:10.0
と表示されればOK。
####1-4. X11サーバーの設定
X11フォワーディングを実行した際にGUIとして表示するためのソフトウェアをローカルマシンにインストールする必要がある。Mac OSでよく使用されているのがXQuartzであるが、今回はWindowsOSであるため、以下のサイトからXmingをダウンロードし、インストールする。
XQuartz : https://www.xquartz.org/
Xming : https://sourceforge.net/projects/xming/
###2. DateGatewayのインストール
以下のサイトからDataGatewayをダウンロードする。
https://www.oracle.com/middleware/technologies/oac-downloads.html
サーバに転送後、解凍し、binファイルを実行する。
$ unzip datagateway-<version>-linux.zip
$ ./datagateway-<version>-linux.bin
インストーラーに従い、インストールする。
Agent Configuration Credentialでは、任意のUsernameとPasswordを設定するので、メモしておく。
インストール完了後、下記のように表示されればOK。
$ ls-l
-rwxrwxrwx. 1 opc opc 1920690858 Sep 1 17:35 datagateway-<version>-linux.bin
-rw-r--r--. 1 opc opc 1920840288 Sep 10 07:04 datagateway-<version>-linux.zip
drwxr-x---. 3 opc opc 24 Oct 19 08:30 Oracle
drwxrwx---. 6 opc opc 97 Oct 19 08:31 oraInventory
###3. OAC作成
データを可視化するためのOACインスタンスを作成する。
インスタンス名:任意の名前(ここでは、AzureConnect)
ネットワーク・アクセス:パブリック
###4. OACとDatagatewayとの接続
####4-1. リモートデータ接続
作成したOACとDataGatewayの認証設定を行う。OAC作成後、分析ホームページで行き、コンソールから、左上の三線をクリック、リモートデータ接続を選択し、有効化をONにする。
####4-2. Jettyの実行
Linuxサーバ上でOACに登録するためのURLを発行する。
$ cd Oracle/Middleware/Oracle_Home/domain/bin/
~bin]$ ./status.sh
****************************************************************************
******************************** Data Gateway STATUS ********************************
Data Gateway Jetty Home: /home/opc/Oracle/Middleware/Oracle_Home/jetty
Data Gateway Domain Home: /home/opc/Oracle/Middleware/Oracle_Home/domain
Data Gateway Jetty HTTP Port: 8080
Data Gateway Status: DOWN
****************************************************************************
JettyがDOWNしているので、UPさせる。
~bin]$ ./startJetty.sh
****************************************************************************
******************************** Data Gateway STATUS ********************************
Data Gateway Jetty Home: /home/opc/Oracle/Middleware/Oracle_Home/jetty
Data Gateway Domain Home: /home/opc/Oracle/Middleware/Oracle_Home/domain
Data Gateway Jetty HTTP Port: 8080
Data Gateway Status: UP
URL: http://<インスタンス名>.<VCN名>.oraclevcn.com:8080/obiee/config.jsp
****************************************************************************
構成図を見てもらえばわかるが、ここで表示されているインスタンス名はパブリックサブネットのNIC名であるが、今回OACに認証させたいインスタンス名はプライベートサブネットに属するvNIC名であるため、ホスト名を変更する必要がある。
$ sudo hostnamectl set-hostname <プライベートvNIC名> --static
$ hostname
<プライベートvNIC名>
となればOK。
再度Jettyを実行する。
$ ./stopJetty.sh
$ ./startJetty.sh
表示されたURLをクリックする。
※アクセスできない場合は(ほとんどの人がそうだと思いますが)、ホスト名とグローバルIPをローカルマシンのhostsに追加してから、再度URLをクリックする。
####4-3. DataGatewayの設定
サインインを求められるので、DataGatewayインストール時に設定したUsernameとPasswordを入力する。
サインイン後、OCIコンソールのOACの詳細情報画面に行き、OACのアクセス情報のURL(https://・・・・・・・・・・.com/まで)をコピーし、DataGataway画面のURL欄に貼り付ける。
####4-4. OACの設定
OACのステータス画面の[分析ホームページ]を選択し、分析ページに遷移する。
[データ・ゲートウェイ有効化]をオンにし、[追加]をクリックすることで以下のように公開キーの欄が表示される。
公開キーのタブに生成したキーを貼り付ける。(名前、ID、ホストは自動で認識される。)
OKを押して完了。
再びDataGatewayの画面に行き、[Test] → [Enable] → [Save]で設定完了。
###5. Azure-Windowsサーバの設定
####5-1. SQL Serverのインストール
Azure-WindowsサーバにSQL Serverをインストールする。
なお、SQL Server2019はDataGatewayのサービス対象外であったため、ここではSQL Server2017をインストールした。
DataGatewayのサポートしているデータソース
↓↓↓
https://docs.oracle.com/en/cloud/paas/analytics-cloud/acsds/supported-data-sources.html
####5-2. FW設定
受信規則にSQL Server用の設定を作成する。
プロトコルの種類:TCP
ポート:1433
####5-3. データベースの作成
SQL Serverにログインし、SQL認証のユーザーを作成、データベースを作成する。
####5-4. データの格納
ここでは検証用として、オープンデータをSQL Serverに格納しました。
###6. OACとSQL Serverの接続
OAC分析コンソールから、[接続の作成]>[SQL Server]を選択
接続名:任意 (ここでは、OCI-Azure)
説明:任意
ホスト:Azure WindowsサーバのプライベートIPアドレス (ここでは、192.168.0.6)
ポート:1433
データベース名:作成したDB名 (ここでは、testdatabase)
ユーザ名:SQL Server認証ユーザー
パスワード:上記ユーザーのパスワード
リモートデータ接続にチェックを入れる。
###7. データの参照
####7-1. データセットの作成
[OAC分析コンソール]>[作成]>[データセット]を選択する。
####7-2. データの取得
データセット作成後、事前に格納しておいたデータを選択して参照する。
####7-3. データの可視化
無事にOACからインターネットを経由せずにSQL Serverへ接続することができました。
#●参考
・X11フォワーディング : https://www.ateam-oracle.com/preparing-linux-for-oracle-remote-data-gateway
・DataGatewayに関して : https://docs.oracle.com/cloud/help/ja/analytics-cloud/ACSDS/ACSDS.pdf