こんにちは。CData Software Japan リードエンジニアの杉本です。
前回、さくらクラウドでCData API Serverを構成する方法を紹介しました。
今回はそのさくらクラウドにCDataSyncを構成方法も紹介したいと思います。
自動データレプリケーション | CData Software Japan
CData Sync の構成方法
CData Sync はAPI Serverと同様に現在 .NET ベースの「Windows版」とJavaベースの「Cross-Platform版」、およびCross-Platformを予めAMIイメージとして提供している「Amazon AMI版」の3種類が提供されています。
https://www.cdata.com/jp/sync/www.cdata.com
今回はその中の「Cross-Platform版」を使って、さくらクラウドのIaaSへ展開する方法を紹介します。
なお、細かな構成方法は以下のヘルプにも掲載されています。
Cross-Platform版を構成するにあたって
Cross-Platform版は現在大きく分けて2種類の構成方法があります。
一つはCData Sync に予め組み込まれている組み込みJetty サーバーを使うパターン
もう一つはユーザーが任意のJava Servlet コンテナ(Tomcat、JBoss、WebLogic、WebSphere、またはJetty)を使うパターンです。
CData Sync をダウンロードすると、以下の2種類のファイルが混同されており、「setup.jar」を実行すればそのままマシンにCData Sync がインストールされますし、
Tomcatなどに「datasync.war」を配置すれば、そのままその Java Servlet コンテナ上でCData Sync が利用できるように展開されます。
今回は後者の任意のJava Servletコンテナに展開する例としてさくらクラウドIaaSを立ち上げて、Tomcatを構成し、CData Sync を展開する方法で進めます。
手順
必要なもの
必要になるものは、さくらクラウドのアカウントとSyncの本体です。
- さくらクラウドアカウント
- CData Sync Cross-Platform版
さくらクラウドではIaaSを利用します。テスト用なので、構成は最小のものを利用しました。
CData Syncのダウンロード
まず、CData Sync 本体を入手します。以下のURLからダウンロードに移動し「Cross-Platform版」をダウンロードしてください。
https://www.cdata.com/jp/sync/
ZIPファイルを解答すると、以下のファイルが展開されますので、前述の通り「datasync.war」ファイルをこの後利用します。
なお、サーバーにこの後このwarファイルをアップするのですが、今回はwgetコマンドでインスタンス上にダウンロードするので、予め私はクラウドストレージにアップロードしておきました。もちろん、FTPやSCPでアップロードしてもかまいません。
パケットフィルタの作成
次にさくらクラウドにログインして、環境を構成していきます。
今回はTomcatを構成して、最終的に「8080」ポートでアクセスを行います。そのため、予めパケットフィルタで8080を許可するフィルタ条件を作成しておきましょう。
合わせて、SSH 用の22番ポートを自社のIPアドレスだけ許可し、それ以外をすべてクローズしました。
さくらクラウドの IaaSを構成する
次にIaaSのインスタンスを構成していきます。
サーバ一覧画面に移動して「追加」をクリックし
構成する環境の情報を入力します。今回は検証用途のため、コア数やメモリは最小のものを選択しています。運用環境の場合は、アクセス数などに応じて、選択してください。
アーカイブは「CentOS 7.8」を選択しました。yumからTomcatがインストールしやすいバージョンとして選んだだけなので、Tomcatのインストールが面倒で無い方は任意のOSを選んでかまいません。
あとは「インターネットに接続」する構成を選択し、予め用意しておいたTomcat用のパケットフィルタを選択します。
後ほどSSHでアクセスするので管理者パスワードもしくは公開鍵を指定しておきましょう。
これで構成を行います。
SSH でアクセス
構成が完了したら、対象のIPアドレスを指定して、SSHでアクセスします。
ssh root@XXX.XXX.XXX.XXX
ログインパスワードは先程指定した管理者パスワードを入力します。
必要なパッケージのインストール
それでは環境構築を進めていきましょう。まずyumをアップデートして
yum update
sudo yum install tomcat sudo yum install wget
インストール完了後、tomcatのWebAppsフォルダにSyncのwarファイルを配置します。
cd usr/share/tomcat/webapps sudo wget https://XXXXX/datasync.war
次に、Syncへログインするためのユーザーを登録します。「conf/tomcat-users.xml」を編集し
sudo vi /usr/share/tomcat/conf/tomcat-users.xml
以下の行を追加します。
<user name="admin" password="admin" roles="cdata_admin,admin-gui,manager-gui,manager-status,manager-script,manager-jmx" />
Firewall の構成
続いて、TomcatのPort「8080」をFirewallが通過できるように、「tomcat.xml」を作成します。
cd /usr/lib/firewalld/services/ sudo touch tomcat.xml sudo vi tomcat.xml
<?xml version="1.0" encoding="utf-8"?> <service> <short>Apache Tomcat 8</short> <description>Apache Tomcat 8</description> <port protocol="tcp" port="8080"/> </service>
あとは、先程作成したXMLをFirewallに登録して、リスタートすればOKです。
sudo firewall-cmd --zone=public --permanent --add-service=tomcat sudo systemctl restart firewalld.service
tomcat の起動
それではTomcatを起動してみましょう。
sudo systemctl start tomcat
起動後、以下のURLでアクセスすることができます。
http://XXX.XXX.XXX.XXX:8080/datasync/
以下のように画面が表示され、ログインできれば作業完了です。
ログイン後、忘れずにトライアルを有効化しておきましょう。
おわりに
さくらクラウドはMariaDB・PostgreSQLのクラウドデータベースのサービスも提供されているので、CDataSyncを使ってそういったデータベースにレプリケーションも可能です。
もちろん、RDB以外にも様々なNoSQL・DWHをサポートしているので、お好みのデータソースにレプリケーションを試してみてください。
https://www.cdata.com/jp/sync/#destinations