GCP(のGCE)にTableau Serverをインストールしてみた

ジーシーピーのジーシーイー
2021.02.03

大阪オフィスの玉井です。

ふと、GCPでTableau Serverを立ち上げてみたくなったので、やってみました。

公式ドキュメント

やること

  • Google Compute EngineにTableau Serverをインストールする
  • インストールするTableau Serverについて
    • v2020.4.0
    • Linux版

やってみた

事前準備

  • GCPが使えるようにしておく
  • プロジェクトを作成しておく

VMインスタンスを立ち上げる

GCPの画面から、VMインスタンスのメニューに移動します。

インスタンスを作成画面に入ります。

設定は下記のようにしました。マシン構成は、Tableau公式が推奨する種別を選択しました。あと、リージョンは大阪でいくで!!!!!!!!!!!!

OSはUbuntuにしました(深い理由はありません)。ディスク容量は128GBにしました(公式推奨)。一番下のHTTPとHTPPSのトラフィックの設定にチェックを入れておくと、これらの通信を許可するファイアウォールルールが自動的に追加されます。セキュリティ要件等に応じて、使い分けましょう。

設定完了後、作成が終わるまで待ちます。

Tableau Serverをインストールする

作成したインスタンスにSSH接続します。今回はブラウザからそのままSSH接続できる機能を使います。鍵の設定云々の作業が一切無いのですっごい楽です。

ウィンドウが立ち上がって、CLI環境が使えるようになります。

作業開始~インストーラのダウンロード

まず下記を実行します。

$ sudo apt-get update
$ sudo apt-get -y install gdebi-core

次に、Tableau Serverのインストーラーをダウンロードします(今回インストールするのは2020.4.0)。ちなみに自分はUbuntu(というかLinux OS全般)について無知なので、Downloadディレクトリがどこにあるのかわからず、自分で作成しました。

$ mkdir donwloads
$ cd downloads
$ wget https://downloads.tableau.com/esdalt/2020.4.0/tableau-server-2020-4-0_amd64.deb

インストーラーの実行〜TSMの準備

ダウンロードしたインストーラーを実行します。

$ sudo gdebi -n tableau-server-2020-4-0_amd64.deb

次にTableau Serverの管理システムであるTSMを準備するスクリプトを実行します。

$ sudo /opt/tableau/tableau_server/packages/scripts.20204.20.1116.1810/initialize-tsm --accepteula

...

The TSM administrative web interface (and REST API) is now available at https://test-tableau-server:8850
You can continue the configuration and initialization of Tableau server using either the TSM command line interface, or the web interface.
You will be prompted to authenticate, or can log in using the username 'tamai_rei', with the same password you used to log into this session. You could also use any username, with its password, from the administrative group in the domain.
Done.

最後のメッセージの通り、次からTSMを利用してインストール作業を続行できる状態になりました。今回はWebブラウザからTSMにログインして設定を進めます。

ちなみに、完了メッセージにhttps://test-tableau-server:8850と出ましたが、これはマシン名から機械的に生成されたURLでしかなく、実際にIPアドレスにドメイン名を付与したわけではないので、注意しましょう。

TSMの初期設定

TSM用のユーザーを作成しておきます。

$ sudo useradd tama
$ sudo passwd tama
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
$ sudo usermod -G tsmadmin -a tama

WebブラウザからTSMにアクセスします。アクセス先は、https:<インスタンスの外部IP>:8850になります。アクセスできない時は、ファイアウォールルール等の設定を確認しましょう。

アクセスできたら、TSM用のユーザーでログインします。

トライアルを選んで、順次、設定を進めていきます。以降、従来のTableau Serverと同じなので省略します。

Tableau Server自体のユーザー第1号を作成する

Tableau Serverのインストール自体が終わっても、「Tableau Serverそのもの」のユーザーがまだ存在していないので、「Tableau Serverそのもの」にはまだログインすることができません。ですので、Tableau Serverのユーザーを作成します。

今回はtabcmdで作成します。私の記憶違いなのか、Tableau Server自体にtabcmdはついてませんでしたので、別途インストールします。

$ wget https://downloads.tableau.com/esdalt/2020.4.0/tableau-tabcmd-2020-4-0_all.deb
$ sudo gdebi -n tableau-tabcmd-2020-4-0_all.deb

tabcmdを実行しようとしたところ「Javaがねえぞ?」って怒られたので、インストールします。

$ sudo apt install default-jre

tabcmdでユーザーを作成します。

# TableauのEULA(使用許諾契約)に同意
$ tabcmd --accepteula

# 「admin_gce」という名前のTableau Serverユーザーを作成
# インスタンス内部で実行しているので'localhost:80'を指定
$ tabcmd initialuser --server 'localhost:80' --username 'admin_gce'

Tableau Serverにログインしてみる

Tableau ServerのURLは、http:<インスタンスの外部IP>になります。SSL化の設定をしていないので、httpsではないところに注意です。

先程用意したユーザーで、無事にログインできました。

GCPでTableau Serverを立ち上げるメリット

いやまあ、当たり前な話で申し訳ないんですけど、GCPの他サービスと連携したい時は、Tableau ServerもGCP(GCE)に用意した方がいいです。特に、データウェアハウスのGoogle BigQueryを使われているユーザーさん、非常に多いんじゃないでしょうか。Tableau Server上のVizからライブ接続するもよし、抽出ファイルを作成するもよし、BQとTableau Server on GCEの相性はとても良いと考えられます。

また、Tableauは、Google AnalyticsGoogleスプレッドシートにネイティブ対応しているため、同じGoogleサービスで揃えておいた方が、何かと有利です。

おわりに

GCPに触れてよかったです。