こんにちは。Deckです。
この記事ではSaaS版のVizlib Serverの立ち上げ手順を解説します。
SaaS用のVizlib ServerにはWindows版とLinux版の2種類がありますが、今回はLinux版を利用します。
その理由はSaaS用Vizlib ServerはDockerコンテナ製であり、Windowsで動作させるには有償版のDockerが必要となってくるからです。
また、Windowsで動作させる以上、Windows Serverのライセンス費用も発生します。
よって、Linux版を利用する方がコスト的なメリットがあります。
https://portal.insightsoftware.com/ にアクセスし、Vizlib Serverのダウンロードとキーのコピーを行います。
Eメールアドレスとパスワードを入力してVizlibポータルにログインします。
画面左下の「Vizlib Server」をクリックします。
License Keyセクションにある「Copy Key」ボタンをクリックし、キーを安全な場所に保管しておきます。
右側の「Download product」から、「Qlik Cloud Versions」をクリックします。
最新バージョンの「Docker」ボタンをクリックするとダウンロードが開始されます。
次に、Vizlib Collaborationのダウンロードページに移ります。
「Download products」から「Extensions」をクリックします。
Vizlib Writeback Table, Vizlib Input Formのダウンロードを行います。
次の2点に注意してください。
AWSコンソールに移動し、「インスタンスを起動」をクリックします。
インスタンスの名前を入力します。
OSはUbuntu Server 20.04 LTSを選択します。
インスタンスタイプを選択します。
ここではt2.microとします。
「新しいキーペアの作成」をクリックします。
キー名を入力して「キーペアを作成」をクリックします。
キーがダウンロードされるので、安全な場所に保管しておきます。
セキュリティグループ名と説明を入力します。
SSHの通信を許可するインバウンドルールを設定します。
HTTP,HTTPSの通信を許可するインバウンドルールを設定します。
必要な容量のストレージを設定します。
「インスタンスを起動」をクリックします。
インスタンスが起動するまでしばらく待ちます。
「アクション」から「接続」をクリックします。
ここからはSSH接続にUbuntu on Windowsを利用します。
他のSSHクライアントを利用する場合は適宜読み替えてください。
この手順の概念図は以下のようになります。
接続元マシンに存在するUbuntuにキーファイルをコピーし、その認証情報を利用してサーバーに接続します。
「インスタンスに接続」画面を開き、接続コマンドをコピーします。
プライベートキーファイルをUbuntuのホームディレクトリにコピーします。
キーファイルの権限を設定します。
chmod 400 "ISL-R&D-VizlibSaaS.pem”
sshコマンドでインスタンスに接続します。
ssh -i "ISL-R&D-VizlibSaaS.pem" [ubuntu@*****.compute.amazonaws.com]
この手順ではLet’s Encryptを利用してHTTPS証明書を入手します。
証明書更新アプリケーションをインストールします。
sudo apt install letsencrypt
以下のコマンドで証明書を入手します。
sudo letsencrypt certonly --standalone -d *****.com
コマンド実行時、連絡用のメールアドレスとニュース購読の選択肢が表示されます。
実行が完了すると、証明書のパスが表示されます。
HTTPS接続を受け付けるソフトウェアであるHAProxyで認識できるファイルを作成するために、証明書と鍵を連結します。
次のコマンドを実行します。
sudo cat /etc/letsencrypt/live/*****.com/fullchain.pem \
/etc/letsencrypt/live/*****.com/privkey.pem \
| sudo tee /etc/letsencrypt/live/*****.com/*****.com.pem
次のコマンドを入力してDockerをインストールします。
# 古いバージョンがあれば削除
for pkg in docker.io docker-doc docker-compose \
docker-compose-v2 podman-docker containerd runc; \
do sudo apt-get remove $pkg; done
# 依存パッケージインストール
sudo apt update
sudo apt install ca-certificates curl
# Dockerリポジトリの公開鍵をUbuntu推奨ディレクトリへ格納
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg \
-o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Dockerリポジトリ登録
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] <https://download.docker.com/linux/ubuntu> \\
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Docker Engineのインストール
sudo apt update
sudo apt install docker-ce docker-ce-cli \
containerd.io docker-buildx-plugin docker-compose-plugin
# Docker Composeのインストール
sudo apt install docker-compose
Vizlib公式のインストールコマンドにはタイプミスがあり、コマンドが通りません。上記に記載してあるコマンドを実行してください。(2025/01時点)
dockerグループにユーザーを追加します。次のコマンドを入力します。
sudo usermod -aG docker $USER
変更を有効化するため、一旦ログアウトし再度SSH接続します。
動作確認のため、hello-worldを実行します。
docker run hello-world
手順6ではVizlib Serverのファイルをインスタンスにアップロードします。
手順1でダウンロードしたzipファイルを解凍し、「docker-compose-example.yml」の名前を「docker-compose.yml」に変更します。
一旦サーバーからログアウトし、次のコマンドを実行してファイルを転送します。
scp -i "ISL-R&D-VizlibSaaS.pem" VizlibServer-QlikCloud-Docker-4.21.0/docker-compose.yml ubuntu@*****.amazonaws.com:/home/ubuntu
scp -i "ISL-R&D-VizlibSaaS.pem" VizlibServer-QlikCloud-Docker-4.21.0/haproxy.cfg ubuntu@*****.compute.amazonaws.com:/home/ubuntu
scp -i "ISL-R&D-VizlibSaaS.pem" VizlibServer-QlikCloud-Docker-4.21.0/vizlib-server.tar.gz ubuntu@*****.compute.amazonaws.com:/home/ubuntu
次に、設定ファイルの編集を行います。
サーバーに接続し、haproxy.cfgファイルを開き、ドメイン名を入力します。
vi haproxy.cfg
続いて、 docker-compose.ymlを編集します。
vi docker-compose.yml
volumesの証明書ファイル指定部分に先ほど連結した証明書パスを入力します。
vizlib-serverのimageを使用するバージョンに合わせて書き換えます。
ログファイルの出力場所を./log:/logに変更します。
environmentセクションを設定します。
postgresセクションを編集します。
編集が終わったら、保存してエディタを終了します。
Vizlib Serverのtar.gzファイルをDockerにロードします。次のコマンドを実行します。
docker load < vizlib-server.tar.gz
Dockerをデタッチ状態で起動します。デタッチ状態とはコンテナのシェルに接続しないことを指します。
docker-compose up -d
正しく実行されていることを確認するため、Dockerのログを確認します。
docker logs vizlib-server
Vizlib Serverが起動したら、VMCにアクセスします。
https://*****.com/vmc/ に接続し、認証情報を入力します。
VMCにログインできました。引き続き残りの手順を実行します。
Qlik CloudにVizlibをインストールします。
Qlik Cloudにログインし、Extensionsに移動します。
今回はVizlib Input FormとVizlib Writeback Tableが既にインストールされているため、Serverとバージョンを一致させます。
「編集」をクリックします。
置き換える拡張機能をアップロードします。
Vizlib Writeback Tableについても同様に更新を行います。
APIキーに遷移し、「新しく生成」をクリックします。
「新規キーの生成」をクリックします。
APIキーの説明と有効期限を入力して「生成」をクリックします。
表示されたAPIキーを安全な場所に保管します。
管理コンソールのOAuthセクションに移動し、「新規作成」をクリックします。
OAuthクライアントの設定を行います。
クライアントIDとシークレットを安全な場所に保管します。
コンテンツセキュリティポリシー設定に移動します。
「追加」をクリックします。
原点の設定を行います。
VMCのSYSTEM SETTINGS>QLIK CLOUDに移動します。
以下の4項目を入力します。
ダッシュボードに戻って更新ボタンを押すと、Qlik Cloudのセクションが緑色に変わります。
セキュリティルール画面に移動し、「Add Rule」をクリックします。
必要事項を入力します。ここでは以下のように設定します。
Qlik Cloudのスペース管理ページに移動し、「新規作成」をクリックします。
タイプは「データ」を選択、名前を入力して「作成」をクリックします。
作成したスペースの「メンバーを管理」をクリックします。
「メンバーを追加」をクリックします。
APIキーを作成したユーザーを選択し、「編集可能」権限を設定します。
アプリ開発用スペースを作成します。
「新規作成」をクリックします。
タイプは「共有」とし、名前を入力します。
作成したスペースで「メンバーを管理」をクリックします。
APIキーを作成したユーザーに「編集可能」権限を設定します。
Qlik Cloudのホームに戻り、サンプルアプリをアップロードします。
スペースは先ほど作成した開発用スペースとします。
公式ヘルプページの下部にあるサンプルアプリをアップロードします。
VMCに移動し、WRITEBACK SETTINGS>DESTINATIONSを開き、「Add Destination」をクリックします。
設定項目を入力します。
Settings
ColumnShowcase
ScatterSalesDate
EmployeeForm
EventLog
LiveTotals
IconOptions
CountryOptions
UserDirectoryOptions
DropdownOptions
Variables
ColorVariables
InsertAuditData
RequiredIf
先ほど追加したサンプルアプリを開き、データロードエディターに移動します。
READMEタブのホストネーム変数をサーバーのホスト名に変更します。
アプリをリロードします。
ファイルが作成されたことを確認するため、データ接続からファイルを確認します。
qvdファイルが一覧で表示されました。
qvdファイルはQlik Cloudのデータスペースに保存されているため、Qlik Cloudの管理対象となります。
シートに移動します。
初回接続時、appの認証画面が表示されるので、「認証」をクリックします。
「Add row」ボタンから、新規行を追加します。
追加できたら「Update」ボタンをクリックします。
アプリのリロードが行われます。
しばらく待つと更新が完了し、データが追加されたことが確認できます。
Vizlib Server for Qlik Cloudの設定は以上です!