IDCF クラウドでCData Sync 環境を構築:Salesforce のデータをIDCF クラウド RDB にレプリケーション

杉本和也 | 2022年11月20日

こんにちは。CData Software Japan リードエンジニアの杉本です。

今回は国産クラウドサービス、IDCFクラウド上にCData Sync の環境を構築する方法を紹介したいと思います。

IDCF クラウドとは?

IDCF クラウドはIDCフロンティアが提供する国産クラウドサービスです。仮想マシンやRDB、クラウドストレージサービスをお手頃な価格から利用することができます。

https://www.idcf.jp/cloud/idcfcloud.html

ちなみにIDCフロンティアではデータセンターサービスやプライベートクラウドのサービスも提供しています。今回はパブリッククラウドを利用していますが、用途や目的に応じて選択できるのが良いですね。

CData Sync とは?

CData Sync とは多様なSaaS、DB のデータをRDB やDWH に同期するELT ツールです。データパイプラインツールとも呼ばれます。400種類以上のデータソースをノーコードでDWHやRDBに同期できます。

https://www.cdata.com/jp/sync/

自由にホスティング環境を選べることが特徴で、Windows ServerやLinux環境など、お好みの環境にセットアップして利用できます。

今回はCData SyncのCross-Platform(Java)を使って、IDCFクラウド環境にセットアップしてみたいと思います。

CData Sync の準備

まずCData Sync のインストーラーをダウンロードしてきましょう。以下のリンクから「Cross-Platform(Java)」をダウンロードしておきます。

https://www.cdata.com/jp/sync/download/

ZIP ファイルがダウンロードされるので任意の場所に保存しておきましょう。

IDCF クラウドで仮想マシンの構成

続いて、IDCF クラウド環境で仮想マシンを構成します。

IDCF クラウドの管理画面に移動し、「コンピュート」を選択します。

ここから仮想マシンの作成を開始します。「仮想マシンの作成」をクリックし

以下のような内容で今回は作成します。検証環境のため、最小構成で構築しました。OSはCentOS 7.9 64-Bit を選択しています。

これで以下のように環境が構築できればOKです。

CData Sync の環境要件は以下のページを参考にしてみてください。

https://cdn.cdata.com/help/ASH/jp/sync/Starting-The-Server.html

ファイアウォールとポートフォワードの構成

続いてネットワーク周りを調整していきます。IDCFクラウドではIPアドレスにファイアウォールや仮想マシンへのポートフォワードの設定を追加します。

CData Sync ではデフォルトで8181ポートでWebサービスが立ち上がるので、SSHと合わせてこのポートへのポートフォワードの構成と、ファイアウォールの設定を調整します。

https://cdn.cdata.com/help/ASH/jp/sync/Java-Edition.html

対象のIPアドレスを選択し

まず、ファイアウォールにアクセス許可を追加します。SSH用の22ポートとCData Sync用の8181ポートを許可しました。

続いてポートフォワードです。先程開放したポートをそのまま作成した仮想マシンのポートにフォワードします。

CData Sync 環境構築

仮想マシンにSSHで接続できるようになったので、CData Sync 本体を仮想マシンにアップロードします。アプローチはなんでも構いませんが、今回はscpコマンドでアップロードしました。

scp -i C:\Work\IDCF\IDCF.txt C:\Work\IDCF\CDataSync.zip root@XXX.XXX.XXX.XXX:/root/

続いてSSHで仮想マシンにログインし、セットアップを進めます。

ssh -i C:\Work\IDCF\IDCF.txt root@XXX.XXX.XXX.XXX

「yum update」を実施したあと、CData Syncを動かすのに必要となるopen-JDKをインストールします。

yum update -y
yum install java-11-openjdk -y

JDKをインストールしたら、先程アップロードしたCDataSyncのZIPファイルを解凍し、javaコマンドで起動します。

unzip CDataSync.zip
java -jar sync.jar

以下のようにメッセージが表示されればOKです。

情報: Sync is now running. Please visit http://localhost:8181 to login.

対象のIPアドレスの8181ポートでアクセスしてみると、以下のようにCData Syncの画面が表示されました! あとは任意のユーザーを作成し

作成したユーザーでログイン

「30日の評価版をアクティベート」を実施するだけでOKです。これでIDCFクラウドの環境でCData Syncが使えるようになりました。

Salesforce のデータをIDCFクラウドのRDBにレプリケーションしてみる

せっかくなので、IDCFクラウドで提供されているRDBサービスと組み合わせてCData Syncを使ってみましょう。

以下のようにRDBを構成すると対象の仮想マシンからMySQLサービスが利用できるようになります。このRDB にCData Sync を使ってSalesforce のデータをレプリケーションしてみます。

CData Sync の「接続」画面に移動して、「Salesforce」と「MySQL」のコネクションをそれぞれ追加します。

Salesforce は以下のようにUserID・PWおよびセキュリティトークンを用いたBasic認証でアクセスします。なお、デフォルトではHTTPS化されていないので、OAuthは利用できません。注意しましょう。

MySQLの接続ではIDCFクラウドで構築したRDBの情報を設定します。

あとはジョブの画面から「データソース:Salesforce」、「同期先:MySQL」を選択したジョブを作成します。

ジョブにはタスクとして「Account:取引先」を追加しました。

あとは対象のタスクを選択して「実行」をクリックすれば、RDBにデータがレプリケーションされます。実際の運用時にはスケジュールを構成して利用してみてください。

おわりに

このようにCData Sync は様々な環境にレプリケーションサービスを構成して、データ分析基盤の構築をサポートします。

IDCFクラウドだけでなく、データセンターやプライベートクラウド環境に構成して、BigQuery などにデータをレプリケーションするようなことも可能です。

ぜひ30日間のトライアルで試してみてください。ご不明な点があれば、テクニカルサポートまでお気軽にお問い合わせください。

https://www.cdata.com/jp/support/submit.aspx