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 に作成するには、次の手順に従います。
- ArcGIS for Server サイト (SITEHOST) への SSH 接続を確立します。
これを実行するには、セキュリティ グループで SSH ポート (22) を開けておく必要があります。
- テキスト エディターに次のスクリプトをコピーします。
#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")
- サイトの情報に合わせて大なり小なり記号 (<>) 内の値を変更して、ファイルを拡張子 .py のファイルで保存します。
- コマンド シェルを開いて、スクリプトを指すよう環境変数を設定します。
- スクリプトを実行して、ジオデータベースを作成します。
指定した情報が正しい場合、ジオデータベースが正しく作成されたことを示すメッセージが表示されます。エラー メッセージが表示された場合は、指定した情報が正しいかどうかを確認してください (たとえば、使用したパスワードが正しいか、データベース名が有効かなど)。
ヒント:
data/pg_log の PostgreSQL ログ ファイルで、拡張エラー メッセージを確認してください。
- このスクリプトをテキスト エディターにコピーして新しいジオデータベースに接続し、ログイン ロールとそれに対応するスキーマを作成します。あるいは、既存のログイン ロールを指定して、そのスキーマをデータベース内に作成できます。
#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>")
- サイトのデータベースとログイン ロールの情報に合わせて大なり小なり記号 (<>) 内の値を変更して、拡張子 .py のファイルで保存します。
たとえば、ArcGIS Server Cloud Builder on Amazon Web Services を使用して作成されたデフォルト ログイン ロール (所有者) で、新しいジオデータベース内にデータを作成する場合、スクリプト内で所有者のログイン ロールを指定します。
- コマンド シェルを開いて、スクリプトを指すよう環境変数を設定します。
- スクリプトを実行して、ログイン ロールとスキーマ (または既存のログイン ロールのスキーマ) を作成します。
スクリプトでは、スキーマに対する使用権限がパブリックに付与されます。
- 新しいジオデータベースにデータを作成する各ログイン ロールに対して、前の手順を繰り返します。
これで、新しいジオデータベースが完成しました。ログイン ロールとユーザー スキーマをデータベースに追加する必要があります。