Tableau ServerをWindows Serverに構築してSSL化してみた #tableau
こんにちは!2月からリモートワークのため、3ヵ月ほど生身の人間との会話をしていない新納です。寂しさを紛らわすため、Windows Server上にTableau Serverの構築をしてみました。
前提条件
今回の検証では以下の環境を使用しています。
- Tableau Server 2020.1
- Windows Server 2019
- m5.4xlarge
- EC2インスタンスを作成済みであること
- ACMで証明書を取得済みであること
構成図は以下の通り。
Tableau Serverをインストールする
Tableau Serverのシステム要件を満たすEC2インスタンスを起動出来たら、早速Tableau Serverをインストールしていきましょう。要件を満たしていない場合、インストーラを起動してもインストールに進めません。そんな偉そうなことを言いつつ、私は要件を満たしていなかったのでエラー画面が出ました。
EC2のインスタンスタイプは後から変更できますし、ディスクサイズが足りなかった場合もEBSボリュームの追加が可能です。EBSボリュームを追加したいときは以下のエントリをご参照ください。
気を取り直してTableau Serverをインストールしていきましょう。インストーラを以下より入手します。
インストール作業自体はインストーラを起動して画面の指示に従うだけです。今回は新しく作成したEC2インスタンスにインストールを行うので、「Create new Tableau Server installation」を選択します。
License Termを読み、同意して次に進みます。
インストール先を指定します。今回の検証ではデフォルトのまま次に進めていきます。
インストールプロセスが走ります。
インストールが完了すると、TSM(Tableau Services Management)がブラウザで起動します。プロダクトキーを入力、もしくはトライアルを選択してアクティベーションします。
登録情報を入力し、次に進みます。
環境設定を行います。今回はローカル認証でセットアップします。アイデンティティストアの設定は後から変更ができない点に注意してください。Tableau Serverの認証方法については以下をご参照ください。
セットアップのプロセスが開始します。
セットアップが完了すると以下の画面が表示されます。「Continue」をクリックしてTableau Server管理者設定に進みます。
Tableau Serverの管理者アカウントを作成します。ユーザー名・表示名・パスワードを入力します。
ここまででTableau Server側の設定は完了です。
ALB(Application Load Balancer)を作成する
次にAWS側の設定を実施します。ロードバランサーの作成より「Application Load Balancer」を選択します。
ロードバランサーのプロトコルにHTTPSを指定し、アベイラビリティゾーンを2つ以上選択して次に進みます。
事前にACM(AWS Certificate Manager)で作成しておいた証明書を選択します。証明書の作成方法は以下エントリをご参照ください。
セキュリティグループを指定します。
Tableau ServerとTSM用のターゲットグループをそれぞれ作成します。まずはTableau Server用のものから作っていきます。プロトコルにはHTTPを指定し、ヘルスチェックのパスはデフォルトの/
のままにしておきます。
確認後、作成ボタンを押すとロードバランサーが立ち上がります。
次にTSM用のターゲットグループを作成します。TSMへはHTTPS経由のアクセスのみ許可されるため、プロトコルはHTTPSでポートは8850に指定します。ヘルスチェックパスには/login
を指定します。
ターゲットの登録よりさきほどのターゲットグループをTableau Serverに追加します。
しばらくしてヘルスチェックがhealthyに変わります。
セキュリティグループの変更
上記までの設定でTableau Server、TSMともにアクセスできる状態になっていますが、現時点ではEC2インスタンスを直接指定するだけでもアクセスできてしまいます。ALB経由でのみアクセスを許可するようにセキュリティグループを変更します。今回の検証でいうところのhttps://tab-server.cm-ayx.net
からのみアクセスさせるようにします。
EC2のセキュリティグループ
まずはTableau ServerをインストールしたEC2インスタンスのセキュリティグループを設定します。HTTP:80
とTCP:8850
に先ほど作成したALBのセキュリティグループを指定します。リモートデスクトップ接続用に任意のIPアドレスにRDPも許可しておきましょう。
ALBのセキュリティグループ
HTTPS:443
とTCP:8850
を任意のIPアドレスに許可します。
Tableau Serverへのアクセスができるようになりました。
TSMへはURL末尾に:8850
を付けてアクセスできます。
さいごに
Tableau ServerをWindows Serverに構築し、ALB経由でアクセスしてみました。「検証用だし、小さいインスタンスにさらっと構築してみるか…」と思ったらスペック不足のせいでインストーラが起動しないというエラーに何度も直面してしまいました。「前のバージョンではこのインスタンスタイプでインストールしてた!」と言わず、今後は要件を確認しようと反省しました…。