Skip To Content

AWS 上の PostgreSQL へのジオデータベースの作成

Esri Ubuntu AMI を使用して Amazon Web Services (AWS) 上に ArcGIS Server サイトを作成した場合、[エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ジオプロセシング ツールを呼び出す Python スクリプトを使用して、インスタンスに含まれる PostgreSQL データベース クラスターにジオデータベースを作成できます。

ArcGIS Server Cloud Builder on Amazon Web Services を使用して AWS 上に ArcGIS Server サイトを作成した場合、PostgreSQL 内に 2 つのエンタープライズ ジオデータベースが作成されます。さらにジオデータベースが必要な場合 (たとえば、使用するジオデータベースの名前や場所をカスタマイズする場合や、独自の不連続データを保持する複数の部署が存在するため、それぞれに専用ジオデータベースが必要な場合)、追加ジオデータベースを作成できます。

AWS Management Console を使用して手動でサイトを設定した場合、ジオデータベースは作成されません。ArcGIS Server サイトで、AWS 上の PostgreSQL データベース クラスター内のジオデータベースを使用する場合、それらを作成する必要があります。

AWS 上で動作する PostgreSQL データベース クラスター内にジオデータベースを作成し、ArcGIS Server サイトに登録する手順を以下に示します。

  1. ArcGIS Server サイト (SITEHOST) への SSH 接続を確立します。

    これを実行するには、セキュリティ グループで SSH ポート (22) を開けておく必要があります。

  2. テキスト エディターに次のスクリプトをコピーします。
    #Import arcpy module
    import arcpy
    arcpy.CreateEnterpriseGeodatabase("PostgreSQL", "<aws instance name>", "<new geodatabase name>", "DATABASE_AUTH", "postgres", "<postgres password>", "", "sde", "<sde password>", "", "/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen/keycodes")
  3. サイトの情報に合わせて大なり小なり記号 (<>) 内の値を変更して、ファイルを拡張子 .py のファイルで保存します。
  4. コマンド シェルを開いて、スクリプトを指すよう環境変数を設定します。
  5. スクリプトを実行して、ジオデータベースを作成します。

    指定した情報が正しい場合、ジオデータベースが正しく作成されたことを示すメッセージが表示されます。エラー メッセージが表示された場合は、指定した情報が正しいかどうかを確認してください (たとえば、使用したパスワードが正しいか、データベース名が有効かなど)。

    ヒント:

    data/pg_log の PostgreSQL ログ ファイルで、拡張エラー メッセージを確認してください。

  6. これで、新しいジオデータベースが完成しました。ログイン ロールとユーザー スキーマをデータベースに追加する必要があります。

  7. このスクリプトをテキスト エディターにコピーして新しいジオデータベースに接続し、ログイン ロールとそれに対応するスキーマを作成します。あるいは、既存のログイン ロールを指定して、そのスキーマをデータベース内に作成できます。
    #Import arcpy module import arcpy
    arcpy.CreateDatabaseConnection_management("<path to directory where connection file to be created>", "<connection file name>.sde", "POSTGRESQL", "<aws instance name>", "DATABASE_AUTH", "postgres", "<postgres password>", "<geodatabase name>", "SAVE_USERNAME")
    arcpy.CreateDatabaseUser_management("<path to directory with connection file>/<connection file name>.sde", "DB", "<login role name>", "<login password>")
  8. サイトのデータベースとログイン ロールの情報に合わせて大なり小なり記号 (<>) 内の値を変更して、拡張子 .py のファイルで保存します。

    たとえば、ArcGIS Server Cloud Builder on Amazon Web Services を使用して作成されたデフォルト ログイン ロール (所有者) で、新しいジオデータベース内にデータを作成する場合、スクリプト内で所有者のログイン ロールを指定します。

  9. コマンド シェルを開いて、スクリプトを指すよう環境変数を設定します。
  10. スクリプトを実行して、ログイン ロールとスキーマ (または既存のログイン ロールのスキーマ) を作成します。

    スクリプトでは、スキーマに対する使用権限がパブリックに付与されます。

  11. 新しいジオデータベースにデータを作成する各ログイン ロールに対して、前の手順を繰り返します。
  12. ArcGIS Server サイトの ArcGIS Server Manager にサイン インし、各ジオデータベースをサイトに登録します。

    これにより、公開するサービスがデータにアクセスできるようになります。データベースの登録手順については、ArcGIS Server ヘルプの「Manager を使用したデータの ArcGIS Server への登録」をご参照ください。

関連トピック