ArcGIS Enterprise のプライマリおよびスタンバイ配置を作成した後、webgisdr ユーティリティを使用してプライマリからスタンバイへのレプリケーションの自動化や、プロパティ ファイルの分けて完全バックアップと増分バックアップを設定することができ、cron ジョブでスケジュールされたタスクで実行します。
プライマリとスタンバイ配置を密接に同期させておくには、webgisdr ユーティリティを使用して完全バックアップを定期的に実施し、バックアップの差分もエクスポートします。たとえば、ArcGIS Enterprise のサービスとデータが 1 日で大幅に変更する場合は、深夜に完全バックアップを作成し、差分を午前 10:00、午後 2:00、午後 6:00 にエクスポートし、その日に生じた変更内容を反映します。
このプロセスを自動化するため、テンプレート プロパティ ファイル (webgisdr.properties) のコピーを 4 つと、以下のタスクを実施するための 4 種類のスクリプトを作成します。
- プライマリ配置から完全バックアップをエクスポートし、スタンバイ配置にコピー
- プライマリ配置の増分バックアップをエクスポートし、スタンバイ配置にコピー
- スタンバイ配置に完全バックアップをインポート
- スタンバイ配置に増分バックアップをインポート
各スクリプトを指定時刻に実行する cron ジョブを設定します。
スクリプトを実行する頻度を決定するには、データのエクスポートとコピーが完了するまでの時間を考慮する必要があります。完全バックアップを作成し、それをネットワーク経由でスタンバイ配置にコピーする時間と、増分バックアップを作成し、ネットワーク経由でスタンバイ配置にコピーする時間を把握するには、一度手動で実行する必要があります。ネットワークやハードウェアのパフォーマンスが変動することを考慮し、30 ~ 60 分の余裕を見ておきます。
たとえば、増分バックアップの作成には 20 分、スタンバイへのコピーには 5 分かかる場合、増分バックアップ スクリプトを実行してから 60 分後に増分バックアップをインポートするようスケジュールを設定しておきます。つまり、増分バックアップを作成するスクリプトが 午前 10:00 に実行する場合、インポートは午前 11:00 に実行するよう指定します。
- webgisdr.properties ファイルのコピーを作成し、名前を expfullbackups.properties に変更します。このファイルを webgisdr.properties ファイルと同じ場所に保存します。
デフォルトの場所は、/arcgis/portal/tools/webgisdr です。
- expfullbackups.properties ファイルをテキスト エディターで開き、配置に固有の情報を含むようにそのファイルを編集します。
- SHARED_LOCATION = <バックアップ ファイルの場所>
ArcGIS Server、Portal for ArcGIS、および ArcGIS Data Store のバックアップ ファイルの一時コピーが作成される共有場所を指定します。 ArcGIS Server、Portal for ArcGIS、ArcGIS Data Store をインストールしたアカウントと、webgisdr ユーティリティを実行するアカウントには、この場所への読み取り権限と書き込み権限が必要です。 この場所が各コンポーネントのバックアップ ファイルを保持するのに十分な大きさであることを確認します。 ファイルは、圧縮されるとはいえ、存在するデータの量とタイプによっては非常に大きなサイズになることがあります。 ホスト シーン レイヤーおよびキャッシュが存在し、INCLUDE_SCENE_TILE_CACHES を true に設定している場合は特に、ArcGIS Data Store バックアップ ファイルのサイズが大きくなる可能性があります。
パス内のバックスラッシュがエスケープされていることを確認します。 たとえば、C:\backups は C:\\backups として入力され、\\fileserver\backups は \\\\fileserver\\backups として入力されます。 - BACKUP_STORE_PROVIDER = {FileSystem | AmazonS3 | AzureBlob}
webgissite バックアップ ファイルをファイル システムとクラウド ストレージのどちらに保存するかを定義します。
ArcGIS Enterprise のバックアップをオンプレミスのファイル共有場所に格納するには FileSystem を指定します。webgisdr ユーティリティを実行すると、BACKUP_LOCATION に指定したファイル共有にバックアップ ファイルが格納されます。
ArcGIS Enterprise のバックアップを Amazon Simple Storage Service (S3) または S3 対応のバケット格納場所に格納するには、webgisdr ユーティリティで生成されたバックアップ ファイルを格納するための専用のバケットを作成し、そのバケットへのアクセスに必要な情報を S3 プロパティに反映します。
ArcGIS Enterprise のバックアップを Microsoft Azure Blob Storage に格納するには、webgisdr ユーティリティで生成されたバックアップ ファイルを格納するための専用の Azure Blob Storage コンテナーを作成し、そのコンテナーへのアクセスに必要な情報を Azure プロパティに反映します。
注意:
ArcGIS Enterprise 組織がオンプレミスであるにもかかわらず、バックアップがクラウドに格納されている場合、オンプレミスのファイル共有にバックアップを格納した場合に比べて、バックアップの作成と復元にはより長い時間がかかります。
- BACKUP_LOCATION = <オンプレミスのバックアップ ファイルの場所>
webgissite バックアップ ファイルの場所を指定します。
パス内のバックスラッシュがエスケープされていることを確認します。 たとえば、C:\backups は C:\\backups として入力され、\\fileserver\backups は \\\\fileserver\\backups として入力されます。
バックアップ ファイルは最初に SHARED_LOCATION に格納されますが、その後で BACKUP_LOCATION にコピーされます。 この場所がバックアップ ファイルを保持するのに十分な大きさであることを確認します。 ファイルは、圧縮されるとはいえ、存在するデータの量とタイプによっては非常に大きなサイズになることがあります。 webgisdr ユーティリティを実行するアカウントには、BACKUP_LOCATION に対する読み取り権限と書き込み権限が必要です。
BACKUP_LOCATION をフォルダーに設定すると、障害復旧ツールでそのフォルダー内の最新のバックアップ ファイルがインポートされます。 BACKUP_LOCATION をフォルダー内の特定のバックアップ ファイルに設定すると、障害復旧ツールでそのファイルがインポートされます。
注意:
エクスポートの際、バックアップのパッケージ化に時間がかかる場合は、BACKUP_LOCATION をローカル パスに設定することを検討してください。 完成したパッケージを目的の場所にコピーすることができます。 ローカル ドライブにバックアップを一時的に保存するのに十分な容量があることを確認します。
- 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 に設定します。 ファイルを保存すると、パスワードが暗号化され、PORTAL_ADMIN_PASSWORD_ENCRYPTED の値が true に設定されて、パスワードが暗号化済みであることが示されます。 パスワードを今後変更する必要がある場合は、PORTAL_ADMIN_PASSWORD_ENCRYPTED = false に設定し、新しい管理者パスワードを指定して、ファイルを保存します。
- INCLUDE_SCENE_TILE_CACHES = <true | false>
ホスト シーン レイヤーをポータルに公開して、シーン キャッシュ データをバックアップに含める場合は、INCLUDE_SCENE_TILE_CACHES を true に設定します。 true に設定した場合は、最後のバックアップ以降に作成された新しいキャッシュ データだけではなく、すべてのシーン キャッシュ データがバックアップに含まれる点に注意してください。 最後のバックアップ以降に新しいシーン キャッシュが作成されていないことがわかっている場合や、シーンをポータルに公開しない場合は、INCLUDE_SCENE_TILE_CACHES を false に設定できます。
- BACKUP_RESTORE_MODE = full。
- SHARED_LOCATION = <バックアップ ファイルの場所>
- 変更内容を保存して expfullbackups.properties ファイルを閉じます。
- expfullbackups.properties ファイルのコピーを作成し、名前を expincremental.properties に変更します。
- expincremental.properties ファイルをテキスト エディターで開き、BACKUP_RESTORE_MODE の設定を incremental に変更します。
- 変更内容を保存して expincremental.properties ファイルを閉じます。
- プライマリ配置からエクスポートする webgisdr ユーティリティを実行するスクリプトを 2 つ作成します。そのうち 1 つを expfullbackups.properties ファイルを呼び出すよう設定し、もう 1 つを expincremental.properties ファイルを呼び出すよう設定します。
指定時刻に完全バックアップを実行し、別の時刻に増分バックアップを実行するように、2 つのスクリプトを作成します。
たとえば、完全バックアップを作成するスクリプトには、以下のような行が含まれます。
webgisdr --export --file /arcgis/portal/tools/webgisdr/fullbackups.properties
- バックアップをエクスポートするスクリプトには、バックアップ ファイルをスタンバイ配置にコピーする方法も含める必要があります。
プライマリ配置に ArcGIS Server、Portal for ArcGIS、ArcGIS Data Store をインストールしたアカウントでは、SHARED_LOCATION への書き込み権限が .properties ファイルに設定されている必要があります。さらに、webgisdr ユーティリティを実行するアカウントには、SHARED_LOCATION とバックアップ ファイルのコピー先の読み取り権限と書き込み権限が必要です。スタンバイ配置に ArcGIS Server、Portal for ArcGIS、ArcGIS Data Store をインストールしたアカウントでは、これらの場所への読み取り以上の権限が必要です。
- ArcGIS Enterprise の配置にマップ サービスとホスト タイル レイヤーのキャッシュが含まれる場合、スクリプトを実行して、プライマリ配置の ArcGIS Server サイトのキャッシュ ディレクトリ (複数可) からスタンバイ配置のキャッシュ ディレクトリ (複数可) にコピーする必要があります。
- expfullbackups.properties ファイルと expincremental.properties ファイルをスタンバイ配置の webgisdr.properties ファイルの場所にコピーし (デフォルトでは /arcgis/portal/tools/webgisdr)、それぞれのファイル名を impfullbackups.properties と impincremental.properties に変更します。
- スタンバイ配置の環境用に、プロパティの SHARED_LOCATION、BACKUP_LOCATION (BACKUP_STORE_PROVIDER が FileSystem に設定されている場合)、PORTAL_ADMIN_URL を更新します。
- プライマリ配置とスタンバイ配置で実行するよう、webgisdr ツールのスケジュールを設定します。これらの処理には cron ジョブを使用します。 バックアップ スケジュールを定義し、自動化タスクが適切なプロパティ ファイルを指すように設定します。バックアップをインポートする 2 つのスクリプトは、スタンバイ配置にコピーしたプロパティ ファイルを呼び出す必要があります。
ヒント:
はじめに述べたように、完全バックアップと増分バックアップを完了するまでの時間と、バックアップ ファイルをコピーするまでの時間を予測し、その時間に余裕を持たせたうえで、スクリプトのスケジュールを設定します。