クラウドストレージへのスムーズなファイル連携に対応!『Data Uploader』をLinux環境に導入する #データ統合基盤 #CSアナリティクス

2020.12.01

当エントリは『クラスメソッド CSアナリティクス Advent Calendar 2020』1日目のエントリです。

当エントリでは、クラスメソッドが展開しているデータ統合基盤サービス『CSアナリティクス』(以降"CSA")のプロダクト群の1つ、『Data Uploader』をLinux環境に導入してトライアル版として利用するまでの流れを紹介します。

目次

 

『CSA Data Uploader』とは

CSAが展開するプロダクトの1つである『CSA Data Uploader』の概要については、以前投稿した下記エントリにてその内容を紹介しています。ざっくり言うとこのプロダクトは『「CSA: Data Uploader」はクラウドストレージ環境へのファイルアップロードをサポートする"簡易ETLツール"』です。WebベースのUIで設定・実行が可能であり、ファイルをアップロードする上で必要な『データソースの抽出』『抽出したデータの変換』『クラウドストレージへのアップロード』をスムーズ且つ簡単に行うことが出来ます。

上記解説エントリではCSA Data UploaderをWindows環境にインストールする手順について紹介していますが、現行バージョンではこの他にもLinux環境へ導入することが可能です。

 

CSA Data UploaderをLinux環境にインストール

CSA Data Uploaderのインストーラは、Windows版・Linux版共に下記サイトから入手可能です。

必要事項を入力後、ダウンロード出来るインストーラの中にあるtar.gzファイルを利用します。

導入する環境は前述の通り、Linux環境を用意します。CSA Data Uploaderは現行、64bit(x86_64)のLinux OSに対応しており、動作環境としてはAmazon Linux2上での挙動を確認済です(推奨環境もAmazon Linux2となります)。ここではそれに従って導入環境をAmazon Linux2で用意します。

  • SSHアクセス(23)、またブラウザアクセス(80または任意のポート番号)が必要となるので対象インスタンスにおけるアクセス制御を予め行っておいてください。
  • データのやり取りをインスタンス環境下で行うことも可能となります。このためインスタンスのストレージ容量も必要十分なサイズを確保しておいてください。

OSのバージョン情報などは以下の通りです。

$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"

対象の環境にでODBC接続を利用する際に備えて、予めunixODBCをyum経由でインストールしておきます。

$ sudo yum -y update
$ sudo yum -y install unixODBC-devel

Linux版インストーラを対象インスタンス環境下に配備し、tarコマンドで以下のパスに展開。

$ sudo tar -axvf csa_du-latest-linux_x64.tar.gz -C /usr/local/
csa_du/
csa_du/bin/
csa_du/bin/csa_du
csa_du/README.txt
csa_du/user_config.toml

$ ll /usr/local/csa_du/
合計 8
-rw-rw-r-- 1 ec2-user ec2-user 3578  xx月 xx xx:xx README.txt
drwxrwxr-x 2 ec2-user ec2-user   20  xx月 xx xx:xx bin
-rw-rw-r-- 1 ec2-user ec2-user 1384  xx月 xx xx:xx user_config.toml

実行ファイルをPATHに設定追記して初期設定は完了です。

$ echo 'PATH=$PATH:/usr/local/csa_du/bin' >> ~/.bash_profile
$ source ~/.bash_profile
$ which csa_du
/usr/local/csa_du/bin/csa_du

 

入出力データソースに関する準備

Data UploaderのWebサーバを起動させるための最低限の設定については上記の内容に従う形となりますが、入力・出力で各種データソースを扱う際は(データソースに応じて)各種連携のための設定が環境に対して必要となります。

  • 入力
    • Amazon S3 → 対象環境下にてAWS CLIをインストール・利用可能な設定としておくこと
    • Google Cloud Storage:対象環境下に、条件を満たすサービスアカウントキーファイルを配備しておくこと
    • Azure Blob Storage:環境に対する準備は特にありません
  • 出力
    • Amazon S3 → 対象環境下にてAWS CLIをインストール・利用可能な設定としておくこと
    • Google Cloud Storage:対象環境下に、条件を満たすサービスアカウントキーファイルを配備しておくこと

 

CSA Data Uploaderの起動&停止

Linux版のCSA Data Uploaderはデフォルト設定で80番ポートを利用します。この設定を用いる場合、実行プログラム(csa_du)に特権ポート(80番)の利用を許可するコマンドを実行してください。

$ sudo setcap 'cap_net_bind_service=+ep' /usr/local/csa_du/bin/csa_du

また、80番以外のポートを利用する場合、環境変数CSA_DU_PORT_NUMBERに利用するポート番号を設定してください。

$ export CSA_DU_PORT_NUMBER=8080

CSA Data Uploaderでは実行形式としてフォアグラウンド・バックグラウンド双方を選択可能です。

フォアグラウンド実行の場合はそのまま実行プログラム(csa_du)を実行してください。停止する場合はキャンセルコマンドをリクエストしてください。

$ csa_du 
2020/xx/xx xx:xx:xx Running in terminal.
I: xx:xx:xx Running in terminal.
⇨ http server started on [::]:8080
^C2020/xx/xx xx:xx:xx Stop request
I: xx:xx:xx Stop request
2020/xx/xx xx:xx:xx Stopping..
I: xx:xx:xx Stopping..
2020/xx/xx xx:xx:xx Done..
I: xx:xx:xx Done..

バックグラウンド実行の場合、以下のコマンドでサービスとしてインストールしてください。

$ sudo /usr/local/csa_du/bin/csa_du webserver --service install
install に成功しました

アプリケーション起動のために、上記インストール作業で生成された設定ファイルに一部修正を加えます。rootユーザにユーザー変更した上で、/etc/systemd/system/csa_data_uploader.service ファイルの[Service]項目配下に Environment=HOME=/root の行を追加します。

$ sudo su
$ vi /etc/systemd/system/csa_data_uploader.service
[Unit]
Description=Classmethod CS Analytics Data Uploader Application
ConditionFileIsExecutable=/usr/local/csa_du/bin/csa_du

[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/local/csa_du/bin/csa_du
Environment=HOME=/root


Restart=always
RestartSec=120
EnvironmentFile=-/etc/sysconfig/csa_data_uploader

[Install]
WantedBy=multi-user.target

sudo systemctl daemon-reloadコマンド実行で設定のリロードを行った後は、サービスの運用(起動・停止)が可能となります。

$ sudo systemctl daemon-reload
$ sudo /usr/local/csa_du/bin/csa_du webserver --service start
start に成功しました
$ sudo /usr/local/csa_du/bin/csa_du webserver --service stop
stop に成功しました

サーバの起動が確認出来たら、ブラウザ経由で所定のポート番号を指定する形でCSA Data Uploaderにアクセス出来ます。(デフォルト設定であればhttp://対象インスタンスのIPアドレス/でアクセス可能です)

 

CSA Data Uploderのトライアル利用手順

下記はIPアドレス指定、ポート番号指定無しでブラウザアクセスした時の初期表示画面です。一番最初は利用形態の選択などを行います。[次へ]を押下。

プログラム使用許諾を読み、[本使用許諾に同意します]のチェックを入れ、[次へ]を押下。

[製品版を利用する]を選択、[次へ]を押下。

[無料トライアル]を選択、[次へ]を押下。(ライセンスキーがある場合はここで登録して本利用を行うことも可能です)

管理者ユーザー(ユーザー名:admin)のパスワードを設定します。任意の値を設定し、[次へ]を押下。

ジョブ実行の通知を行う際に必要となる設定。利用にはAmazon SNSが必要となります。今回はここの設定はスキップ(後で設定は可能です)し、[次へ]を押下。

初期設定は以上で完了となります。[始める]を押下。

ログイン画面に遷移します。ユーザ名と先ほど設定したパスワードを使ってログイン。

ログインが完了し、Data UploaderのTOP画面に遷移しました。トライアル利用のため、画面丈夫にその旨を示すメッセージが常に表示されます(本登録を行う事で解除されます)。

製品利用形態をトライアルから本登録に切り替える際は、所定の手続きを踏まえてライセンスを入手頂いた後、Data Uploaderのメニューから[ヘルプ]→[ライセンスキーの管理]で遷移するページにて[製品版ライセンスキーの登録]を押下し、

ライセンスキー情報を入力・登録頂く事で完了となります。

 

まとめ

という訳で、『クラスメソッド CSアナリティクス Advent Calendar 2020』1本目のエントリ、Data UploaderをLinux環境にインストールする手順とトライアルに関する説明の紹介でした。CSA Data Uploaderは1ヶ月間のトライアル利用が可能となっています。興味をお持ち頂いた方は是非無料版ダウンロードページからインストーラを入手頂き、お試し頂けますと幸いです。

では、明日(2日目)のエントリもお楽しみに!