Alteryx Serverをバックアップから復元する – Alteryx Serverアドベントカレンダー2022

Alteryx Serverアドベントカレンダー18日目
2022.12.18

こんにちは、スズです。

本記事はAlteryx Serverアドベントカレンダーの18日目の記事です。

17日目のAlteryx Serverのバックアップに続いて、18日目はバックアップからの復元についてご紹介します。

利用環境

本記事の執筆に使用しているAlteryx Serverの環境は以下の通りです。

  • Windows Server 2022 (Amazon EC2)
  • Alteryx Server 2022.1
    • セットアップタイプ:Complete Alteryx Server
    • データベースタイプ:MongoDB
    • 認証タイプ:Built-in

バックアップを作成した環境およびバックアップから復元した環境、いずれも上記の環境となりますが、Amazon EC2のインスタンスとしては別のインスタンスを使用しています。

MongoDBのバックアップファイルからAlteryx Serverを復元

概要

MongoDBのバックアップファイルからの復元の手順については、以下のヘルプに記載があります。

手順の概要としては以下の通りとなります。「MongoDBバックアップファイルから復元」でバックアップファイルのフォルダを指定して復元しますが、その際にAlteryx Serverが現在使用しているフォルダとは別のフォルダを指定する場合は、「MongoDBのデータフォルダの設定」の手順でフォルダを設定する必要があります。

  1. MongoDBバックアップファイルから復元
    1. Alteryx Serviceのサービスの停止
    2. MongoDBのバックアップファイルをMongoDBのデータフォルダに展開
    3. Alteryx Serviceのサービスの開始
  2. MongoDBのデータフォルダの設定
    1. System Settingsを起動
    2. [Controller] > [Persistence]に移動
    3. [Data Folder]でフォルダを選択
    4. System Settingsの最後まで進み[Finish]で完了(サービスの再起動)

MongoDBのバックアップファイルの復元

今回はこれまで使っていたWindows Serverとは別のWindows Server上でAlteryx Serverを復元します。バックアップファイルを使う前に、まずはAlteryx Serverを新規インストールします。新規インストールしていますので、Alteryx Serverにはワークフローは何も保存されていない状態です。

Windowsのサービスを開き、Alteryx Serviceを停止します。Alteryx Serviceを選択して、画面左の[サービスの停止]から停止できます。

続いてコマンドプロンプトからコマンドを実行して、バックアップファイルを復元します。コマンドの実行について、ヘルプには以下の記載があります。

Execute the following command to take the saved backup from the output folder and move it to the specified input folder (must be an empty folder):alteryxservice emongorestore=path_to_backup_location,path_to_mongo_folder

「次のコマンドを実行して、出力フォルダから保存されたバックアップを取得し、指定された入力フォルダに移動します(空のフォルダである必要があります)。」とあります。
通常、Alteryx Serverが現在使用しているMongoDBのフォルダは空ではない状態かと思います。バックアップファイルを現在使用しているMongoDBのフォルダに直接復元する場合は、フォルダの状態をあらかじめご確認ください。

実行するコマンドは以下の通りです。以下のコマンドのalteryxserviceはAlteryx ServerのフォルダにあるAlteryxService.exeを指しています。path_to_backup_locationはバックアップファイルが保存されている場所、path_to_mongo_folderはMongoDBの復元先のフォルダとなります。

alteryxservice emongorestore=path_to_backup_location,path_to_mongo_folder

今回使用するAlteryx Serverはデフォルトのファイルパスでインストールしています。AlteryxService.exeはC:\Program Files\Alteryx\bin配下に用意されていました。

バックアップファイルの保存場所としては、ドキュメントフォルダ配下にBackupというフォルダを作成し、取得したバックアップファイルを保存しています。

また、バックアップファイルの復元場所として、MongoDBのフォルダ(今回はC:\ProgramData\Alteryx\Service\Persistence)がある場所と同じ階層に「MongoDB2」というフォルダを作成しました。

以下のコマンドを実行してバックアップファイルを復元します。

"C:/Program Files/Alteryx/bin/AlteryxService" emongorestore=<バックアップファイルの保存場所>,<Alteryx ServerのMongoDBのフォルダ>

コマンドの実行に成功すると、以下のメッセージが表示されました。

"C:\Program Files\Alteryx\bin\AlteryxService_MongoController.exe" MongoRoot="C:\Program Files\Alteryx\bin\" DBName="AlteryxService" DBRoot="C:\ProgramData\Alteryx\Service\Persistence\MongoDB2" Port=27100 IPV6=False TargetDir="C:\ProgramData\Alteryx\Service\Persistence\MongoDB2" SourceDir="C:\Users\Administrator\Documents\Backup" EMongoRestore running........................finished.

バックアップファイルの復元先のフォルダを確認するとファイルがあります。

これでMongoDBのバックアップファイルの復元は完了ですので、WindowsのサービスからAlteryx Serviceを開始してAlteryx Serverを起動します。ただし、今回はMongoDBのバックアップファイルの復元を新しいフォルダを指定していますので、このままAlteryx Serverにアクセスしてもバックアップに含まれていたであろうワークフローなどは表示されません。Alteryx Serverが使用するMongoDBのフォルダを修正する必要がありますので、続けてMongoDBのデータフォルダの設定を行います。

MongoDBのフォルダの設定

Alteryx Serviceが参照するData Folderを変更します。System Settingsを起動して[Controller]の[Persistence]まで移動し、[Data Folder]にMongoDBのバックアップファイルを復元したフォルダを指定します。

設定を変更したらそのままSystem Settingsを先に進めて、最後の[Finish]ボタンでファイナライズします。ファイナライズの画面ではサービスが再起動されるという案内があります。

[Status]の画面が表示されましたら設定完了です。[Done]をクリックして画面を閉じます。

Alteryx Serverにアクセスしてみます。ワークフローがあり、バックアップファイルから復元されているようです。

設定ファイルのコピー

Alteryx Communityのバックアップの記事では、MongoDBのバックアップ以外にも設定ファイルのバックアップが推奨されていました。
RuntimeSettings.xmlをバックアップから復元するという想定で、以下の手順でRuntimeSettings.xmlを上書きした場合の動作を確認してみました。

  1. Alteryx Serviceのサービスの停止
  2. RuntimeSettings.xmlをバックアップファイルから上書き
  3. Alteryx Serviceのサービスの開始

設定の確認としては、System SettingsのSMTPの設定を確認します。バックアップファイルから上書きする前は、System SettingsにてSMTPの設定はしない状態にしておきます。取得したRuntimeSettings.xmlのバックアップはSystem SettingsのSMTPを設定していますので、ファイルを上書きすることでSMTPの設定が反映されることを想定しています。

上述の手順でRuntimeSettings.xmlをバックアップファイルから上書きし、サービスを開始したのち、System Settingsを起動して設定を確認してみたところ、SMTPに設定が反映されていました。

しかしこのまま先に進もうとするとエラーが出力されました。これはSMTPのパスワードが正しく設定されていないために発生しています。

RuntimeSettings.xmlをコピーすると全ての設定がSystem Settingsに反映されるわけではなく、パスワードなど復元できないものがありますのでご注意ください。

また、「MongoDBのフォルダの設定」にあるData Folderの参照先を変更したのち、RuntimeSettings.xmlをバックアップから上書きしますと、バックアップ取得時点の設定に戻ります。設定が戻っても再設定していただければ問題ありませんが、RuntimeSettings.xmlをバックアップから上書きする場合はSystem Settingsの設定を修正する前に対応するとスムーズです。

最後に

Alteryx Serverアドベントカレンダー18日目、バックアップからの復元についてお届けしました。

今回の記事ではMongoDBのバックアップファイルと設定ファイルとしてRuntimeSettings.xmlについて記載していますが、その他にもAlteryx Serverのライセンス情報や、Windows ServerにインストールしたODBC、設定したDSNなど、環境によってバックアップや設定を控えておく必要があるものが出てくるかと思います。実際に障害が発生してバックアップから復元が必要となった場合に焦らないよう、バックアップファイルからの復元以外に再設定が必要なものなど確認しておきましょう。

参考