Connect AIからオンプレミスOracle DBへ接続する方法:SQL Gatewayによる中継構成ガイド

Connect AIからオンプレミスOracle DBへ接続する方法

CData Connect AIは、オンプレミス環境やVPC内のデータソースに安全にアクセスするための「Connect Gateway」を提供していますが、Connect GatewayがサポートするコネクタにOracleは含まれていません(現在は主にSQL ServerやSAP、PostgreSQLなどが対象です)。本記事では、Windows中継サーバー上にCData SQL GatewayとCData ODBC Driver for Oracleを組み合わせることで、Connect AIからMySQL互換のエンドポイント経由でオンプレミスのOracle DBにアクセスする構成方法を解説します。

前提条件

  • Windows中継サーバー(Oracle DBおよびConnect AIの双方に到達可能なネットワーク上に配置)

  • Oracle DBへの接続情報(サーバー、ポート、Service Name、ユーザー、パスワード)

  • CData Connect AIのアカウントおよびSourcesメニューへのアクセス権

  • Windows Defender ファイアウォールの設定権限(管理者権限)

全体構成

本構成は以下の3層で成り立ちます。

  • Connect AI

  • Windows 中継サーバー(SQL Gateway + CData Oracle ODBC Driver)

  • Oracle DB

Connect AI単体ではオンプレミスOracleに直接到達できないため、中継サーバー上でOracle接続をMySQL互換のプロトコルに変換し、Connect AIからはMySQLコネクションとして扱う、という点がポイントです。

設定手順

1. Windows中継サーバーへのソフトウェアインストール

以下の2つのコンポーネントをWindows中継サーバーにインストールします。

  1. CData ODBC Driver for Oracle(OracleOci) ダウンロードページ: https://jp.cdata.com/drivers/oracledb/odbc/

  2. CData SQL Gateway ODBCドライバのインストール時に同梱されているものが自動的にインストールされますが、最新版を使いたい場合は個別にダウンロード・インストールしてください。

2. CData OracleOci ODBC Driverの接続設定

ODBCドライバの管理画面(データソースアドミニストレーター)で、以下のプロパティを設定します。

プロパティ

説明

Server

OracleサーバーのホストまたはIPアドレス

User

接続に使用するOracleユーザー

Password

上記ユーザーのパスワード

Service Name

OracleのService Name

Port

Oracleのリスナーポート(通常1521)

QueryPassthrough

false

Return Catalog

true

BrowsableSchemas

アクセス対象とするスキーマ名

DSN設定例

設定後は必ず接続テスト(Test Connectionを押下)を実施し、成功することを確認してください。また、Data Modelタブで目的のテーブルが一覧に表示され、アクセスできることも確認しておくと、後続のトラブルシューティングが楽になります。

注意事項

  • BrowsableSchemaプロパティは必ず設定してください: Oracleにはシステム管理用のスキーマが大量に存在するため、BrowsableSchemasを指定せずに全スキーマを対象にすると、Connect AI側でのメタデータ取得(テーブル一覧の取得)に非常に時間がかかったり、タイムアウトが発生したりします。実際にアクセスする業務スキーマのみをBrowsableSchemasにカンマ区切りで明示的に指定し、不要なスキーマを探索対象から除外してください。

  • Oracle ODBC Driverのプロパティを変更した場合は、変更を反映させるために必ずSQL Gateway上の該当サービスを再起動してください。プロパティ変更後にサービスを再起動しないと、古い設定のまま接続が試行され、原因の分かりにくいエラーにつながります。

3. SQL Gatewayでのサービス・ユーザー設定

SQL Gatewayの管理画面で、以下を設定します。

  1. Servicesタブでサービスを追加

    • Service Settings: MySQL を選択

    • DataSource: 手順2で作成したCData OracleOci ODBC DriverのDSN(例: CData OracleOci Sys)を指定

    • 使用するポート番号を控えておく(後述のファイアウォール設定で必要)

  2. Usersタブでユーザーを追加し、手順1のサービスへのアクセス許可を設定

    • ユーザー名・パスワードを控えておく(Connect AI側の接続設定で使用)

  3. サービスを開始

SQL Gatewayのサービス設定例

4. Windows中継サーバー側のネットワーク設定

ファイアウォールルールの追加

「セキュリティが強化されたWindows Defender ファイアウォール」で、SQL Gatewayのサービスに設定したポート番号への通信を許可するルールを追加します。

インバウンドルールの追加

Connect AIからの接続を受け付けるため、以下のIPアドレス範囲からのインバウンド通信を許可するルールを追加します。

  • 4.154.117.160/28

  • 52.224.0.160/28

これらはConnect AIのエグレスIPアドレス範囲です。社内のネットワークポリシー上、特定の送信元からのみ許可したい場合はこの範囲に絞って設定してください。

AWS EC2のインバウンドルール設定例

5. Connect AI側でのMySQLコネクション設定

Connect AIのSourcesメニューから、新規にMySQLコネクションを追加します。

Basic Settingsタブ

項目

値

Connection Type

Direct

Server

Windows中継サーバーのアドレス

Port

SQL Gatewayのサービスに設定したポート番号

AuthScheme

Password

User

SQL Gatewayに追加したユーザー名

Password

SQL Gatewayに追加したパスワード

Database

Windows中継サーバーに設定したCData OracleOci ODBCのシステムDSN名(例: CData OracleOci Sys)

Advanced Settingsタブ

項目

値

Use SSL

オフ

設定後、「Save & Test」をクリックして接続テストを実施します。

Connect AI MySQLコネクタ設定例

動作確認

Connect AIのExplorerメニューで追加したコネクションを選択し、Oracle側のテーブルデータが正しくクエリできることを確認します。

SELECT * FROM [YourConnectionName].[CData OracleOci Sys].[YOUR_TABLE]

Avatica 構成との使い分け

オンプレミス Oracle への接続には、本記事のSQL Gateway 構成のほかに、インバウンドポートの解放が不要なAvatica + Connect Gateway で構成する方法もあります(関連記事)。どちらを選ぶかは、ネットワークポリシーと運用体制次第です。

観点

関連記事:Avatica + Connect Gateway

本記事:SQL Gateway(MySQL リモーティング)

Connect AI 側のコネクタ

Apache Phoenix

MySQL

中継サーバー

Linux + Docker / Kubernetes

Windows サーバー

インバウンドポート開放

不要(Connect Gateway のアウトバウンドトンネル)

必要(Connect AI のエグレスIPからの受信を許可)

構成コンポーネント

Apache Avatica(OSS)+ CData JDBC ドライバー

CData SQL Gateway + CData ODBC ドライバー(すべて CData 製品)

構築の手数

Docker イメージのビルドが必要

GUI 中心で比較的シンプル

ストアドプロシージャ

OUT/INOUT パラメータは非対応

ODBC ドライバーの対応範囲に準拠

判断の目安

  • 「社内ファイアウォールにインバウンド穴を開けることは絶対に認められない」→  Avatica 構成

  • 「Connect AI のエグレスIP範囲からの受信なら許可できる」「Windows サーバーで手早く済ませたい」→ SQL Gateway 構成

なお、SQL Gateway には SSH リバーストンネル機能も備わっているため、自社で踏み台サーバーを運用している場合は、SQL Gateway 構成でもインバウンド開放を回避できます。

まとめ

Windows中継サーバー上でCData SQL GatewayとCData ODBC Driver for Oracleを組み合わせることで、Connect AIからはMySQLコネクションとして、オンプレミスのOracle DBに安全にアクセスできるようになります。ネットワーク設定(ファイアウォール・インバウンドルール)とサービス再起動のタイミングさえ押さえれば、比較的シンプルに構築できる構成です。設定内容やエラーの原因がわからない場合はお気軽にサポートデスクまでご連絡ください。