3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle Analytics CloudからのDataGatewayを介した、Azure上のSQL ServerへのFastConnect接続~後編~

Last updated at Posted at 2020-11-16

#●概要
[前編][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

#●構成

  • 構成イメージ
    構成図.png

#●構築

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

実行後の常時画面
↓↓↓
image.png

インストーラーに従い、インストールする。
Agent Configuration Credentialでは、任意のUsernameとPasswordを設定するので、メモしておく。

image.png

インストール完了後、下記のように表示されれば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)
ネットワーク・アクセス:パブリック

OAC作成.png

###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を入力する。

image.png

サインイン後、OCIコンソールのOACの詳細情報画面に行き、OACのアクセス情報のURL(https://・・・・・・・・・・.com/まで)をコピーし、DataGataway画面のURL欄に貼り付ける。

DataGateway_making.png

####4-4. OACの設定
OACのステータス画面の[分析ホームページ]を選択し、分析ページに遷移する。
OAC_コンソール.png

左上の三本線から[コンソール]をクリック。
OAC_コンソール②.png

構成と管理の[リモート・データ接続]をクリック。
OAC_リモートデータ接続.png

[データ・ゲートウェイ有効化]をオンにし、[追加]をクリックすることで以下のように公開キーの欄が表示される。
image.png
公開キーのタブに生成したキーを貼り付ける。(名前、ID、ホストは自動で認識される。)
データゲートウェイ有効化.png

OKを押して完了。

image.png

再びDataGatewayの画面に行き、[Test] → [Enable] → [Save]で設定完了。
datagateway_success.png

###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

image.png

####5-3. データベースの作成
SQL Serverにログインし、SQL認証のユーザーを作成、データベースを作成する。

####5-4. データの格納
ここでは検証用として、オープンデータをSQL Serverに格納しました。

###6. OACとSQL Serverの接続
OAC分析コンソールから、[接続の作成]>[SQL Server]を選択

oac_sqlserver.png

接続名:任意 (ここでは、OCI-Azure)
説明:任意
ホスト:Azure WindowsサーバのプライベートIPアドレス (ここでは、192.168.0.6)
ポート:1433
データベース名:作成したDB名 (ここでは、testdatabase)
ユーザ名:SQL Server認証ユーザー
パスワード:上記ユーザーのパスワード
リモートデータ接続にチェックを入れる。

OAC-SQLserver接続.png

###7. データの参照
####7-1. データセットの作成
[OAC分析コンソール]>[作成]>[データセット]を選択する。
oac_作成.png

作成した接続名を選択する。(ここでは、OCI-Azure)
dataset.png

####7-2. データの取得

データセット作成後、事前に格納しておいたデータを選択して参照する。
dataset_作成.png

####7-3. データの可視化

サンプルとして棒グラフを作成してみました。
image.png

無事に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

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?