CData Software Blog

クラウド連携のCData Software の技術ブログです。

CDataSync を AWS EC2 Amazon Linux で構成する

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

今日はいくつかパターンのあるCDataSync構成方法の一つをご紹介します。

CDataSyncの構成方法

CDataSyncでは現在 .NET ベースの「Windows版」とJavaベースの「Cross-Platform版」、およびCross-Platformを予めAMIイメージとして提供している「Amazon AMI版」の3種類が提供されています。

www.cdata.com

f:id:sugimomoto:20200408223923p:plain

今回はその中でも「Cross-Platform版」を使って、自前でAWS EC2を構成し、展開する方法を紹介したいと思います。

なお、細かな構成方法は以下のヘルプにも掲載されています。

cdn.cdata.com

Cross-Platform版を構成するにあたって

Cross-Platform版は現在大きく分けて2種類の構成方法があります。

一つはCDataSyncに予め組み込まれている組み込みJetty サーバーを使うパターン

もう一つはユーザーが任意のJava Servlet コンテナ(TomcatJBossWebLogic、WebSphere、またはJetty)を使うパターンです。

CdataSyncをダウンロードすると、以下の2種類のファイルが混同されており、「setup.jar」を実行すればそのままマシンにCDataSyncがインストールされますし、

Tomcatなどに「datasync.war」を配置すれば、そのままその Java Servlet コンテナ上でCDataSyncが利用できるように展開されます。

f:id:sugimomoto:20200408224642p:plain

今回は後者の任意のJava Servletコンテナに展開する例として「AWS EC2」のAmazon Linuxを立ち上げて、Tomcatを構成し、CDataSyncを展開する方法を紹介します。

手順

CDataSyncのダウンロード

まず、CDataSync本体を入手します。以下のURLからダウンロードに移動し「Cross-Platform版」をダウンロードしてください。

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

ZIPファイルを解答すると、以下のファイルが展開されますので、前述の通り「datasync.war」ファイルをこの後利用します。

f:id:sugimomoto:20200408224956p:plain

なお、EC2 にこの後このwarファイルをアップするのですが、今回はwgetコマンドでEC2上にダウンロードするので、予め私はAmazon S3にアップロードしておきました。

AWS EC2 Amazon Linux の立ち上げ

次にAWS EC2のインスタンスを立ち上げます。

なお、今回は最小環境で構成しますが、必要な性能要件は利用するデータソースや頻度、求めるパフォーマンスによって異なります。

最低限必要な環境要件は以下のURLから確認してください。

http://cdn.cdata.com/help/ASE/jp/sync/Server-Administration.html

今回はベーシックな「Amazon Linux 2 AMI(HVM) SSD Volume Type」

f:id:sugimomoto:20200408225137p:plain

無料利用枠の対象である「t2.micro」で立ち上げました。

f:id:sugimomoto:20200408225433p:plain

環境構成で唯一注意したい点はセキュリティグループの設定で開けるポートです。8080ポートで接続することになるので、以下のようにカスタムTCPでポートを許可しておきましょう。

f:id:sugimomoto:20200408225500p:plain

環境構成後、SSHで接続しますが、今回はお手軽な EC2 Instance Connect で行いました。

f:id:sugimomoto:20200408225615p:plain

JDK Install

まず、JDKをインストールします。今回は手軽にインストールできる yum から「java-1.8.0-openjdk」をインストールしました。

sudo yum install -y java-1.8.0-openjdk

Tomcat Install

続いて、yumJava Servlet コンテナとして利用する「tomcat」をインストールします。

sudo yum install tomcat

CDataSync

Tomcatをインストール後、tomcatのWebAppsフォルダにCDataSyncのwarファイルを配置します。

cd /usr/share/tomcat/webapps

前述の通り、あらかじめS3にアップロードしておいたので、wgetで取得しました。

sudo wget https://XXXXXX/datasync.war

最後にTomcat ユーザーにCData 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" />

以上で構成は完了です。

Tomcat 起動

あとはTomcatを起動して、アクセスするだけです。

sudo systemctl start tomcat

前述の通り、8080ポートを開けていたので、以下のようなURLでアクセスできます。

http://XXXXXX.ap-northeast-1.compute.amazonaws.com:8080/datasync

先程設定した Tomcat ユーザーでログインして利用できます。

f:id:sugimomoto:20200408230420p:plain

その他

もし対象環境でSSL/TLSを利用したい場合は以下の設定も必要です。

http://cdn.cdata.com/help/ASE/jp/sync/Java-Edition.html#ssltls-%E3%81%AE%E6%9C%89%E5%8A%B9%E5%8C%96

おわりに

思いの外簡単にセットアップできることがわかってもらえたんじゃないでしょうか。

もちろん、AWS AMI版の場合は特にLinuxにアクセスする必要なく利用可能です。

皆さんの環境に合わせて構成してみてください。