ArcGIS Enterprise バックアップ・リストア ガイド (webgisdr)

Document created by shimpei_kobayashiesrij-esridist Employee on Sep 1, 2020Last modified by shimpei_kobayashiesrij-esridist Employee on Sep 1, 2020
Version 2Show Document
  • View in full screen mode

1. はじめに

ArcGIS Enterprise を組織で使用することで、地理情報やマップ、アプリケーションを作成および共有したり、コラボレーション環境で空間解析を実行したりすることができます。 ArcGIS Enterprise のコンテンツやツールは、組織にとって非常に重要であり、ユーザーが WebGIS プラットフォームを最大限に利用できる環境を整えながら、障害が発生した場合のデータ損失も最小限に抑える必要があります。 この目標は、障害復旧またはフェイルオーバー戦略で実現することができます。障害復旧の実装方法は、ArcGIS Enterprise に付属のツールや VM のスナップショットなどのサード パーティ製ツールを含め、数多く存在します。

ここでは、ArcGIS Enterprise の障害復旧方法の一つである webgisdr ツールを用いたバックアップ・リストアについて、バックアップ戦略の設計から実行までの一連の流れについて、ご紹介します。 また、webgisdr を使用した具体的な構成のバックアップ・リストア、移行について、ページ後半にリンクを記載しています。


2. webgisdr ツール

webgisdr ツールは、ArcGIS Enterprise ポータルに標準で含まれるコマンド ライン ツールで、ArcGIS Enterprise 基本構成の完全バックアップを取得し、新しい環境にリストアすることができます。 具体的には、ArcGIS Enterprise ポータルのコンテンツや ArcGIS Server サービス、ArcGIS Data Store でホストされる 2D や 3D データのスナップショット、これら 3 つのソフトウェア コンポーネントすべての現在の状態をバックアップとして取得します。 しかし、ファイル ジオデータベースやエンタープライズ ジオデータベースのデータ、キャッシュ タイルはバックアップされないため、別途バックアップが必要です。 webgisdr はコマンド プロンプトから実行でき、Windows タスク スケジューラや Linux cron ジョブを使用してバックアップを自動化できます。 出力ファイルは圧縮され、指定したバックアップ場所に保存されます。 webgisdr を使用して取得したバックアップを用いて、バックアップ元の既存のマシンへリストアすることも、新しいマシンへリストアすることもできます。 また、webgisdr は以下のように単一マシン構成と高可用構成の任意の組合せ間の移行をサポートします。

  • 単一マシン構成 → 単一マシン構成
  • 単一マシン構成 → 高可用構成
  • 高可用構成 → 高可用構成
  • 高可用構成 → 単一マシン構成


3. バックアップ戦略

バックアップ戦略を作成する最初のステップは、利用できる様々なリソースを把握した上で、障害復旧の要件を定義することです。 ArcGIS Enterprise のユーザーは、組織の規模やソフトウェアの使用方法が大きく異なるため、すべてのユーザーに最適なバックアップ計画を規定することは不可能です。 何が最善かは、いくつかの要因の組合せによって異なります。 毎週どのくらいのコンテンツを作成していて、トータルでどのくらいの量があるか。 システムのダウンタイムの許容頻度を定義する SLA (Service Level Agreement) はあるか。 インフラストラクチャでバックアップ コンテンツ用にどのくらいのスペースを確保できるか。 など、これらのことを考慮する必要があります。

また、障害復旧とは、データ損失とダウンタイムを最小限に抑えることとも言えます。 これらの許容範囲を決定するには、RPO (障害復旧時点) と RTO (障害復旧時間) を数値化する必要があります。 RPO はいつ時点のデータを復旧できればよいかの指標で、RTO はどれくらいの時間で復旧できればよいか (システムを使用不可にできる最長の時間) の指標です。 これは、バックアップ サイズやバックアップ ポリシー、復旧にかかる時間に関連します。 障害復旧の要件と目的を決定したら、バックアップ戦略を計画します。 webgisdr をスケジューリングするには、以下 2 つのことを決定します。

  • バックアップ方法 - 完全バックアップのみを実行するか、増分バックアップを使用するか
  • バックアップ頻度 - どのくらいの頻度でバックアップを作成するか

一般的なトレードオフとして、多くのデータを頻繁にバックアップすることを選択すると、データ損失を最小限に抑えることができますが、リソース コストが増大します。


3.1. バックアップ方法

webgisdr では、完全バックアップと増分バックアップのどちらかを選択できます。 両方の種類のバックアップを使用すると、ストレージの使用量を大幅に増やすことなく RPO を短縮できます。

完全バックアップでは、作成日に関係なく、対象となるすべての完全なスナップショットが作成されます。 特定のディレクトリの完全バックアップでは、そのディレクトリの内容全体が複製されます。

増分バックアップでは、完全バックアップ以降に加えられたすべての変更を取得します。 増分バックアップは累積であるため、最後の完全バックアップとそれ以降に作成された最後の増分バックアップを保持しておく必要があります。


3.1.1 完全バックアップのみの取得

完全バックアップのみを使用する場合、環境を週に 1 回バックアップすると、障害が発生した場合に組織が大量のデータを失うリスクがあります。 以下の GIF で、バックアップ サイクルの 5 日目にシステムがダウンしたとします。 これは大量のコンテンツが失われることを意味します。 毎日完全バックアップを取得することもできますが、これには多くのディスク容量と時間が必要になります。

完全バックアップ

6日ごとの完全バックアップ


3.1.2 完全バックアップと増分バックアップの取得

完全バックアップの間に増分バックアップをスケジューリングします。 このオプションでは、複数のリカバリ ポイントから選択して復元できるため、より詳細な制御が可能になります。 これにより、復旧に行われる作業量を最小限に抑えつつ、ディスク容量とコンピューティングに多大な負荷がかかる可能性のある毎日の完全バックアップを行わずに済みます。

増分バックアップ

6日ごとの完全バックアップと、毎日の増分バックアップ

- 各増分バックアップには、最後の完全バックアップ以降のコンテンツと設定へのすべての変更が含まれる -


3.2 ディスク容量

見落とされがちですが、各コンポーネントのマシン上にある temp フォルダー (具体的なパスは後述しています) に十分なディスク容量が必要です。 webgisdr を使用すると、バックアップ コンテンツはまず既定の temp フォルダーにコピーされてから、バックアップ場所に移動されて統合されます。 そのため、サーバーがそのコンテンツの 2 倍の容量を一時的に格納できる必要があります。 サーバーに十分なディスク容量がない場合、バックアップは失敗します。 バックアップ戦略を設計する際は、このことに注意が必要です。


3.3. バックアップ頻度

システム全体またはそのコンポーネントのバックアップをスケジューリングする頻度は、バックアップ戦略の最も調整が必要な部分であり、組織の選択に依存します。 バックアップにかかるコストとのトレードオフを考慮して、バックアップ頻度を決定してください。 なお、増分バックアップを使用している場合は、特定の RPO を保証するために完全バックアップを頻繁に行う必要はありません。


4. バックアップ実行

webgisdr を使用してバックアップを取得するには、<Portal for ArcGIS インストール ディレクトリ>\tools\webgisdr ディレクトリに格納されている webgisdr.properties を編集し、同ディレクトリの webgisdr.bat でエクスポート オプションを実行します。 webgisdr は、自動的にパスが設定される訳ではありませんので、ツールを実行するには予めパスを通すか、フルパスを指定する、あるいは上記ディレクトリをカレント ディレクトリにして実行する必要があります。


4.1. 事前確認

バックアップを実行するにあたり、以下の条件を満たしていることを確認します。

  • バックアップ先に指定する共有ディレクトリに十分なディスク容量があること。ArcGIS Enterprise デプロイメントのエクスポート (※) テストを実行し、ファイルがどのくらいの大きさになるかを把握した後、共有ディレクトリに維持する予定のファイル数を決定し、それに従ってディレクトリのサイズを指定します。

    ※ 各コンポーネント ArcGIS ServerPortal for ArcGISArcGIS Data Store のエクスポートについては、それぞれリンク先のヘルプをご参照ください。

  • ArcGIS Server、Portal for ArcGIS、ArcGIS Data Store サービスの実行に使用するドメイン アカウントに、バックアップ ファイル用に指定する共有ディレクトリに対する書き込み権限が付与されていること。

  • 各コンポーネントのマシン上にある一時ディレクトリに、十分なディスク容量があること。各コンポーネントのバックアップが、指定する共有ディレクトリに移される前に、それぞれ以下の一時ディレクトリに配置されます。

    • ArcGIS Server: C:\Users\<ユーザー>\AppData\Local\Temp
    • Portal for ArcGIS: <Portal コンテンツ ディレクトリ>\temp
    • ArcGIS Data Store: <ArcGIS Data Store ディレクトリ>\temp

備考:

ポータル コンテンツがファイル システムに格納されている場合、リアルタイムのウイルス対策スキャンを実行すると、バックアップのパフォーマンスに影響を与える可能性があります。 ポータル コンテンツ ディレクトリと、バックアップの SHARED_LOCATION および BACKUP_LOCATION ディレクトリをウイルス対策スキャンの対象から除外することを検討してください。


4.2. webgisdr エクスポート オプションの実行

4.2.1

テンプレートである webgisdr.properties プロパティ ファイルのコピーを作成します。 webgisdr.properties はデフォルトで C:\Program Files\ArcGIS\Portal\tools\webgisdr にインストールされます。 ここでは、ファイルのコピーを mywebgis.properties という名前で C:\propfiles に保存します。


4.2.2

プロパティ ファイルのコピーを開き、環境固有の情報を入れるようにそのファイルを編集します。 ここでは、様々な構成における共通の設定項目や、オンプレミスでのデプロイメントで必要な設定項目について、設定内容を簡単に説明します。 クラウド ストアを利用する場合や、設定項目の詳細については、ヘルプ「ArcGIS Enterprse バックアップの作成」をご参照ください。

  • PORTAL_ADMIN_URL = <ポータルの管理ディレクトリの URL>

    Portal for ArcGIS 管理ディレクトリの URL を指定します。 https://portalhostname.domain.com:7443/arcgis の形式を使用します。 ここで、portalhostname.domain.com は、Portal for ArcGIS がインストールされているマシンの完全修飾名です。

  • PORTAL_ADMIN_USERNAME = <ポータル管理者のユーザー名>

    管理者ロールに割り当てられたポータル メンバーのユーザー名を指定します。

  • PORTAL_ADMIN_PASSWORD = <ポータル管理者のパスワード>

    管理者ロールに割り当てられたポータル メンバーのパスワードを指定します。

  • PORTAL_ADMIN_PASSWORD_ENCRYPTED = <true | false>

    初めてファイルに管理者パスワードを設定するときは、このオプションを false に設定します。 webgisdr を実行するとパスワードが暗号化され、PORTAL_ADMIN_PASSWORD_ENCRYPTED の値が true に設定されて、パスワードが暗号化済みであることが示されます。

  • BACKUP_RESTORE_MODE = <full | incremental>

    完全バックアップのみを作成する場合、このプロパティを full に、増分バックアップも作成する場合は、incremental に設定します。 各増分バックアップには、最後の完全バックアップ以降のすべての変更が含まれています。

  • SHARED_LOCATION = <バックアップ ファイルの場所>

    ArcGIS Server、Portal for ArcGIS、ArcGIS Data Store のバックアップ ファイルの一時コピーが作成される共有場所を指定します。 ArcGIS Server、Portal for ArcGIS、ArcGIS Data Store サービスを実行するドメイン アカウントと、webgisdr ユーティリティを実行するアカウントには、この場所への書き込み権限が必要です。 この場所が各コンポーネントのバックアップ ファイルを保持するのに十分な大きさであることを確認します。

  • INCLUDE_SCENE_TILE_CACHES = <true | false>

    ホスト シーン レイヤーをポータルに公開して、これらをバックアップに含める場合は、true に設定します。 true に設定した場合は、最後のバックアップ以降に作成された新しいキャッシュ データだけではなく、すべてのシーン キャッシュ データがバックアップに含まれる点に注意してください。 最後のバックアップ以降に新しいシーン キャッシュが作成されていないことがわかっている場合や、シーンをポータルに公開しない場合は、INCLUDE_SCENE_TILE_CACHES を false に設定できます。

  • BACKUP_STORE_PROVIDER = {FileSystem | AmazonS3 | AzureBlob}

    webgissite バックアップ ファイルをファイル システムとクラウド ストレージのどちらに保存するかを定義します。

    バックアップをオンプレミスのファイル共有場所に格納する場合は、FileSystem を指定します。webgisdr ユーティリティを実行すると、BACKUP_LOCATION に指定したファイル共有にバックアップ ファイルが格納されます。

    バックアップを Amazon Simple Storage Service (S3) バケットに格納する場合は、webgisdr ユーティリティで生成されたバックアップ ファイルを格納するための専用の S3 バケットを作成し、そのバケットへのアクセスに必要な情報を S3 プロパティに反映します。

    バックアップを Microsoft Azure Blob Storage に格納する場合は、webgisdr ユーティリティで生成されたバックアップ ファイルを格納するための専用の Azure Blob Storage コンテナーを作成し、そのコンテナーへのアクセスに必要な情報を Azure プロパティに反映します。

    備考

    ArcGIS Enterprise のデプロイメントがオンプレミスであるにもかかわらず、バックアップがクラウドに格納されている場合、オンプレミスのファイル共有にバックアップを格納した場合に比べて、バックアップの作成と復元には時間がかかります。

  • BACKUP_LOCATION = <オンプレミスのバックアップ ファイルの場所>

    webgissite バックアップ ファイルの場所を指定します。

    バックアップ ファイルは最初に SHARED_LOCATION に格納されますが、その後で BACKUP_LOCATION にコピーされます。 この場所がバックアップ ファイルを保持するのに十分な大きさであることを確認します。 webgisdr ユーティリティを実行するアカウントは、BACKUP_LOCATION に対する書き込み権限が必要です。

    BACKUP_LOCATION をフォルダーに設定すると、webgisdr ツールでそのフォルダー内の最新のバックアップ ファイルがインポートされます。 BACKUP_LOCATION をフォルダー内の特定のバックアップ ファイルに設定すると、障害復旧ツールでそのファイルがインポートされます。


4.2.3

プロパティ ファイルを保存します。 このファイルを指定して webgisdr ユーティリティを実行すると、ファイル内で PORTAL_ADMIN_PASSWORD の値が暗号化され、PORTAL_ADMIN_PASSWORD_ENCRYPTED が true に設定されます。


4.2.4

Portal for ArcGIS マシン上でコマンド プロンプトを開き、webgisdr ユーティリティの格納場所にディレクトリを変更し、エクスポート オプションを指定して webgisdr ユーティリティを実行します。 webgisdr ユーティリティのデフォルトの場所は、C:\Program Files\ArcGIS\Portal\tools\webgisdr です。

webgisdr の構文は、次のとおりです。

webgisdr --{export | import} --file <プロパティ ファイルのフルパス>

ここでは、上述のとおり、プロパティ ファイル (mywebgis.properties) をフォルダー C:\propfiles に保存しています。

webgisdr --export --file C:\propfiles\mywebgis.properties


4.2.5

ArcGIS Enterprise のデプロイメントにマップ サービスまたはホスト タイル レイヤーのキャッシュが含まれている場合、キャッシュ タイルが格納されているすべてのディレクトリ (たとえば、C:\arcgisserver\directories\ または /arcgis/server/usr/directories ディレクトリの下の arcgiscache 全体) のコピーを手動でバックアップします。 これらのディレクトリには、マップ キャッシュ タイルおよびタイル スキーマ ファイル conf.xml が含まれます。 キャッシュ ディレクトリには、構築済みのタイルに関する情報を含む、ファイル ジオデータベースの status.gdb も格納できます。


5. リストアの実行

ArcGIS Enterprise のデプロイメントに障害が発生した場合は、webgisdr ツールと過去にエクスポートしたバックアップ ファイルを使用してインポート (リストア) を実行します。

ArcGIS Enterprise の高可用構成のリストアでは、webgisdr ツールは GIS Server サイトとリレーショナルおよびタイル キャッシュ データ ストアの高可用設定は維持し、ポータルに対してはスタンバイ マシンを登録解除し、プライマリ マシンへのポータルのリストアを実行後、スタンバイ マシンの再登録を行います。

設定を変更する必要がない場合は、webgisdr のエクスポート (バックアップ取得) に使用したプロパティ ファイルを使用できます。 ただし、バックアップ ファイルの場所を変更したり、特定のバックアップ ファイルを指定したり、プロパティ ファイルの内容に変更がある場合は、新しいプロパティ ファイルを作成します。

増分バックアップを作成した場合は、最後の完全バックアップと、その後に作成された最後の増分バックアップがリストアに必要になります。


5.1. 事前確認

リストアを実行するにあたり、以下の点に注意する必要があります。

  • 最後にエクスポートされた後で作成されたアイテムやサービスはすべて失われます。
  • マップ サービスおよびキャッシュ タイル、Web サービスに参照されているデータ ソース、ビッグ データ ストアのバックアップ ファイルは、webgisdr ユーティリティを使用して作成したバックアップに含まれないため、別途リストアする必要があります。
  • 別の新しいマシンにリストアする必要がある場合は、インストール ディレクトリの名前を新しいマシン上でも同じにする必要があります。
  • リストア先のデプロイメントは、バックアップを作成した時点のバージョンにする必要があります。さらに、同じ種類のオペレーティング システムにリストアする必要があります。たとえば、Linux 上の ArcGIS Enterprise デプロイメントのバックアップを作成して、それを Windows マシンにリストアすることはできません。


5.2. webgisdr インポート オプションの実行

ArcGIS Enterprise の構成により必要な手順が異なりますが、ここでは、バックアップ ファイルを作成したマシンと同じマシンに ArcGIS Enterprise デプロイメントのリストアを実行します。


5.2.1

デフォルトでは、webgisdr ツールは最新のバックアップ ファイルをリストアします。 最新のバックアップよりも前のファイルをリストアするには、プロパティ ファイル内の BACKUP_LOCATION パスを更新する必要があります。 この場合、整合性を保って簡潔な手順を実行するために、エクスポートに使用したプロパティ ファイルをコピーしてインポート専用のプロパティ ファイルを作成し、BACKUP_LOCATION パスを更新するのが望ましいです。 ここでは、プロパティ ファイルのコピーを C:\propfiles ディレクトリに toimport.properties という名前で作成および編集します。 webgisdr ツールを実行するドメイン アカウントに、少なくとも BACKUP_LOCATION への読み取りアクセス権と SHARED_LOCATION への書き込みアクセス権があることを確認します。 また、ArcGIS Server、Portal for ArcGIS、および ArcGIS Data Store を実行するドメイン アカウントに、SHARED_LOCATION への読み取りアクセス権があることを確認します。


5.2.2

ポータル マシン上でコマンド プロンプトを開き、webgisdr ユーティリティがある場所にディレクトリを変更し、インポート オプションを指定した webgisdr ユーティリティを実行します。 webgisdr ユーティリティのデフォルトの場所は、C:\Program Files\Portal\tools\webgisdr です。

webgisdr ユーティリティの構文は、次のとおりです。

webgisdr --{export | import} --file <プロパティ ファイルのフルパス> ここでは、プロパティ ファイル (toimport.properties) は、C:\propfiles ディレクトリに保存しています。

webgisdr --import --file C:\propfiles\toimport.properties


5.2.3

ArcGIS Enterprise のデプロイメントにマップ サービスまたはホスト タイル レイヤーのキャッシュが含まれている場合、作成したバックアップ コピーを手動で移動し、元の arcgiscache ディレクトリにファイルを配置します。


5.2.4

ArcGIS Enterprise にビッグ データ ストアが含まれている場合は、ArcGIS Data Store の restoredatastore ユーティリティを使用してバックアップをリストアします。


5.2.5

ファイル ベースのデータを ArcGIS Enterprise コンポーネントのいずれかと同じマシンに格納している状況で、そのマシンが故障した場合は、バックアップ コピーを新しいマシン上の同じパスにリストアします。 たとえば、ジオデータベースとシェープファイルを含むフォルダーをArcGIS GIS Server サイトのマシンのいずれかに格納している状況で、そのマシンが故障した場合は、そのフォルダーのバックアップ コピーを新しいマシン上の同じディレクトリ パスに配置します。 この操作は、ファイル位置が ArcGIS Server サイトに登録されているために必要になります。 データ位置を変更すると、これらのサービスでデータが見つからなくなります。


6. ArcGIS Enterprise デプロイメントの移行例


まとめ

ここでは、ArcGIS Enterprise の障害復旧方法の一つである webgisdr ツールを用いたバックアップ・リストアにおいて、バックアップ戦略の設計から実行までの一連の流れについてご紹介しました。 組織で利用可能なリソースや、満たすべき RPO、RTO を十分把握した上で、バックアップ戦略を設計し、障害復旧にお役立てください。


関連リンク

米国 Esri 社ブログ

 

ArcGIS 関連ページ

 

関連ブログ

Attachments

    Outcomes