Help us understand the problem. What is going on with this article?

CDataSync製品を使ったクラウドデータのバックアップとレプリケート

More than 3 years have passed since last update.

はじめに

業務システムのクラウドサービス活用も進み、マルチクラウド、オンプレ×クラウドのハイブリッドで利用されている企業も多くなってきています。これにより、企業内のデータ資産は物理的にも論理的にも分散されてしまい、業務ユーザは、自身が欲しい情報を取得するに、各クラウドサービスへアクセスして収集する必要があります。BIツールなビボッドによるアドホックな分析にはリアルタイム性では優位ですが、各クラウドサービス上のデータへの都度のアクセスは、ネットワークのレイテンシが高く(遅く)必ずしも向いてい無いケースもあります。
image.png

本記事では、Salesforceを例にSaasデータをオンプレのMySQLにレプリケートされたデータベースを作成する方法を説明します。

CData Sync製品とは

ポイント&クリック操作でSaasデータをデータベースに複製を作成するサーバー製品です。

image.png
独自のスケジューリング機能のもと、Saas側で変更が生じたデータのみレプリケートが行われます。
image.png

CData Sync製品はこちらのWebサイトよりダウンロードできます。アクティベーション時に評価ライセンスを選択することで30日間ご使用いただけます。
ダウンロードホームページ
現在、CData Software Japanでは日本語版を準備中です(2017/12現在)。

手順

CData Sync製品のダウンロードおよびインストール

こちらのCData Sync製品のページにアクセスして「DOWNLOAD」ボタンをクリックします。ダウンロードに必要な情報(メールアドレス必須)を登録してダウンロードします。
image.png
setup.exeがダウンロードされるので、レプリケートを実行するマシン上にインストールします。インストーラを起動して、EURAを確認し、ウィザードに従いインストールします。
image.png
途中、管理者のパスワードの設定が必要となりますので、任意のパスワードを入力します。インストーラを最後まで進むと「Run CData Data Sync」にチェックがついていることを確認して終了します。
image.png
Windowsのステータスバーに、CData Data Syncのアイコンが表示されて、しばらくたつとブラウザが起動します。
image.png

ライセンスのアクティベーション

Login画面が表示されるので、User(admin), Passwordはインストール時に指定したパスワードを入力してSign inします。
image.png
「About」タブに移り、Licenseのアクティベーションを行います。「Activate 30-Day Trial」ボタンをクリックします。
image.png

Sourceに連携するSaasデータソースを選択して、NameとEmailを入力して、Terms and Conditionsの確認を行い、「Activate Trial」を実行します。
image.png
※アクティベーションには、ライセンスサーバーへのアクセスが必要となりますのでネットワークに接続されている必要があります
アクティベーションが出来ると、Data Sourceに接続Saas(画面の例ではSalesforce)が追加されます
image.png

接続コネクションの設定

「CONNECTIONS」タブに移り、「+Add Connection..」ボタンをクリックします。
image.png
レプリケーション先のデータベースを「Destinations」から選択します。今回はMySQLを選択します。
image.png
MySQLへの接続情報を設定して、「Test Connection」で接続できれば「Save Changes」ボタンをクリックして保存します。
image.png

続いてレプリケーション元のSaasを選択します。今回はSalesforceを選択します。
image.png
Salesforceへの接続情報を設定して、「Test Connection」で接続できれば「Save Changes」ボタンをクリックして保存します。今回のSalesforceの場合は、User、Passwordに加えてSecurityTokenが必要となります。
image.png
※各Saasへの接続情報は、製品マニュアルをご参照ください。
レプリケート元のSaasとレプリケート先のデータベースのコネクション設定が揃いました。
image.png

実行ジョブの設定

「JOBS」タブに移り、「+Add Job...」ボタンをクリックします。
image.png

Job Nameに任意な名称を付け、Source(Salesforce)とDestination(MySQL)を選択し、Salesforce内のどのオブジェクト(テーブル)のレプリケーションを作成するかを選択するために「+Add Tables」ボタンをクリックします。
image.png
Salesforce内のオブジェクト(テーブル)の一覧が表示されるので、今回はAccount(取引先)とOppotunities(商談)を追加します。
image.png
追加されたテーブルを選択して、「Run」ボタンをクリックして実行してみましょう。「The job started runnnning...」というメッセージが表示されて実行されます。
image.png

実行が正常に完了すると「The job [job name] has completed.」といったメッセージが表示されます。
image.png

レプリケート先のMySQLの管理コンソール(MySQL Workbench)からアクセスすると、テーブルが作成されていることを確認できます。試しにAccount(取引先)テーブルのデータをSELECT文で取得して確認してみます。Salesforce内のデータのレプリカが出来ていますね。
image.png

作成したJobを10分間隔で実行するといったスケジュール実行の設定を行います。設定したら「Save Changes」してください。
image.png
Salesforce側でデータを追加してみてください。本スケジュールされたJobは追加・変更されたレコードのみ処理の対象をするので、スケジュールされたジョブでは、追加・変更されたレコードのみ処理されたことを確認できます。追加・変更がなけば下記のように「Records affects:0」となります。
image.png

管理用WebAPIの利用

CData Sync製品の最新バージョンでは管理コンソールがWebとなり、WebAPIで、コネクションの作成やジョブの実行といった管理機能を利用出来るようになりました。

まずはじめに、WebAPIでアクセスする際のアクセストークンを生成します。SETTINGSタブに移動して「User Permissions」配下にユーザを追加します。生成されたAuthTokenは後で利用するので手元に控えておいてください。
image.png

画面右上の「API」タブを開きます。本画面にAPIのエンドポイントのリストおよびリファレンスが記載されています。例えば、Resourcesグループ内の「/api.rsc/connections」エンドポイントは、接続コネクションの情報を一覧取得したり、接続コネクションを作成するエンドポイントです。
image.png
実際にPostmanなどからAPIを叩くとJSONレスポンスで返ってきます。
image.png

「/api.rsc/executejob」をPOSTメソッドでJobを起動することもできます。
image.png

まとめ

CData Sync製品を使って、ポイント&クリック設定だけで、Saasデータをデータベースにバックアップとレプリケートする手順についての説明でした。CData Sync製品はWebサイトよりダウンロードできます。アクティベーション時に評価ライセンスを選択することで30日間ご使用いただけますので是非ご試用ください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away