Tableau Pulse & Agent 体験会
パワーアップしたTableauを体感いただくべく、この度Tableau Pulse & Agent 体験会をお届けします。
Tableau Server のバックアップ・リストアの知識はなぜ必要?
「Tableau 管理 虎の巻」の連載も今回で5回目となりました。今までの記事では、Tableau をご利用いただく際、すぐ必要となるライセンス管理やセキュリティ(主にコンテンツ管理)を取り上げてきました。
過去の連載記事
・Tableau 管理 虎の巻 ライセンス管理 入門編
・Tableau 管理 虎の巻 ライセンス管理 実践編
・Tableau 管理 虎の巻 セキュリティ 前編
・Tableau 管理 虎の巻 セキュリティ 後編
ただ、上記のような知識があれば短期的な運用は可能ですが、長期で製品を利用していくと、以下のような環境全体のメンテナンス作業を考える必要が出てきます。
<例>
- Tableau Server バージョンアップの準備
- Tableau Server 破損時のリスクヘッジ
- ハードやOSの状況に応じたTableau Server の環境移行
これらはサーバー製品を扱ううえで一般的な保守・運用作業であり、「Tableau Server」 のバックアップ・リストアの手順を知ることで実施できるようになります。
なお、前提として複数あるTableau 製品のうち、バックアップ・リストアを行うのは、Tableau Server のみです。同じサーバー系製品「Tableau Cloud」 はその環境をメーカーが持っているためインフラ面の管理はメーカー持ちとなりますし、「Tableau Desktop / Prep」 はアプリ系製品のため、環境移行や長期的なメンテナンスの概念がありません。
バックアップ・リストアの手順
ここからは、具体的なバックアップ・リストアの手順をご説明します。
なお、Tableau Server でバックアップ・リストアを行う場合、作業前後のTableau Server や OSなどのバージョン・メーカー・仮想化の有無などにおいて変更が伴うこともありますが、今回は前後で変更がない環境を想定した手順を解説いたします。
同一条件の環境移行は突然の Tableau Server の破損のケースが該当しますが、各種状況におけるバックアップ・リストア作業の基本手順となります。
移行関連のドキュメントは以下にまとまっていますので、想定されている状況に近い内容をご確認いただけます。
参考
・Tableau Server on Windows ヘルプ – 移行
・Tableau Server on Linux ヘルプ – 移行
以降では、この中から 新しいハードウェアへの移行 に沿った手順を説明します。
1.バックアップ
1-1.バックアップ ファイル出力先確認
デフォルトでは下記に出力されます。
| Windows : C:\ProgramData\Tableau\Tableau Server\data\tabsvc\files\backups\ Linux: /var/opt/tableau/tableau_server/data/tabsvc/files/backups/ |
例えば Windows で Cドライブが破損した場合、バックアップファイルが取り出せなくなってしまうため、バックアップファイルは別の場所で保管しておくことを推奨します。
バックアップファイルの出力先は TSM の basefilepath.backuprestore 変数で変更できます。
設定されている出力先を確認するには下記のコマンドを実行します。
> tsm configuration get -k basefilepath.backuprestore

出力先を変更する場合は下記の手順を実行します。
(1) tsm configuration set コマンド実行
> tsm configuration set -k basefilepath.backuprestore -v “新たな出力先のディレクトリ”

(2) tsm pending-changes apply コマンドを実行し変更を Tableau Server に適用
※ コマンド実行後にTableau Server の再起動を要求される場合は再起動します。

1-2.出力先のパーミッション確認
tsm maintenance validate-backup-basefilepath コマンドで確認可能
<成功例>

<失敗例>

フォルダに対して必要な権限が無かったため失敗しています。
参考
・Tableau Server on Windows ヘルプ – tsm maintenance validate-backup-basefilepath
・Tableau Server on Linux ヘルプ – tsm maintenance validate-backup-basefilepath
1-3.バックアップの作成に必要な空きディスク領域があるか確認
バックアップの作成に必要な空きディスク領域は、下記ヘルプに記載されている通りリポジトリやファイル ストア内のデータの量、Tableau 管理コントローラーの有無よって異なります。
参考
・Tableau Server on Windows ヘルプ – バックアップと復元のディスク容量使用率
・Tableau Server on Linux ヘルプ – バックアップと復元のディスク容量使用率
<例>
Windows環境でリポジトリ・ファイルストア・管理コントローラーが一つのサーバー上で稼働している場合
・リポジトリ データ
Cドライブにデフォルトでインストールした場合、リポジトリデータは下記ディレクトリのサイズを確認します。
C:\ProgramData\Tableau\Tableau Server\data\tabsvc\pgsql\data\base
コマンドプロンプトで下記のコマンドを実行することによりサイズを確認できます。
> powershell -command “Get-ChildItem ‘C:\ProgramData\Tableau\Tableau Server\data\tabsvc\pgsql\data\base’ -Recurse | Measure-Object -Property Length -Sum”

・ファイルストア
同様に、ファイルストアは下記ディレクトリのサイズを確認します。
C:\ProgramData\Tableau\Tableau Server\data\tabsvc\dataengine
下記のコマンドを実行することによりサイズを確認できます。
> powershell -command “Get-ChildItem ‘C:\ProgramData\Tableau\Tableau Server\data\tabsvc\dataengine’ -Recurse | Measure-Object -Property Length -Sum”

リポジトリ・ファイルストア・管理コントローラーが一つのサーバー上で稼働している場合は下記の計算式でバックアップに必要なディスク領域が計算できます。
リポジトリ データ x 3 + 250 MB + ファイル ストア データ x 1.5
したがって、計算式は 249MB x 3 + 250 MB + 182 MB x 1.5 となり、バックアップに必要な空きディスク領域は 1270 MB となります。
1-4.tsm settings export コマンドを実行し、構成およびトポロジデータをバックアップ
Windows であればコマンドプロンプト、Linux であれば CLI を用いて、下記のコマンドを実行します。
> tsm settings export -f <出力先のパス\バックアップファイル名>.json


参考
・Tableau Server on Windows ヘルプ – tsm settings export
・Tableau Server on Linux ヘルプ – tsm settings export
※出力されたファイルにはパスワードやトークン等の情報が含まれるため、バックアップを暗号化し安全な場所に保存することを推奨します。
1-5.tsm maintenance backup コマンドを実行し、Tableau Server によって管理されるデータをバックアップ
下記のコマンドを実行します。
> tsm maintenance backup -f <バックアップファイル名> [オプション]

バックアップファイル出力先に -fオプションで指定したファイル名と同じ名前のファイルが存在する場合はエラーになるのでご注意ください。

必要に応じてオプションを指定します。例えば -d を指定すると現在の日付をファイル名に追加できます。

各オプションについては下記ヘルプをご参照ください。
参考
・Tableau Server on Windows ヘルプ – tsm maintenance backup
・Tableau Server on Linux ヘルプ – tsm maintenance backup
tsm maintenance backup コマンドにより、下記のデータが .tsbak 拡張子を持つ1つのファイルに保存されます。
- Tableau PostgreSQL データベースまたはリポジトリ
- ワークブックとユーザーのメタデータ
- データ抽出ファイル
- サイト構成データが含まれるファイル ストア
※ 外部ファイル ストアが構成されている場合は、tsm maintenance backup コマンドを使用してバックアップすることはできないため、ネットワーク共有のスナップショットを作成します。
参考:Tableau Server on Windows ヘルプ –外部ファイル ストアによるバックアップと復元
1-6.tsm maintenance backup コマンドを実行し、Tableau Server によって管理されるデータをバックアップ
tsm maintenance backup や tsm settings export コマンドでバックアップされない下記のコンテンツをドキュメント化するなどによりバックアップします。
・システム ユーザー アカウント
・TSM グループ メンバーシップ (Linux版のみ)
・調整サービス展開構成 (マルチノードの場合)
・カスタマイズ設定 (tsm customize コマンドでロゴなどをカスタマイズしている場合)
・ほとんどの認証アセット(例外あり)
・LDAP アセット
各データの詳細は下記ヘルプをご参照ください。
・Tableau Server on Windows ヘルプ – 手動プロセスが必要なバックアップ アセット
・Tableau Server on Linux ヘルプ – 手動プロセスが必要なバックアップ アセット
2.リストア
当記事はスタンドアロンの「Tableau Server」をリストアする方法についてご紹介します。
マルチノードの「Tableau Server」をリストアする場合は、下記ヘルプの「Tableau Server クラスタを復元するには」をご参照ください。
・Tableau Server on Windows ヘルプ – コア Tableau Server 機能の復元
・Tableau Server on Linux ヘルプ – コア Tableau Server 機能の復元
リストアするサーバーに Tableau Server のインストール・ライセンス認証・初期化まで完了していることを前提とします。
2-1 トポロジと構成データのインポート
1-4 でバックアップした JSON ファイルをサーバーにコピーします。
下記のコマンドを実行します。
> tsm settings import -f <バックアップ ファイルのパス\バックアップファイル名>.json


※ tsm settings import について、後述の注意事項があります
2-2 変更を適用
tsm pending-changes apply コマンドを実行します。
※ コマンド実行後にTableau Server の再起動を要求される場合は再起動します。
2-3 Tableau Server を再起動
下記のコマンドを実行します。
> tsm restart
2-4 .tsbak ファイルを配置するディレクトリを確認
TSM のbasefilepath.backuprestore 変数で定義されているディレクトリに、リストアしたい .tsbak ファイルを置くことが前提となっています。
1-1 同様、下記のコマンドで設定されているディレクトリを確認できます。
tsm configuration get -k basefilepath.backuprestore
2-5 .tsbakファイルを配置
確認したディレクトリに 1-5 で取得したファイルをコピーします。
2-6 Tableau Server を停止
tsm stop コマンドを実行します。
2-7 Tableau Server によって管理されるデータをリストア
下記のコマンドを実行します。
> tsm maintenance restore -f <コピーした .tsbakファイル名>
※ ファイル名だけでなく .tsbak 拡張子も指定します。

2-8 Tableau Server を起動
tsm start コマンドを実行します。
2-9 認証ソリューションを設定
OpenID、外部 SSL、信頼できる認証を使用していた場合、リストアしたサーバーで再度構成します。
参考
・Tableau Server on Windows ヘルプ – 認証
・Tableau Server on Linux ヘルプ – 認証
2-10 カスタマイズ設定
tsm customize コマンドでロゴなどのカスタマイズを行っていた場合、リストアしたサーバーで再度構成します。tsm customize コマンドを使用したロゴなどのカスタマイズについては下記ヘルプをご参照ください。
参考
・Tableau Server on Windows ヘルプ – tsm customize
・Tableau Server on Linux ヘルプ – tsm customize
2-11 PostgreSQL リポジトリへのアクセス有効化
PostgreSQL リポジトリへのアクセスが有効化されていた場合、tsm data-access repository-access enable コマンドで有効化します。
参考
・Tableau Server on Windows ヘルプ – tsm data-access repository-access enable
・Tableau Server on Linux ヘルプ – tsm data-access repository-access enable
バックアップ・リストアに関する注意点
こちらでは、バックアップ・リストアを行う前に知っておきたい注意事項を記載します。
1. 仮想環境で取得できるOSスナップショットはバックアップとしてサポートされていない
Tableau Server では、バックアップ用のコマンドとして tsm maintenance backup コマンドが提供されていることはすでにご案内した通りです。こちら以外で取得した下記のようなバックアップは動作保証されていません。
<例>
・仮想環境で提供されているOSレベルのスナップショットやバックアップ(V2V移行含)
・VMイメージのスナップショット
・各種クラウド上で取得するようなスナップショットによるバックアップ
・その他、tsm maintenance backup コマンド以外の方法で取得されたバックアップ
これから復元した環境は、動作に不調がない場合でもサポート対象外となるため、障害などが発生しても対応することができなくなります。
参考:Tableau Server on Windows ヘルプ – Tableau Server データのバックアップ
2. tsm コマンドの利用が必須
バックアップ・リストアの作業では、tsm コマンドを使用する場面が出てきます。tsm コマンドとは、Tableau Server のインストールや構成管理をつかさどるサービス「Tableau Services Manager」を操作するためのコマンドツールです。
参考:
・Tableau Server on Windows ヘルプ – tsm コマンド ライン リファレンス
・Tableau Server on Linux ヘルプ – tsm コマンド ライン リファレンス
・Tableau Server on Windows ヘルプ – Tableau Services Manager の概要
・Tableau Server on Linux ヘルプ – Tableau Services Manager の概要
tsmコマンドは、デフォルトでは第一ノード (初期ノードとも言い、TSM がインストールされている)で実行できますが、クラスタを組んでいる場合は追加ノードで実行するように構成もできます。
なお、Windowsではコマンドプロンプト、Linux ではターミナルより実行します。その際コマンドラインにアクセスするための管理者アクセス権限と、tsm コマンドを実行するための TSM 管理者認証資格情報が必要です。
また、Windows でバッチファイルを作成して tsm コマンドを実行するには、バッチファイル内でcall コマンドを使用します。
<例>
> call tsm maintenance backup -f <バックアップファイル名> [オプション]
参考:Tableau Server on Windows ヘルプ – Tableau サービスマネージャー CLI でのスクリプト作成と自動化
実際の運用では、下記の一連のコマンドでログ ファイルを保存した後に一時ファイルやログ ファイルを削除し、バックアップを実行することがよくあります。
1. tsm maintenance ziplogs (ログ ファイルの保存)
2. tsm maintenance cleanup (一時ファイルやログ ファイルの削除)
3. tsm maintenance backup (バックアップ実行)
参考:
・Tableau Server on Windows ヘルプ – tsm maintenance ziplogs
・Tableau Server on Windows ヘルプ – tsm maintenance cleanup
3. 2020.4 以降、tsm maintenance backup のオプションでバックアップスケジュールを組むことが可能
sm maintenance backup コマンドの -sn、 -sr、 -st オプションで、スケジュールの名前、実行する頻度、時間を設定することによりスケジュール設定できます。
以下のコマンドを実行して backup のスケジュールを設定します。
> tsm maintenance backup -f <バックアップファイル名> -d -sn <スケジュール名> -sr <実行頻度> -st <実行時間>

設定されているスケジュールは tsm schedules list コマンドで確認できます。

参考:
・Tableau Server on Windows ヘルプ – バックアップのスケジュール設定と管理
・Tableau Server on Linux ヘルプ – バックアップのスケジュール設定と管理
4. tsm settings export コマンドで取得した設定をリストア先へインポートすることは非推奨
Tableau Server のバックアップに関するドキュメントには、tsm settings export コマンドの記載があります。このコマンドでは、Tableau Server の設定(サーバートポロジおよび構成データ)をバックアップできます。
参考:
・Tableau Server の完全なバックアップと復元を実行します
・tsm settings export
本コマンドには、取得した設定を別環境へインポートするコマンド(tsm settings import)が用意されていますが、Tableau Server や OS の種類やバージョンが同一である場合しか使用できません。
例えば、違う Tableau Server バージョンでは、搭載されているプロセスや設定が異なります。この差異がエラーにつながる可能性があり、各種条件が同一である場合しかインポートが推奨されていないという理屈です。なお、エラーとなった場合、該当設定を手動で修正することは可能です。
本コマンドは tsm maintenance backup でバックアップされない構成情報等を取得できますので、新環境での再設定自体は手動で行うことを前提に、あくまで「設定を控える」という利用にとどめていただくのが望ましいです。
5. 公開終了したインストーラーは再配布されない
なんらかの理由で、公開が終了したバージョンやサポート期間外のバージョンのインストーラーの提供を希望されるケースがありますが、これらインストーラーの提供はございません。
これはメーカーが製品リリース後30ヶ月をEOLとして設定しており、古くなったバージョンはセキュリティの問題も評価されなくなるためです。再配布に伴ってお客様側で生じたいかなる問題にも対処ができないため、どのような場合でもご希望にお答えすることは出来かねます。
メーカーへ提供依頼をしても、例外なく「提供不可」の返答を受けます。万一の場合に備え、ご利用になったインストーラーはお手元に保管いただきますよう、お願いいたします。
参考:Downloading Older Tableau Product Versions
6. ライセンスアクティブ化数の上限を超えないようにする
Tableau Server のライセンスは1本で3環境 (本番環境1つ、非本番環境2つ)認証が可能です。
環境移行前、すでに3環境でライセンスをアクティブ化している場合、移行後の環境を構成するタイミングでアクティブ化可能な上限を一時的に超過します。
これはライセンス違反となるため、あらかじめどちらかの対応をご検討ください。
・事前に一部環境のライセンスを解除しておく
・追加でライセンスを購入する
5分で学ぶ:データ×AIで変わるKPIの深掘り分析
日常業務の効率化や、組織のパフォーマンス向上を実現するためのヒントをぜひ見つけてください。今すぐ視聴して、業務改善の第一歩を踏み出しましょう。












