バージョンアップする前に準備を!Alteryx Serverでバックアップを取得してMongoDBを復旧させてみた

2019.12.18

2019/12/10に最新バージョンである2019.4がリリースされましたね。これを機にAlteryx Serverもバージョンアップしようという方もいらっしゃるかと思います。インストーラを起動すれば簡単にバージョンアップはできるのですが、何かの間違いでバージョンアップに失敗してしまう恐れもあります。万全の体制でバージョンアップをするため、Alteryx Serverのバックアップを取得してみましょう!

もくじ

 

前提条件

今回の検証にあたって、以下の環境を使用しています。

  • Alteryx Server 2019.3.17947(バージョンアップ前)
  • Alteryx Server 2019.4.4.20206(バージョンアップ後)
  • Windows Server 2012 Standard R2 on AWS EC2
  • Alteryx Server埋め込みのMongoDBを使用
  • バックアップ取得と復旧先が同一サーバー
  • 単一ノード構成

 

Alteryx Serverのバックアップを取得する

バックアップとリストアに関してはAlteryx Communityでも以下のナレッジベースが公開されています。今回はこれに沿ってバージョンアップを進めていきます。

Alteryx Serverはデフォルトの場合、埋め込みのMongoDBを使用しています。Alteryx ServerにアップロードしたワークフローなどのアセットやCollection、スケジュールなどのデータはすべてこのMongoDBに集約されています。万が一の場合にはこのMongoDBのバックアップから復旧させることでこれまでの情報を引き続き使用可能となります。

MongoDBのバックアップに必要となる作業は以下の通り。

  • Alteryx Serviceを停止する
  • MongoDBのフォルダのバックアップをコマンドプロンプトからコマンド実行で取得
  • Alteryx Serviceを起動する

Serviceを起動し、Alteryx Serviceを右クリック→Stopで停止します。

停止状態になったのを確認したあと、コマンドプロンプトから以下のコマンドを入力します。

C:\Program Files\Alteryx\bin\alteryxservice emongodump=<バックアップ作成場所のパス>

実行して成功すると以下のように表示されます。

C:\Program Files\Alteryx\bin>"C:/Program Files/Alteryx/bin/AlteryxService.exe" emongodump=C:\Users\Administrator\Documents\MongoDBBackUp
Command line: "C:\Program Files\Alteryx\bin\AlteryxService_MongoController.exe" MongoRoot="C:\Program Files\Alteryx\bin\\" DBName=AlteryxService DBRoot="C:\ProgramData\Alteryx\Service\Persistence\MongoDB" Port=27100 IPV6=False DumpPath="C:\Users\Administrator\Documents\MongoDBBackUp"
EMongoDump running..finished.

指定したパスにMongoDBのバックアップが作成されていることを確認します。

確認ができたらAlteryx Serviceを右クリック→Startで起動しておきましょう。ステータスがRunningになれば作業終了です。

定期的にバックアップを取得させたい場合は以下コマンドをスクリプト化してタスクマネージャーから定期実行させることもできます。

"C:/Program Files/Alteryx/bin/AlteryxService.exe" stop
"C:/Program Files/Alteryx/bin/AlteryxService.exe" emongodump=<バックアップ先のファイルパス>
"C:/Program Files/Alteryx/bin/AlteryxService.exe" start

また、MongoDBのバックアップとは別に以下のファイルも念のためバックアップしておくことをおすすめします。

  • C:/ProgramData/Alteryx/RuntimeSettings.xml
  • C:/ProgramData/Alteryx/Engine/SystemAlias.xml
  • C:/ProgramData/Alteryx/Engine/SystemConnections.xml

 

Alteryx Serverをバージョンアップする

Alteryx Serverのバージョンアップは基本的にはインストーラの実行のみで完了しますが、組み込みのMongoDBがバージョンアップされるケースでは例外的な対応が必要となります。このような場合にはMongoDBのマイグレーションや、何世代か前のバージョンを使っている場合には段階的なバージョンアップが必要となります。

以下のエントリはバージョン2019.3で発生した組み込みのMongoDBのバージョンアップに対応した記事となります。

今回はバージョン2019.3から2019.4にバージョンアップしますのでMongoDBのバージョンアップは発生していません。インストーラの起動のみで対応完了です。

ライセンスポータルのAlteryx Serverから最新バージョンのインストーラをダウンロードします。

前のバージョンのアンインストールが完了していない場合は以下の画面が表示され、アンインストールが実行されます。

Alteryx Serverのデフォルトパスが表示されています。特に変更が必要なければそのまま進みます。

ライセンス規約に同意し、次へ進みます

インストールが完了するとPredictive Toolsのインストールをするかどうかを聞かれます。Predictive Toolsを使用する予定が少しでもある場合や、どうしようか迷ったときはインストールしておきましょう。「Install Predictive Tools」にチェックを入れて次に進み、Predictive Toolsのインストールを完了させます。

 

Alteryx Serverをバックアップから復旧させる

バックアップも取得したので安心してバージョンアップをしました。が、万が一MongoDBが破損してバックアップからの復旧を余儀なくされた場合の手順もご紹介します。臨場感を出すためにMongoDBの配置されたディレクトリからファイルを根こそぎ削除してみました。

Alteryx Serviceは立ち上がりますが、Galleryにアクセスしようとするとログインできなくなってしまいました。いったい誰がこんなひどいことを…悪い夢なら早く覚めてほしいものです。

ですがご安心を。先ほど取得したバックアップから復旧していきましょう。手順は以下の通りです。

  • Alteryx Serviceを停止する
  • MongoDBのフォルダのバックアップからの復旧をコマンドプロンプトからコマンド実行
  • Alteryx Serviceを起動する

Alteryx Serviceの停止手順はバックアップ取得時と同じです。以下のコマンドを実行して、リストア先フォルダにバックアップからデータをリストアさせます。

"C:/Program Files/Alteryx/bin/AlteryxService.exe" emongorestore=<バックアップ先フォルダ>,<リストア先フォルダ>

リストア先フォルダはデフォルトでは以下のパスに指定されています。

C:/ProgramData/Alteryx/Service/Persistence/MongoDB

成功すると以下の通り表示されます。

C:\Users\Administrator>"C:\Program Files\Alteryx\bin\AlteryxService.exe" emongorestore=C:\Users\Administrator\Documents\MongoDBBackup,C:\ProgramData\Alteryx\Service\Persistence\MongoDB
Command line: "C:\Program Files\Alteryx\bin\AlteryxService_MongoController.exe" MongoRoot="C:\Program Files\Alteryx\bin\\" DBName="AlteryxService" DBRoot="C:\ProgramData\Alteryx\Service\Persistence\MongoDB" Port=27100 IPV6=False TargetDir="C:\ProgramData\Alteryx\Service\Persistence\MongoDB" SourceDir="C:\Users\Administrator\Documents\MongoDBBackup"
EMongoRestore running................finished.

Alteryx Serviceを起動し、Galleryにアクセスするときちんと復旧されていることが確認できました。一時はどうなることかと思いました…

 

Alteryx ServerバージョンアップのFAQ

想定されるAlteryx Serverのバージョンアップについての疑問点を書き出してみました。

Alteryx Serverをバージョンアップする前に気を付けることはある?

DesginerのほうがServerよりも新しいバージョンである場合、DesignerからServerへワークフローをパブリッシュすることができない点をご注意ください。

アップロードしたワークフローやインサイトはバージョンアップ後も使える?

バージョンアップ後も引き続きお使いいただけます。

設定済みのスケジュールはどうなるの?

バージョンアップ後も設定は引き継がれます。

 

まとめ

MongoDBを消して復旧させるというなんとも生きた心地のしない検証でした。今回のバックアップはあくまでも埋め込みのMongoDBの復旧手順ですので、サーバー上にある別のファイルもバックアップを取りたい場合には対応できないことをご留意ください。AWS上にAlteryx Serverを構築されている場合はEBSのスナップショットなどもご検討ください。

Alteryxの導入なら、クラスメソッドにおまかせください

日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。 alteryx_960x400