ジオデータベースをアップグレードすると、ジオデータベースに実装された新機能と改善機能を利用できます。 Amazon Web Services (AWS) 上の PostgreSQL のエンタープライズ ジオデータベースをアップグレードするには、次のいずれかの操作を行います。
- 既存の Amazon Elastic Compute Cloud (EC2) インスタンス上での ArcGIS ソフトウェアのアップデートとジオデータベースのアップグレード
ジオデータベースが AWS 上の PostgreSQL データベース クラスターにある場合は、既存の PostgreSQL バージョンが ArcGIS ソフトウェアの最新バージョンと互換性があることを確認してください。 互換性がない場合、PostgreSQL データベース クラスターもアップグレードする必要があります。
ジオデータベースが Amazon Relational Database Service (RDS) for PostgreSQL にすでに存在する場合、Amazon は自動的に PostgreSQL バージョンをアップデートするため、ArcGIS ソフトウェアをアップグレードした後にジオデータベースをアップグレードするだけで済みます。
- Amazon リレーショナル データベース サービス インスタンスの新しいジオデータベースにコンテンツを移行します。
この方法にはより長い時間がかかりますが、ArcGIS 10 インスタンスからアップグレードする場合はこの方法を使用する必要があります。これは 10 から 11.3 への直接のアップグレード パスが存在しないためです。 また、既存の PostgreSQL データベース クラスターまたは Microsoft SQL Server インスタンスから Amazon RDS for PostgreSQL または Amazon Aurora (PostgreSQL-compatible edition) へデータを移行して、Amazon がこれらのインスタンスに適用する自動アップデートを利用する場合も、この方法を使用できます。
注意:
ジオデータベースにブランチ バージョン対応データが含まれている場合は、追加のアップグレード後の手順が必要になる場合があります。 手順については、「ジオデータベースのアップグレード (Upgrade Geodatabase) の詳細」をご参照ください。
次のセクションでは、ジオデータベースを最新状態にする方法について説明します。
既存の AWS インスタンス上での ArcGIS ソフトウェアのアップデートとジオデータベースのアップグレード
既存の EC2 インスタンス上の ArcGIS Server をアップグレードし、PostgreSQL のジオデータベースをアップグレードして、既存のデータおよびサービスの使用を継続することができます。 ただし、オペレーティング システムおよびその他すべてのインスタンス上のソフトウェアは、インスタンスを作成したときのバージョンのままであることに注意してください。 たとえば、ArcGIS Server 10.2.2 for Amazon Machine Image からインスタンスを作成した場合は、Ubuntu 12.04 オペレーティング システム上の PostgreSQL 9.2.4 データベースを引き続き使用します。 アップグレードする ArcGIS Server バージョンによっては、これらの PostgreSQL とオペレーティング システムのバージョンは ArcGIS Server のアップグレード バージョンと互換性がない場合があります。
インスタンス上の既存の PostgreSQL のバージョンと新規の ArcGIS Server のバージョンに互換性がない場合は、PostgreSQL も対応バージョンにアップグレードする必要があります。 たとえば、ArcGIS 10.8 インスタンスを起動し、そのインスタンス上の ArcGIS Server 11.3 にアップグレードする場合は、PostgreSQL も対応バージョンにアップグレードする必要があります。 PostgreSQL のアップグレードの詳細については、PostgreSQL のドキュメントをご参照ください。
新規の PostgreSQL または ArcGIS Server バージョンでオペレーティング システムのバージョンがサポートされていない場合は、オペレーティング システムのバージョンをアップグレードするか、データを新しいインスタンスに移動して、サービスを再公開する必要もあります。
AWS 上で ArcGIS Server をアップグレードする方法は、ArcGIS Server サイトを作成した方法によって異なります。 AWS での ArcGIS Server のアップグレード方法については、「Amazon Web Services での ArcGIS のアップグレード」をご参照ください。 ArcGIS Server をアップグレードしたら、手順に従って、Amazon RDS for PostgreSQL のジオデータベースをアップグレードします。
ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 以前のリリースを使用して、ArcGIS Server サイトとジオデータベースを作成した場合は、PostgreSQL の場所、つまり SITEHOST インスタンスまたは EGDBHOST インスタンスのいずれかに適した手順をご参照ください。
Amazon RDS for PostgreSQL のジオデータベースのアップグレード
AWS 上の ArcGIS Server サイトをアップグレードした後、次の手順に従って、Amazon RDS for PostgreSQL のジオデータベースをアップグレードします。
- Amazon RDS for PostgreSQL に信頼性の高い最新のデータベースのバックアップがあることを確認します。
- Amazon RDS for PostgreSQL に接続して、sde ユーザーにアップグレードに必要な権限があることを確認します。
- arcgis ユーザーとして、ArcGIS Server EC2 インスタンスのいずれかにサイン インします。
- テキスト エディターを開き、Python スクリプトを作成してジオデータベースをアップグレードします。
例:
vi upgrade.py
- 次のスクリプトをテキスト エディターにコピーします。
スクリプトを変更してユーザーのサイトに固有の情報 (インスタンス名、sde パスワード、接続ファイル名と場所、およびデータベース名など) を使用します。
#Import arcpy module import arcpy # Create connection file arcpy.CreateDatabaseConnection_management("/tmp","egdbrds_connection.sde","POSTGRESQL","my_db_instance_identifier.awsregion_id.rds.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb") # Upgrade geodatabase arcpy.UpgradeGDB_management("/tmp/egdbrds_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")
ツール構文に関する詳細については、「データベース接続の作成」および「ジオデータベースのアップグレード」をご参照ください。
- ファイルを保存して、テキスト エディターを閉じます。
- stopserver.sh を使用して、ArcGIS Server を停止します。
- 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/egdbrds_connection.sde は、接続ファイルの場所と名前に置き換えてください。
はじめに、arcpy プロンプトを開きます。
cd /arcgis/server/tools ./python
isCurrent を使用して、ジオデータベースが現在のリリースにアップグレードされているか確認します。
import arcpy isCurrent = arcpy.Describe('/tmp/egdbrds_connection.sde').currentRelease print isCurrent
print isCurrent が True を返す場合、ジオデータベースはアップグレードされています。
- ArcPy プロンプトを終了するには、「quit()」と入力します。
- upgrade.py スクリプトを変更し、アップグレードが必要な各ジオデータベースにもう一度そのスクリプトを実行します。
SITEHOST 上のジオデータベースのアップグレード
ArcGIS Server Cloud Builder on Amazon Web Services を使用して ArcGIS Server サイトとジオデータベースを作成した場合、このセクションの手順に従って、ArcGIS Server SITEHOST と同じインスタンス上にある PostgreSQL データベース クラスター内のジオデータベースをアップグレードします。
注意:
ArcGIS Server 10.6.1 以前を直接 11.3 にアップグレードすることはできません。 最初に中間バージョンにアップグレードしてから 11.3 にアップグレードする必要があります。
また、ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 を使用して最初に作成された PostgreSQL のジオデータベースでは、PostgreSQL を対応バージョンにアップグレードし、Ubuntu オペレーティング システムを対応バージョンにアップグレードする必要があることにも注意してください。 これらを中間バージョンにアップグレードする必要もあります。 PostgreSQL のジオデータベースを含む ArcGIS Server 10.5.1 サイトをアップグレードする場合、ArcGIS Server を 10.7.1 にアップグレードし、オペレーティング システムと PostgreSQL を 10.7.1 でサポートされているバージョンにアップグレードします。
アップグレードの前に、必ずデータベースとサイトのバックアップを作成してください。 11.3 へのアップグレードの手順を進める前に、中間アップグレードをテストします。
PostgreSQL のアップグレード方法は、アップグレード元とアップグレード先の PostgreSQL バージョンによって異なります。 手順については、PostgreSQL のドキュメントをご参照ください。
PostgreSQL と Ubuntu を対応バージョンにアップグレードしたら、ArcGIS Server をアップグレードし、新しい st_geometry.so ファイルを My Esri からダウンロードして、PostgreSQL lib ディレクトリにファイルを配置します。ArcGIS Server を停止し、Python スクリプトを実行して、各ジオデータベースをアップグレードした後、ArcGIS Server を再起動します。
- 新しいバージョンの ArcGIS Server を EC2 インスタンス上にインストールして、オンプレミスの ArcGIS Server サイトと同様にアップグレードします。
アップグレード手順については、「ArcGIS Server インストール ガイド をご参照ください。
- ジオデータベースをアップグレードする前にジオデータベースのバックアップ コピーを作成します。
ジオデータベースのバックアップを作成する方法の 1 つは、データを含む EBS ボリュームのスナップショットを作成することです。 手順については、Amazon Web Services のドキュメントをご参照ください。
- また、アップグレードする前に、My Esri から st_geometry.so ファイルをダウンロードして、ファイルを /usr/lib/postgresql/<postgresql version>/lib に配置します。
- st_geometry.so ファイルの所有者は root ユーザーであるため、ubuntu として Amazon Web Services SITEHOST インスタンスに接続した後、ユーザーを root に切り替えます。
sudo su -
注意:
arcgis ユーザーで接続してから root ユーザーに切り替えることはできません。
- 新しいファイルを配置する前に、古いファイルの名前を変更します。
mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
- ダウンロード先のディレクトリから新しい st_geometry.so ファイルをコピーします。
cp /usr/downloads/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib
- st_geometry.so ファイルに対する権限を変更して他のユーザーの読み取りと実行を許可します。
chmod 755 /usr/lib/postgresql/<postgresql version>/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")
ツール構文に関する詳細については、「データベース接続の作成」および「ジオデータベースのアップグレード」をご参照ください。
- ファイルを保存して、テキスト エディターを閉じます。
- stopserver.sh を使用して、ArcGIS Server を停止します。
- 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()」と入力します。
- スクリプトを変更し、アップグレードが必要な各ジオデータベースにそのスクリプトを実行します。
- すべてのジオデータベースがアップグレードされたら、startserver.sh を使用して、ArcGIS Server を再起動します。
EGDBHOST 上のジオデータベースのアップグレード
ArcGIS Server Cloud Builder on Amazon Web Services を使用して ArcGIS Server サイトとジオデータベースを作成した場合、このセクションの手順に従って、ユーザー自身の専用 AWS インスタンス (EGDBHOST) 上にある PostgreSQL のジオデータベースをアップグレードします。
注意:
ArcGIS Server 10.6.1 以前を直接 11.3 にアップグレードすることはできません。 最初に中間バージョンにアップグレードしてから 11.3 にアップグレードする必要があります。
ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 以前を使用して最初に作成された PostgreSQL のジオデータベースでは、PostgreSQL を対応バージョンにアップグレードし、Ubuntu オペレーティング システムを対応バージョンにアップグレードする必要があります。 これらを中間バージョンにアップグレードする必要もあります。 PostgreSQL のジオデータベースを含む ArcGIS Server 10.5.1 サイトをアップグレードする場合、ArcGIS Server を 10.7.1 にアップグレードし、オペレーティング システムと PostgreSQL を 10.7.1 でサポートされているバージョンにアップグレードします。
アップグレードの前に、必ずデータベースとサイトのバックアップを作成してください。 11.3 へのアップグレードの手順を進める前に、中間アップグレードをテストします。
PostgreSQL のアップグレード方法は、アップグレード元とアップグレード先の PostgreSQL バージョンによって異なります。 手順については、PostgreSQL のドキュメントをご参照ください。
PostgreSQL と Ubuntu をアップグレードしたら、SITEHOST 上の ArcGIS Server をアップグレードし、新しい st_geometry.so ファイルを My Esri からダウンロードして、EGDBHOST 上の PostgreSQL lib ディレクトリにファイルを配置します。ArcGIS Server を停止し、SITEHOST から Python スクリプトを実行して各ジオデータベースをアップグレードした後、ArcGIS Server を再起動します。
- 新しいバージョンの ArcGIS Server を EC2 インスタンス上にインストールして、オンプレミスの ArcGIS Server サイトと同様にアップグレードします。
アップグレード手順については、ArcGIS Server インストール ガイドをご参照ください。
- ジオデータベースをアップグレードする前にジオデータベースのバックアップ コピーを作成します。
ジオデータベースのバックアップを作成する方法の 1 つは、データを含む EBS ボリュームのスナップショットを作成することです。 EBS ボリュームのスナップショットの作成方法の手順については、Amazon Web Services のドキュメントをご参照ください。
- また、アップグレードする前に、My Esri から st_geometry.so ファイルをダウンロードして、/usr/lib/postgresql/<postgresql version>/lib に配置します。
- 新しいファイルを配置する前に、EGDBHOST 上の古いファイルの名前を変更します。 st_geometry.so ファイルの所有者は root ユーザーであるため、ubuntu として EGDBHOST にサイン インして、root ユーザーに切り替えます。
sudo su - mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
- ファイルをダウンロードしたディレクトリから st_geometry.so ファイルをコピーします。
cp /gisdata/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
- st_geometry.so ファイルに対する権限を変更して他のユーザーの読み取りと実行を許可します。
chmod 755 /usr/lib/postgresql/<postgresql version>/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")
ツール構文に関する詳細については、「データベース接続の作成」および「ジオデータベースのアップグレード」をご参照ください。
- ファイルを保存して、テキスト エディターを閉じます。
- stopserver.sh を使用して、ArcGIS Server を停止します。
- 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 スクリプトを変更し、アップグレードが必要な各ジオデータベースにもう一度そのスクリプトを実行します。
- すべてのジオデータベースをアップグレードしたら、startserver.sh を使用して、ArcGIS Server を再起動します。
Amazon データベース サービス インスタンスの 11.3 ジオデータベースへのコンテンツの移行
AWS 上の ArcGIS 10 からアップグレードする場合、または PostgreSQL とオペレーティング システムをアップグレードおよび維持したくない場合は、コンテンツを Amazon Relational Database Service (RDS) インスタンスに移動し、サービスを再公開します。 この移行の概要を次に示します。
- ジオデータベースを Amazon RDS for PostgreSQL または Amazon Aurora (PostgreSQL-compatible edition) インスタンスに作成し、アップグレード後の (または新規の) ArcGIS Server 11.3 サイトに登録します。
- 新しいジオデータベースに既存のデータを移動します。
- サービスを再公開します。
サービスの公開の詳細については、ArcGIS Server ヘルプをご参照ください。
- 新しいサービスを使用するアプリをアップデートします。
このアップデート方法は、アプリが作成された方法によって異なります。 サービスを直接利用するカスタム アプリの場合は、サービスの URL をアップデートします。 ArcGIS Enterprise ポータルまたは ArcGIS Online アイテムを使用して作成されたアプリの場合は、アプリで使用されるマップまたはシーン内のレイヤーをアップデートする必要があります。