ArcGIS Server for Amazon Web Services の Workgroup ジオデータベースのアップグレード(PostgreSQL)
以下のセクションで、4 つのジオデータベース アップグレード シナリオを説明します。
- ArcGIS 10.1 for Amazon Web Services の ArcGIS 10.2.1 for Amazon Web Services への移行
- ArcGIS 10 for Amazon Web Services の ArcGIS 10.2.1 for Amazon Web Services への移行
- ArcGIS 10.1 または 10.2 for Amazon Web Services から ArcGIS Server 10.2.1 for Amazon Web Services インスタンスへのデータの移行
- 既存の ArcGIS 10.1 for Amazon Web Services インスタンスの 10.2.1 への移行およびArcGIS Server(SITEHOST)と同じインスタンス上のジオデータベースのアップグレード
- 既存の ArcGIS 10.1 for Amazon Web Services インスタンスの 10.2.1 への移行および独自の Amazon Web Services インスタンス(EGDBHOST)上のジオデータベースのアップグレード
ArcGIS Server 10.1 for Amazon Web Services から ArcGIS Server 10.2.1 for Amazon Web Services インスタンスへのデータの移行
ArcGIS 10.2.1 に移行する方法の 1 つとして、新しい ArcGIS Server 10.2.1 for Amazon Web Services インスタンスを作成し、データを移行して、サービスを再公開することもできます。
ArcGIS 10 for Amazon Web Services EGDB インスタンスから ArcGIS Server 10.2.1 for Amazon Web Services インスタンスへのデータの移行
ArcGIS 10 では、Windows 上に PostgreSQL 8.3.8 データベース クラスタを含んだ個別のエンタープライズ ジオデータベース AMI(Amazon Machine Image)がありました。ArcGIS 10.2.1 では、PostgreSQL AMI を使用した ArcGIS Server(Linux)は、Ubuntu Linux を実行し、必要に応じて PostgreSQL 9.2.4 データベース クラスタを含むことができます。Windows 上の PostgreSQL データベースから Linux 上のデータベースに直接移行することはできません。そのため、ArcGIS Server 10.2.1 for Amazon Web Services に移行する場合、データを移行または再読み込みする必要があります。「Amazon Web Services へのデータ転送方法」の「データをクラウドに転送するオプション」セクションをご参照ください。データが新しいインスタンスに移行したら、サービスを再公開する必要があります。
ArcGIS 10.1 または 10.2 for Amazon Web Services から ArcGIS Server 10.2.1 for Amazon Web Services インスタンスへのデータの移行
ArcGIS 10.1 および 10.2 では、PostgreSQL AMI を使用した ArcGIS Server(Linux)に、PostgreSQL 9.0.13 が含まれています。データを ArcGIS Server 10.2.1 for Amazon Web Services と PostgreSQL 9.2.4 に移行する場合、データを移行するか再び読み込みます。「Amazon Web Services へのデータ転送方法」の「データをクラウドに転送するオプション」セクションをご参照ください。データが新しいインスタンスに移行したら、サービスを再公開する必要があります。
既存の ArcGIS 10.1 for Amazon Web Services インスタンスの 10.2.1 への移行およびArcGIS Server(SITEHOST)と同じインスタンス上のジオデータベースのアップグレード
このセクションの手順で、ArcGIS Server(SITEHOST)と同じインスタンスにある PostgreSQL のジオデータベースをアップグレードする方法を説明します。
ArcGIS for Server をアップデートし、新しい st_geometry.so ファイルを PostgreSQL lib ディレクトリに移動し、ArcGIS Server を停止し、Python スクリプトを実行して各ジオデータベースにアップグレードし、次に ArcGIS Server を再起動します。
-
この時点では、AWS インスタンス上の ArcGIS for Server にサービス パックまたはパッチをすでにインストールしている必要があります。
まだソフトウェアをインストールしていない場合は、「ArcGIS アップデートの単一コンピュータのサイトへの適用」または「ArcGIS の複数コンピュータのサイトへの適用」で手順をご確認ください。
- ジオデータベースをアップグレードする前にジオデータベースのバックアップ コピーを作成します。データを含む EBS ボリュームのスナップショットを作成するのが、最も簡単な方法です。
-
また、アップグレードする前に、st_geometry.so ファイルを /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 から /usr/lib/postgresql/9.0/lib にコピーする必要もあります。
-
st_geometry.so ファイルは、root の所有です。そのため、ubuntu として Amazon Web Services SITEHOST インスタンスに接続した後、ユーザを root に切り替えます。
sudo su -
注意:
arcgis ユーザで接続してから root ユーザに切り替えることはできませんので、注意してください。
-
新しいファイルをコピーする前に、古いファイルの名前を変更します。
mv /usr/lib/postgresql/9.0/lib/st_geometry.so /usr/lib/postgresql/9.0/lib/st_geometryOLD.so
-
新しい st_geometry.so ファイルをコピーします。
cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /usr/lib/postgresql/9.0/lib
-
st_geometry.so ファイルの権限を変更して他のユーザの読み取りと実行を許可します。
chmod 755 /usr/lib/postgresql/9.0/lib/st_geometry.so
-
st_geometry.so ファイルは、root の所有です。そのため、ubuntu として Amazon Web Services SITEHOST インスタンスに接続した後、ユーザを root に切り替えます。
-
arcgis ユーザに切り替えます。
su - arcgis
-
テキスト エディタを開いて、アップグレード Python スクリプトを作成します。
たとえば、次のようになります。
vi upgrade.py
-
次のスクリプトをテキスト エディタにコピーします。
スクリプトを変更してユーザのサイトに固有の情報(インスタンス名、sde パスワード、接続ファイル名と場所、およびデータベース名など)を使用します。
#Import arcpy module import arcpy # Create connection file arcpy.CreateDatabaseConnection_management("/tmp","egdb_connection.sde","POSTGRESQL","ec2-123-456-789-100.compute-1.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb") # Upgrade geodatabase arcpy.UpgradeGDB_management("/tmp/egdb_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")
ツール構文に関する詳細については、「データベース接続の作成」および「ジオデータベースのアップグレード」をご参照ください。
- ファイルを保存して、テキスト エディタを閉じます。
-
ArcGIS Server を停止します。
/arcgis/server/stopserver.sh
-
Python でスクリプトを実行します。
/arcgis/server/tools/python <path to the file>/upgrade.py
型の参照について複数のメッセージが表示される場合があります。これらは、アップグレードの失敗を示すものではないため、無視してかまいません。
アップグレードが失敗した場合、情報は /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> の GDBUpgrade.log に書き込まれます。
-
ジオデータベースがアップグレードされたことを確認するには、以下の Python を実行します。/tmp/egdb_connection.sde を接続ファイルの場所と名前で置き換えます。
はじめに、arcpy プロンプトを開きます。
cd /arcgis/server/tools ./python
isCurrent を使用して、ジオデータベースが現在のリリースにアップグレードされているか確認します。
import arcpy isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease print isCurrent
print isCurrent が True を返す場合、ジオデータベースはアップグレードされています。
- arcpy プロンプトを終了するには、quit() と入力します。
- スクリプトを変更し、アップグレードが必要な各ジオデータベースにもう一度そのスクリプトを実行します。
-
すべてのジオデータベースがアップグレードされたら、ArcGIS Server を再起動します。
/arcgis/server/startserver.sh
複数コンピュータのサイトを保有している場合、「複数の Ubuntu コンピュータのサイトへの ArcGIS アップデートの適用」の手順 14 に進みます。
既存の ArcGIS 10.1 for Amazon Web Services インスタンスの 10.2.1 への移行および独自の Amazon Web Services インスタンス(EGDBHOST)上のジオデータベースのアップグレード
このセクションの手順で、ジオデータベース独自の Amazon Web Services インスタンス(EGDBHOST)上にある PostgreSQL のジオデータベースをアップグレードする方法を説明します。
SITEHOST 上の ArcGIS for Server をアップデートし、SITEHOST の新しい st_geometry.so ファイルを EGDBHOST の PostgreSQL lib ディレクトリに移動し、ArcGIS Server を停止し、SITEHOST から Python スクリプトを実行して各ジオデータベースにアップグレードし、次に ArcGIS Server を再起動します。
-
AWS インスタンス上の ArcGIS for Server にサービス パックまたはパッチをインストールします。
「サービス パックの単一コンピュータのサイトへの適用」または「サービス パックの複数コンピュータのサイトへの適用」で手順をご確認ください。
- ジオデータベースをアップグレードする前にジオデータベースのバックアップ コピーを作成します。データを含む EBS ボリュームのスナップショットを作成するのが、最も簡単な方法です。
-
また、アップグレードする前に、st_geometry.so ファイルを /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 から /usr/lib/postgresql/9.0/lib にコピーする必要もあります。
-
新しいファイルをコピーする前に、EGDBHOST 上の古いファイルの名前を変更します。st_geometry.so ファイルは、root ユーザが所有しているため、ubuntu として EGDBHOST にログインして、root ユーザに切り替えます。
sudo su - mv /usr/lib/postgresql/9.0/lib/st_geometry.so /usr/lib/postgresql/9.0/lib/st_geometryOLD.so
-
st_geometry.so ファイルを SITEHOST 上の /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 から EGDBHOST 上の /usr/lib/postgresql/9.0/lib に移動する必要があります。
異なるインスタンスの 2 つの移行元ディレクトリおよび移行先ディレクトリに同じユーザがアクセスすることはできないため、arcgis ユーザとして SITEHOST にログインして、ファイルを EGDBHOST 上の gisdata ディレクトリにコピーします。
cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /net/EGDBHOST/gisdata/st_geometry.so
- gisdata として EGDBHOST にログインします。
-
root ユーザに切り替えます。
sudo su -
-
st_geometry.so ファイルを gisdata から にコピーします。/usr/lib/postgresql/9.0/lib
cp /gisdata/st_geometry.so /usr/lib/postgresql/9.0/lib/st_geometry.so
-
st_geometry.so ファイルの権限を変更して他のユーザの読み取りと実行を許可します。
chmod 755 /usr/lib/postgresql/9.0/lib/st_geometry.so
-
新しいファイルをコピーする前に、EGDBHOST 上の古いファイルの名前を変更します。st_geometry.so ファイルは、root ユーザが所有しているため、ubuntu として EGDBHOST にログインして、root ユーザに切り替えます。
- arcgis ユーザとして SITEHOST にログインします。
-
テキスト エディタを開いて、アップグレード Python スクリプトを作成します。
たとえば、次のようになります。
vi upgrade.py
-
次のスクリプトをテキスト エディタにコピーします。
スクリプトを変更してユーザのサイトに固有の情報(インスタンス名、sde パスワード、接続ファイル名と場所、およびデータベース名など)を使用します。
#Import arcpy module import arcpy # Create connection file arcpy.CreateDatabaseConnection_management("/tmp","egdb_connection.sde","POSTGRESQL","ec2-123-456-789-100.compute-1.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb") # Upgrade geodatabase arcpy.UpgradeGDB_management("/tmp/egdb_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")
ツール構文に関する詳細については、「データベース接続の作成」および「ジオデータベースのアップグレード」をご参照ください。
- ファイルを保存して、テキスト エディタを閉じます。
-
ArcGIS Server を停止します。
/arcgis/server/stopserver.sh
-
Python でスクリプトを実行します。
/arcgis/server/tools/python <path to the file>/upgrade.py
タイプ参照についてメッセージがいくつか表示される場合があります。これらのメッセージは、無視してかまいません。
アップグレードが失敗した場合、情報は /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> の GDBUpgrade.log に書き込まれます。
-
ジオデータベースがアップグレードされていることを確認するには、Python を開いて次のコマンドを実行します。/tmp/egdb_connection.sde は、接続ファイルの場所と名前に置き換えてください。
はじめに、arcpy プロンプトを開きます。
cd /arcgis/server/tools ./python
isCurrent を使用して、ジオデータベースが現在のリリースにアップグレードされているか確認します。
import arcpy isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease print isCurrent
print isCurrent が True を返す場合、ジオデータベースはアップグレードされています。
- arcpy プロンプトを終了するには、quit() と入力します。
- upgrade.py script を変更して、アップグレードが必要な各ジオデータベースに対してもう一度実行します。
-
すべてのジオデータベースがアップグレードされたら、ArcGIS Server を再起動します。
/arcgis/server/startserver.sh
複数コンピュータのサイトを保有している場合、「複数の Ubuntu コンピュータのサイトへの ArcGIS アップデートの適用」の手順 14 に進みます。