はじめに
CData Syncは、CData Software社が開発提供しているデータ同期ツールです。
このプロダクトは、データソース(データ連携元)として、200種類以上のSaasに対応しています。
またデータ同期先(データ連携先)としても数多くのDB、DWHに対応しています。
この中には、OCI(Oracle Cloud Infrastracture)の特徴的なマネージド・データベース・サービスであるADB(Autonomous Database)も含まれます。
今回は、このADBへのデータ同期設定手順を検証していきます。
まず、ADBは、プロビジョニング時に以下の3つから、ネットワーク・アクセス・タイプを選択することができます。
- すべての場所からのセキュア・アクセス(パブリック・エンドポイント)
ウォレットと呼ばれる資格証明を持つことでインターネット上の全てのIPからの接続が可能な方式です。 - 許可されたIPおよびVCN限定のセキュア・アクセス(パブリック・エンドポイント)
アクセス制御リスト(ACL)を設定することでインターネットのIPを制限したり、VCNからのアクセスに限定する方式です。 - プライベート・エンドポイント・アクセスのみ(プライベート・エンドポイント)
ADBにパブリックIPを持たせず、プライベートIPを持たせる方式です。
作成済みのVCN、サブネット内にADBインスタンスを配置します。
このうちアクセス・タイプ1でのADBへのデータ同期については、CData Software JapanのBlogにまとめられています。
「Syncの同期先にOracle Autonomous Databaseをご利用いただけるようになりました!」
このBlogを参考にしつつ、本記事では、アクセス・タイプ3でCData SyncからADBへの同期設定を行います。
実現したい構成
アクセス・タイプ3(プライベート・エンドポイント)の場合、OCI上の構成イメージは、以下の通りです。
なお、今回のCData Syncは、こちらのblog記事にて構築したものを使用します。
「Oracle LinuxにCData Syncをインストールしてみる」
OSは、Oracle Linux 8.6、CData Syncのエディションは、Java版となっています。
ライブラリの入手およびCData Syncへのインストール
ADBに接続するために、CData Syncにライブラリを追加する必要があります。
今回のCData Syncは、OpenJDK17環境で動作させています。
この環境に対応したライブラリが含まれるZipped JDBC driver (ojdbc11.jar) and Companion Jars
を以下Webページからダウンロードします。
Oracle Database JDBC driver and Companion Jars Downloads
ダウンロードしたファイルを展開し、その中に含まれる以下の4ファイルをCData Syncのインストールディレクトリ(「/opt/sync」など)の「libs」ディレクトリの中にコピーします。
- ojdbc11.jar
- oraclepki.jar
- osdt_core.jar
- osdt_cert.jar
ファイルのコピー完了後、CData Syncを再起動します。
Autonomous DBの構築
今回利用するADB(Autonomous DB)を構築していきます。
より詳細な手順については、以下のOCIチュートリアルページを参照してください。
「101: ADBインスタンスを作成してみよう」
「109: プライベート・エンドポイントのADBを作成してみよう」
ネットワーク・セキュリティ・グループ(NSG)を作成
ADBへのアクセスを制御するNSGを作成します。
-
Webコンソールのナビゲーション・メニュー(三本線のメニュー)を開き、
ネットワーキング
をクリックして、仮想クラウド・ネットワーク
をクリック
-
対象とするVCNをクリック
-
次の値を入力し、
次
をクリック
名前: <わかりやすい名前> ※ここではnsg_adb
とします
コンパートメントに作成: <NSGを作成するコンパートメント> -
以下のルールを入力し、
作成
をクリック
ステートレス: チェックなし
方向:イングレス
ソースタイプ:ネットワーク・セキュリティ・グループ(NSG)
ソースNSG: <CData Syncのインスタンスに適用しているNSG>
IPプロトコル:TCP
宛先ポート範囲:1521
ADBのプロビジョニング
ADBをプロビジョニングします。
-
Webコンソールのナビゲーション・メニュー(三本線のメニュー)を開き、
Oracle Database
をクリックして、Autonomous Database
をクリック
-
Autonomous Databaseの作成画面で次の値を入力し、
Autonomous Databaseの作成
をクリック
コンパートメント: <適切なコンパートメント>
表示名:adb4cdata
データベース名:adb4cdata
ワークロード・タイプの選択:トランザクション処理
デプロイメント・タイプの選択:共有インフラストラクチャ
Always Free: チェックなし
デーベース・バージョンの選択:19c
OCPU数:1
ストレージ(TB):1
自動スケーリング: チェックなし
Password: <ADMINスキーマのパスワード>
ネットワーク・アクセスの選択:プライベート・エンドポイント・アクセスのみ
仮想クラウド・ネットワーク: <適切なVCN>
サブネット: <適切なサブネット>
ホスト名接頭辞:adb4cdata
ネットワーク・セキュリティ・グループ(NSG):nsg_adb
相互TLS(mTLS)認証が必要: チェックなし
ライセンス・タイプの選択:ライセンス込み
連絡先の電子メール: なし
接続文字列取得
CData SyncからADBへの接続にあたっては、事前に定義済みの接続サービスを利用します。
接続サービスについては、OCIチュートリアルの「201: 接続サービスの理解」をご一読されることをお勧めします。
今回は、汎用的なMEDIUMを利用することとし、そのために使用する接続文字列を以下手順で取得します。
-
Webコンソールのナビゲーション・メニュー(三本線のメニュー)を開き、
Oracle Database
をクリックして、Autonomous Database
をクリック
-
一覧より作成したADBをクリック
-
Autonomous Databaseの詳細 画面で
他のアクション
をクリック、起動
をクリック、確認画面でも起動
をクリック
-
DB接続
をクリック、表示されたデータベース接続画面の接続文字列欄からadb4cdata_mediumのコピー
をクリックし、コピーした値をエディタなどにとっておく
CData Sync設定
では、CData Syncの設定を行っています。
CData Syncが動作するインスタンスに付与されたパブリックIPについては事前に確認しておいてください。
-
クライアントのブラウザから、以下のURLへアクセス
http://確認済みパブリックIPアドレス
:8181 -
CData Syncへログイン
-
以下情報を入力し、
接続テスト
をクリック
名前: <適切な名前> ※ここではConnect_ADB
とします
フォーマット設定:プロパティリスト
Connecton Type:Data Source
User:ADMIN
Password: <ADB作成時のADMINのパスワード>
Data Source: <控えておいた接続文字列>
これで同期先のDBとしてADBが利用可能になりました。
まとめ
OCI上のOracle Linuxインスタンス上のJava版のCData SyncからADB(Autonomous DB)へ同期設定をしてみました。
ADBには、3つのネットワーク・アクセス・タイプがあります。
今回は、プライベート・エンドポイントを利用するタイプで検証してみました。
このCData Syncにデータソース(データ連携元)の設定をした上で、データ同期ジョブを作成することでSaasなどのデータをADBに同期することができます。
今後、様々なSaasからのADBへのデータ同期の検証を実施していく予定です。
最後に弊社は、CData SyncをはじめとするCData製品販売パートナーとなっています。
興味を持たれましたら、ご連絡いただければと思います。