tableau serverのホスト名が変わってしまったときの対処法

AWS

背景

  • Tableau serverをAWS EC2で運用しています。

問題

  • インスタンスを落として、別のsubnetで起動したらtableau serverがちゃんと動かなくなってしまった。
  • 具体的には、Webからアクセスできない。tsmコマンドを打つとエラーになる。
    % tsm status
    Unable to verify the server's HTTPS certificate.
  • 以下のcertificate checkを無視するオプションを付けても変化なし。
    % tsm status --accepteula
  • 大量にエラーが出力され続ける。
    sudo tail -f /var/opt/tableau/tableau_server/data/tabsvc/**/*

対処法

hostnamectl set-hostnameを使って古いインスタンスのホスト名を無理やり設定する。その後、インスタンスのリブートをします。

以下がコマンド例。

sudo hostnamectl set-hostname ip-xxx-xxx-xxx-xxx.ap-northeast-1.compute.internal
sudo reboot

本来のやり方

  • 落とす前にtsmコマンド経由でbackupファイルを作成する
  • 新規ホストでtableau serverをクリーンインストール
  • backupファイルを復元

考察

tsm関連

  • tableauのtsmコマンドは、裏でhttpsで通信している
  • https serverはself signedなSSL証明書を使っている
  • tsmコマンドはself signedなSSL証明書だったら認証が通る。しかしながら、ホスト名が変わるとSSL証明書のホスト名と不一致になるので通らなくなる。

tableau server関連

  • 内部でセットアップ時のホスト名を保持している様子。よってホスト名が変更されると正常に動かなくなる。
  • 今回は無理やり前回のホスト名に合わせることで対処

コメント