Tableau ServerとTSMにALB経由でアクセスしてみた #tableau

Tableau Server、Tableau Services Manager(以下、TSM)にALB経由でアクセスできる環境を作成してみました。本エントリではALBで証明書をターミネーションし、Route 53を利用しドメインを使用した手順を紹介したいと思います。

構成図

00

最終的には、Zone Apex(ここではnochan.tk)でTableau Server、サブドメイン(ここではtsm.nochan.tk)でTSMに接続します。

前提

ターゲットグループ作成

Tableau Server用

Tableau Server用のターゲットグループを作成します。ターゲットグループ名は任意ですが、ここではtest-tableau-server-tgrで作成します。

ALBからターゲットに対してルーティングするポート番号を指定します。Tableau Serverではデフォルトのポートを利用させているので、HTTP:80を設定します。環境にあわせTableau ServerがLISTENしているポート番号を設定してください。

Tableau Serverをターゲットに追加します。この時点でステータスは「unused」になります。

TSM用

TSM用のターゲットグループを作成します。ターゲットグループ名は任意ですが、ここではtest-services-manager-tgrで作成します。

TSMががLISTENしているHTTPS:8850を設定します。ヘルスチェックのプロトコルは「HTTPS」でパスには「/login」を指定します。

Tableau Serverをターゲットに追加します。先程同様、この時点でステータスは「unused」になります。

ALB作成

ロードバランサーの種類は「Application Load Balancer」を選択します。

リスナーは外部から接続を受け付けるポートになりますので、HTTPS:443を指定します。外部接続用のALBになりますので、アベイラビリティゾーンに、パブリックサブネットを指定します。

ACMで取得済みの証明書を選択します。

ALB用のセキュリティグループを選択します。

既存のターゲットグループを選択し、Tableau Server用ターゲットグループ(test-tableau-server-tgr)を選択します。

事前にターゲットグループの作成、ターゲットの登録を行っていたので、既にターゲットが登録されている状態です。

意図した通りの設定か確認し、ALBを作成します。

正常に作成できていれば、Tableau Server用ターゲットグループ(test-tableau-server-tgr)のステータスが「healthy」になります。

ALBのDNS名にアクセスすると、この時点でもTableau Serverに接続することが可能です。

Route 53設定

Route 53のホストゾーン(ここではnochan.tk)にレコードを追加していきます。

Tableau Server用

Aレコードを選択し、エイリアス先は先程作成したALBを指定します。

TSM用

Aレコードを選択し、TSMにアクセスさせるサブドメイン(ここではtsm)を入力します。エイリアス先は先程作成したALBを指定します。

リスナールール追加

TSMへはサブドメイン経由でアクセスさせたいので、ALBのリスナーにルールを追加します。

条件で「ホストヘッダー」を選択し、TSMにアクセスさせるドメイン名(tsm.nochan.tk)を指定します。アクションは転送先を選択し、転送先にTSM用のターゲットグループ(test-services-manager-tgr)を指定します。

正常に作成できていれば、TSM用ターゲットグループ(test-services-manager-tgr)のステータスが「healthy」になります。

動作確認

Tableau Server

HTTPSでZone Apex(nochan.tk)にリクエストすると、Tableau Serverにアクセスすることができました。

TSM

HTTPSでサブドメイン(tsm.nochan.tk)にリクエストすると、TSMにアクセスすることができました。

補足

本エントリでは、TSMのアクセスにサブドメインを利用しましたが、ALBにリスナーを追加すればZone Apexのポート指定で、TSMにアクセスすることも可能です。(ALBのセキュリティグループにTCP:8850の許可は必要です。)

ALBのリスナーに追加したルールを削除します。

リスナーを追加し、転送先にTSMのターゲットグループ(test-services-manager-tgr)を指定します。

HTTPSでTSMのポートを指定(nochan.tk:8850)しリクエストすると、TSMにアクセスすることができました。

最後に

Tableau Server、TSMにドメイン経由でアクセスできる環境の構築手順をご紹介しました。誰かのお役に立てれば幸いです。

参考