Amazon EC2 インスタンス上の PostgreSQL でのエンタープライズ ジオデータベースの作成

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

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

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

以下の手順に従って PostgreSQL にジオデータベースを作成し、Amazon Web Services インスタンス上の ArcGIS Server と共に使用します。

手順:
  1. ArcGIS for Server サイトへの 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
    
    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")
    
    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. スクリプトを実行して、ログイン ロールとスキーマ(または既存のログイン ロールのスキーマ)を作成します。

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

  11. 新しいジオデータベースにデータを作成する各ログイン ロールに対して、この手順を繰り返します。

関連トピック

5/16/2014