目次
はじめに
こんにちは。Deckです。
この記事ではSaaS版のVizlib Serverの立ち上げ手順を解説します。
SaaS用のVizlib ServerにはWindows版とLinux版の2種類がありますが、今回はLinux版を利用します。
その理由はSaaS用Vizlib ServerはDockerコンテナ製であり、Windowsで動作させるには有償版のDockerが必要となってくるからです。
また、Windowsで動作させる以上、Windows Serverのライセンス費用も発生します。
よって、Linux版を利用する方がコスト的なメリットがあります。
手順1. Vizlibダウンロード
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点に注意してください。
- Server Compatibilityがサーバーのバージョンと一致していること
- オフライン版を選択すること
- オンライン版を選択すると勝手にバージョンが上がってサーバーとの互換性が壊れるため
手順2. サーバー起動
AWSコンソールに移動し、「インスタンスを起動」をクリックします。
インスタンスの名前を入力します。
OSはUbuntu Server 20.04 LTSを選択します。
インスタンスタイプを選択します。
ここではt2.microとします。
「新しいキーペアの作成」をクリックします。
キー名を入力して「キーペアを作成」をクリックします。
キーがダウンロードされるので、安全な場所に保管しておきます。
セキュリティグループ名と説明を入力します。
SSHの通信を許可するインバウンドルールを設定します。
HTTP,HTTPSの通信を許可するインバウンドルールを設定します。
必要な容量のストレージを設定します。
「インスタンスを起動」をクリックします。
インスタンスが起動するまでしばらく待ちます。
「アクション」から「接続」をクリックします。
手順3. サーバー接続
ここからは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]
手順4. HTTPS証明書取得と設定
この手順では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
手順5. Dockerインストール
次のコマンドを入力して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コンテナ設定ファイル編集
手順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セクションを設定します。
- VIZLIB_VMC_USERNAME: VMCのユーザーネームです。
- VIZLIB_VMC_PASSWORD: VMCのパスワードです。
- VIZLIB_DATABASE_USER: データベースユーザーネームです。
- 後に出てくるPOSTGRES_USERと一致させる必要があります
- VIZLIB_DATABASE_PASSWORD: データベースのパスワードです。
- 後に出てくるPOSTGRES_PASSWORDと一致させる必要があります
- VIZLIB_DATABASE_PORT: データベースのポート番号です。
- 後に出てくるportsと一致させる必要があります
- VIZLIB_DATABASE_DBNAME: データベースの名前です。
- 後に出てくるPOSTGRES_DBと一致させる必要があります
- VIZLIB_SERVER_LICENSE: Vizlib Serverのライセンスを入力します。
postgresセクションを編集します。
- POSTGRES_PASSWORD: データベースのパスワードです。
- VIZLIB_DATABASE_PASSWORD一と致させる必要があります
編集が終わったら、保存してエディタを終了します。
手順7. Vizlib Serverコンテナ起動
Vizlib Serverのtar.gzファイルをDockerにロードします。次のコマンドを実行します。
docker load < vizlib-server.tar.gz
Dockerをデタッチ状態で起動します。デタッチ状態とはコンテナのシェルに接続しないことを指します。
docker-compose up -d
正しく実行されていることを確認するため、Dockerのログを確認します。
docker logs vizlib-server
手順8. Vizlib Server ログイン
Vizlib Serverが起動したら、VMCにアクセスします。
https://*****.com/vmc/ に接続し、認証情報を入力します。
VMCにログインできました。引き続き残りの手順を実行します。
手順9. Qlik CloudにVizlibをインストール
Qlik CloudにVizlibをインストールします。
Qlik Cloudにログインし、Extensionsに移動します。
今回はVizlib Input FormとVizlib Writeback Tableが既にインストールされているため、Serverとバージョンを一致させます。
「編集」をクリックします。
置き換える拡張機能をアップロードします。
Vizlib Writeback Tableについても同様に更新を行います。
手順10. Qlik Cloud APIキー生成
APIキーに遷移し、「新しく生成」をクリックします。
「新規キーの生成」をクリックします。
APIキーの説明と有効期限を入力して「生成」をクリックします。
表示されたAPIキーを安全な場所に保管します。
手順11. Qlik Cloud OAuth設定
管理コンソールのOAuthセクションに移動し、「新規作成」をクリックします。
OAuthクライアントの設定を行います。
- クライアントタイプ: ウェブ
- 名前任意の文字列
- 説明: 任意の文字列
- 範囲: user_default、offline_accessを選択
クライアントIDとシークレットを安全な場所に保管します。
手順12. Qlik Cloud コンテンツセキュリティポリシー設定
コンテンツセキュリティポリシー設定に移動します。
「追加」をクリックします。
原点の設定を行います。
- 名前: 任意の名称を入力
- 原点: サーバーのURLを入力
- ディレクティブ: content-src、content-src(WebSocket)、img-srcを選択
手順13. Vizlib ServerにQlik Cloudの情報を入力
VMCのSYSTEM SETTINGS>QLIK CLOUDに移動します。
以下の4項目を入力します。
- テナントURL
- APIキー
- OAuthクライアントID
- OAuthクライアントシークレット
ダッシュボードに戻って更新ボタンを押すと、Qlik Cloudのセクションが緑色に変わります。
手順14. Vizlib Server セキュリティルール設定
セキュリティルール画面に移動し、「Add Rule」をクリックします。
必要事項を入力します。ここでは以下のように設定します。
- Description: Content Admins
- Resource Type: User Role
- Resource ID: ContentAdmin
- Attribute Type: userId
- Operator: NotEqual
- Value: hoge
手順15. Qlik Cloud データ管理用スペース作成
Qlik Cloudのスペース管理ページに移動し、「新規作成」をクリックします。
タイプは「データ」を選択、名前を入力して「作成」をクリックします。
作成したスペースの「メンバーを管理」をクリックします。
「メンバーを追加」をクリックします。
APIキーを作成したユーザーを選択し、「編集可能」権限を設定します。
手順16. Qlik Cloud アプリ管理用スペース作成
アプリ開発用スペースを作成します。
「新規作成」をクリックします。
タイプは「共有」とし、名前を入力します。
作成したスペースで「メンバーを管理」をクリックします。
APIキーを作成したユーザーに「編集可能」権限を設定します。
手順17. 検証用サンプルアプリアップロード
Qlik Cloudのホームに戻り、サンプルアプリをアップロードします。
スペースは先ほど作成した開発用スペースとします。
公式ヘルプページの下部にあるサンプルアプリをアップロードします。
手順18. Vizlib Server Destination設定
VMCに移動し、WRITEBACK SETTINGS>DESTINATIONSを開き、「Add Destination」をクリックします。
設定項目を入力します。
- Id: VizlibWritebackDemoData
- App: {{APPID}}
- HubSpotの記事レンダリングの都合上全角にしていますが、実際は半角で入力します
- Id: VizlibWritebackDemoData
- File Name: Set by Extension、以下の項目をセット
Settings
ColumnShowcase
ScatterSalesDate
EmployeeForm
EventLog
LiveTotals
IconOptions
CountryOptions
UserDirectoryOptions
DropdownOptions
Variables
ColorVariables
InsertAuditData
RequiredIf
手順19. サンプルアプリ設定
先ほど追加したサンプルアプリを開き、データロードエディターに移動します。
READMEタブのホストネーム変数をサーバーのホスト名に変更します。
アプリをリロードします。
ファイルが作成されたことを確認するため、データ接続からファイルを確認します。
qvdファイルが一覧で表示されました。
qvdファイルはQlik Cloudのデータスペースに保存されているため、Qlik Cloudの管理対象となります。
手順20. サンプルアプリでWriteback実行
シートに移動します。
初回接続時、appの認証画面が表示されるので、「認証」をクリックします。
「Add row」ボタンから、新規行を追加します。
追加できたら「Update」ボタンをクリックします。
アプリのリロードが行われます。
しばらく待つと更新が完了し、データが追加されたことが確認できます。
Vizlib Server for Qlik Cloudの設定は以上です!