背景
- 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関連
- 内部でセットアップ時のホスト名を保持している様子。よってホスト名が変更されると正常に動かなくなる。
- 今回は無理やり前回のホスト名に合わせることで対処
Comments