オンサイトのエンタープライズ ジオデータベースにデータがある場合は、データの一部をクラウドのエンタープライズ ジオデータベースに複製できます。このトピックで説明するワークフローを使用して、この操作を実行できます。
ArcGIS Server Cloud Builder on Amazon Web Services アプリケーションが作成する geodata ジオデータベースは、複製されたデータのワークフローで使用することを目的としています。geodata データベースを複製されたデータ ストアとして ArcGIS for Server に登録すると、ジオデータ サービスを作成できます。続いて、オンプレミスのジオデータベースからジオデータ サービスにデータを複製します。編集を行った後、ジオデータ サービスを通して変更を同期できます。
ほとんどの場合は、オンプレミスのジオデータベースで編集を行うようにし、クラウドのジオデータベースのデータはインターネットを通じてアクセスできるユーザーに対して読み取り専用のままにします。この場合は、一方向レプリカを作成します。オンプレミスのジオデータベースに行った編集は、ジオデータ サービスを通して ArcGIS Server on Amazon Web Services インスタンスのジオデータベースと同期されます。ただし、編集可能なフィーチャ サービスを使用して、 ArcGIS Server on Amazon Web Services インスタンスのジオデータベースを変更することもできます。この場合は、双方向レプリカを作成します。一方のジオデータベースに行われた編集は、ジオデータ サービスを通してもう一方のジオデータベースと同期されます。
レプリケーション用のオンプレミス データの準備
データを複製するには、次の要件を満たしている必要があります。
- 空間データはすべて、高精度の空間参照に格納する必要があります。
- 親および子レプリカ ジオデータベースのリリースは同じである必要があります。ただし、ArcGIS 10.1、10.2.x、または 10.3.x のジオデータベースを親に使用して、ArcGIS 10.4 ジオデータベースを使用して子をホストすることは可能です。このとき、双方向レプリケーションを使用する場合は、親レプリカのジオデータベースでサポートされていない機能を子レプリカに追加するようなデータを追加したり、編集を行ったりしないようにしてください。
- 複製されるデータの所有者は、以下の手順を実行する必要があります。
- レプリカを作成するユーザーに、データへの書き込みアクセス権を付与します。
- データをバージョン対応登録して、レプリカに含まれるようにします。
データは完全にバージョン対応である必要があります。ベース テーブル移行オプションを使用してバージョン対応登録することはできません。
- レプリカの一部となる各データセットに Global ID 列を追加します。
ArcGIS Server on Amazon Web Services インスタンスの起動
ArcGIS for Server のインスタンスを起動します (起動していない場合)。手順については、「アマゾン ウェブ サービス上での ArcGIS サイトの構築」をご参照ください。サイトを設定するときに、キー ペアを指定し、エンタープライズ ジオデータベースを含めるように選択していることを確認します。ジオデータベースは、ArcGIS for Server と同じインスタンスか、独立した別のインスタンスに配置できます。
ArcGIS Server Cloud Builder on Amazon Web Services アプリケーションを使用して作成したインスタンスには、自動的に geodata というジオデータベースが用意され、レプリカ ジオデータベースとして使用できます。
ArcGIS Server インスタンスへの接続
ArcGIS for Desktop から ArcGIS Server on Amazon Web Services インスタンスへの GIS サーバー公開者接続を作成します。手順については、「ArcGIS for Desktop での ArcGIS Server への公開者接続の作成」をご参照ください。
ジオデータベースの登録とジオデータ サービスの公開
geodata ジオデータベースを複製されたデータ ストアとして登録し、ジオデータ サービスを作成します。この操作は、ArcGIS for Desktop で作成した GIS サーバー接続の [サーバー プロパティ] ダイアログ ボックスで行います。
- GIS サーバー接続を右クリックして、[サーバー プロパティ] をクリックします。
[ArcGIS Server プロパティ] ダイアログ ボックスが表示されます。
- [データ ストア] タブの [登録済みのデータベース] の横にあるプラス ボタン ([+]) をクリックします。
[データベースの登録] ダイアログ ボックスが開きます。
- [名前] テキスト ボックスに、データ ストアの名前を入力します。
この名前は、登録済みデータベースのリストおよびジオデータ サービスで使用されます。
- [公開者のデータベース接続] テキスト ボックスの横にある [インポート] をクリックします。
- オンプレミスのジオデータベースのデータベース接続ファイルの場所を参照し、[選択] をクリックします。
[公開者のデータベース接続] テキスト ボックスに、オンプレミスのジオデータベースの接続情報が入力されます。
- [公開者のデータベース接続と同じ] をオフにします。
ArcGIS Server on Amazon Web Services インスタンスに接続する場合、[サーバーのデータベース接続] には、Amazon EC2 上の geodata ジオデータベースへの接続が自動的に設定されます。
- [ジオデータ サービスの作成] をオンにします。
- [OK] をクリックし、データベースを登録してジオデータ サービスを作成します。
新しく登録されたデータベースが、[登録済みのデータベース] リストに表示されます。
- [OK] をクリックして [ArcGIS Server プロパティ] ダイアログ ボックスを閉じます。
- ArcGIS Server 接続をダブルクリックするか更新して、ジオデータ サービスが作成されていることを確認します。
レプリカ作成ウィザードを使用したジオデータ サービス経由での複製
ArcGIS Server on Amazon Web Services インスタンスの geodata ジオデータベースには、オンプレミスのデータと同期するデータのレプリカが含まれている必要があります。データを登録済みの geodata データベースに複製するには、ArcMap のレプリカ作成ウィザードを使用します。
- ArcMap を起動します。
- Amazon EC2 のジオデータベースに複製するデータを、オンプレミスのエンタープライズ ジオデータベースからマップに追加します。
データの特定のエリアだけを公開する場合は、そのエリアの範囲にズームするか、複製するデータをすべて含むボックスをマップ上に描画します。それ以外の場合は、すべてのデータを複製するか、データを複製するときに範囲のエンベロープを指定できます。
- [分散ジオデータベース] ツールバーを開きます。
[カスタマイズ] > [ツールバー] > [分散ジオデータベース] の順にクリックして、ツールバーを開きます。
- [分散ジオデータベース] ツールバーの [レプリカの作成] ボタン をクリックします。
- 作成するレプリカのタイプを選択します。
- 編集内容をオンプレミスのジオデータベースから Amazon EC2 上のジオデータベースに送信するだけの場合は、[一方向レプリカ] を選択し、[親から子へ] を選択したまま、[次へ] をクリックします。
- 編集内容をオンプレミスのジオデータベースから送信し、ユーザーに Amazon EC2 上のジオデータベースでデータの編集を許可する場合は、[双方向レプリカ] を選択して [次へ] をクリックします。
- [次へ] をクリックします。
- [データ] および [ジオデータベース] を選択して、データをジオデータベースに複製します。
- [開く] ボタン をクリックし、ジオデータ サービスを参照して [OK] をクリックします。
- レプリカの名前を入力します。
- [[次へ] ボタンをクリック後、レプリカの詳細設定オプションを表示] をオンにします。
- [次へ] をクリックします。
- 使用するレプリケーション モデルを選択します。
- 複製しているデータがジオデータベースの機能 (ジオメトリック ネットワーク、トポロジ、リレーションシップ クラスなど) に関係している場合は、[フル モデル] をクリックします (これがデフォルトのモデルです)。
- ジオデータベースの機能をデータで使用せず、子レプリカのデータをバージョン登録する必要がないときは、[シンプル モデル] を選択します。
- [次へ] をクリックします。
- 複製するデータの範囲を選択します。
- 現在のマップ範囲に表示されているデータだけを使用する場合は、[現在の表示範囲] を選択します (これが、複製されるデータ範囲のデフォルトです)。
- ArcMap の [コンテンツ] ウィンドウにあるデータの全範囲が必要な場合は、[データの全範囲] を選択します。
- マップ内のデータを囲むようにグラフィックスを描画していて、そのグラフィックスの内部にあるデータだけを複製する場合は、[現在選択されているグラフィックス境界] を選択します。
- 特定の範囲を指定する場合は、[以下の範囲] を選択して、必要な範囲の値を入力します。
- 複製するデータの [含む] ボックスをオンにします。
- データにリレーションシップ クラスがある場合は、関連データを含めるか除外するかを選択できます。デフォルトでは、リレーションシップ クラスにより関連付けられた関連データも複製されます。関連データを含めないようにする場合は、[関連データの複製] をオフにします。
- [次へ] をクリックします。
- 関連データを含める場合は、関連オブジェクトをレプリカに追加する方法を、正方向 (関連元クラスに追加されたデータが関連先クラスに追加されます) または逆方向 (関連先クラスに追加されたクラスが関連元クラスに追加されます) のいずれかで定義します。
- [次へ] をクリックします。
- [サマリー] をクリックすると、レプリカを作成するために指定したすべての情報を確認できます。情報を確認したら、[OK] をクリックしてサマリーを閉じます。変更が必要な場合は、[戻る] をクリックします。
- 変更が必要ない場合は、[完了] をクリックします。
ヒント:
すべてデフォルト設定を使用している場合は、[[次へ] ボタンをクリック後、レプリカの詳細設定オプションを表示] をオフにできます。
データがサービスを通して geodata ジオデータベースに複製されます。
オンプレミスのジオデータベースにあるデータの編集
オンプレミスのエンタープライズ ジオデータベース内のデータは、通常の方法で編集できます。他のジオデータベース バージョンで編集を行う場合、これらの編集を子レプリカと同期するには、変更内容を親バージョンにポストする必要があります。
編集内容の同期
同期は一連の編集の後や、特定のスケジュールに従って (たとえば、毎日の業務の終わりに) 実行できます。同期の対象にする編集を完了して親バージョンにポストしたら、[分散ジオデータベース] ツールバーの [変更の同期] ボタンを使用するか、ジオデータ サービスを通して同期を実行するスクリプトを作成します。
データを同期する際には、レプリカを作成したデータベース ユーザーまたはジオデータベース管理者として接続する必要があります。
同期の詳細については、ArcGIS ヘルプの「接続環境でのレプリカの同期」をご参照ください。
ArcMap での同期
このワークフローでは、最初に編集された複製データを含むマップを開いておきます。
- [分散ジオデータベース] ツールバーを開きます。
[カスタマイズ] > [ツールバー] > [分散ジオデータベース] の順にクリックして、ツールバーを開きます。
- [分散ジオデータベース] ツールバーの [変更の同期] ボタン をクリックします。
[変更の同期ウィザード] ダイアログ ボックスが開きます。
- ウィザードの情報を確認したら、[完了] をクリックして同期を開始します。
スクリプトによる同期
ジオデータベースを同期するスクリプトを作成できます。サンプル スクリプトについては、ArcObjects SDK for the Microsoft .NET Framework の「How to synchronize a replica in a connected environment」をご参照ください。