Skip To Content

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

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

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

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

ArcGIS for Server on Amazon Web Services インスタンスで使用するためのジオデータベースを PostgreSQL に作成するには、次の手順に従います。

  1. ArcGIS for 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. 新しいジオデータベースにデータを作成する各ログイン ロールに対して、前の手順を繰り返します。
関連トピック