Amazon RDS にエンタープライズ ジオデータベースを作成

はじめに

Amazon Relational Database Service (Amazon RDS) は、クラウド内でリレーショナルデータベースのセットアップ、運用、およびスケーリングを簡単に行うことのできるマネージド型サービスです。AWSコンソール画面よりAmazon RDS のサービスにてデータベースを作成し、すぐに利用することが可能です。ArcGIS Server のライセンスがあれば、Amazon RDS にエンタープライズ ジオデータベースを作成することができます。(※Amazon RDS は2023年6月時点で国内未サポートになりますのでご了承ください。)

Amazon RDSにてエンタープライズ ジオデータベースを作成する流れは以下の通りです。

  • Amazon RDS にてデータベースを作成
  • PgAdmin にてジオデータベース以外のオブジェクトを作成
  • ArcGIS にてエンタープライズ ジオデータベースの有効化

Amazon RDS にてデータベースを作成

Amazon RDS のコンソール画面よりデータベースを作成します。

ここではエンジンのタイプとして、Aurora(PostgreSQL Compatible)を選択します。

バージョンは、Aurora PostgreSQL 14.6 を利用しております。

今回は検証なので、テンプレートとして開発/テストを選択します。

DBインスタンスクラスは、バーストクラスとして、db.t3.medium を選択しています。

また、ArcGIS Pro のインストールされたEC2インスタンスを選択して、作成するデータベースと接続できるようにします。

PgAdminにてジオデータベース以外のオブジェクトを作成

エンタープライズ ジオデータベースを有効化する前にAmazon RDS のデータベースに必要なオブジェクトを作成しておきます。

PgAdmin をダウンロードし、インストールします。

ここでは、Windows 環境を利用しています。

ホスト名にAmazon RDS のエンドポイント名を指定し、データベース作成時に指定したユーザー名とパスワードを設定します。

最初にpostgres データベースを選択し、Query Tool を起動します。

ヘルプページに従い必要なオブジェクトを作成していきます。

1.データベース インスタンスおよびデータベースを作成し、PostGIS エクステンションをデータベースに読み込みます。

CREATE DATABASE mydb;
CREATE EXTENSION postgis;
CREATE EXTENSION fuzzystrmatch;
CREATE EXTENSION postgis_tiger_geocoder;
CREATE EXTENSION postgis_topology;

2.sde ログイン ロールを PostgreSQL に作成し、rds_superuser ロールを付与します。

CREATE ROLE sde CREATEROLE;
ALTER ROLE sde LOGIN;
ALTER ROLE sde PASSWORD 'パスワード';
GRANT rds_superuser to sde;

3.mydb データベースを選択し、Query Tool を起動します。

sde という名前のスキーマをデータベースに作成し、その sde ログインを sde スキーマの所有者にします。

CREATE SCHEMA sde;
ALTER SCHEMA sde OWNER TO sde;

4.データを所有するログイン ロールを作成します。 このログインに、データベースのテーブルおよびビューを作成する権限を付与します。
postgres データベースのQuery Tool にてicsログインロールを作成します。

CREATE ROLE ics CREATEROLE;
ALTER ROLE ics PASSWORD 'パスワード';
ALTER ROLE ics CREATEDB;
ALTER ROLE ics LOGIN;

5.この新しいログイン ロールのスキーマを作成します。
mydb データベースのQuery Tool にてicsスキーマを作成します。

CREATE SCHEMA ics;
ALTER SCHEMA ics OWNER TO ics;

6.この新しいログインに sde スキーマの USAGE 権限を付与します。

GRANT USAGE ON ALL TABLES IN SCHEMA sde To ics;

7.sde ログインに、新しいログインのスキーマの USAGE 権限を付与します。

GRANT USAGE ON ALL TABLES IN SCHEMA ics To sde;

8.最初に接続されたユーザーのスキーマ (“$user”) を検索し、次にパブリック スキーマを検索し、最後に sde スキーマを検索するように、データベース上の検索パスを設定します。

SET search_path TO "$user",public,sde
show search_path;

9.データベースに対するすべての権限を sde ログインに付与します。

GRANT ALL PRIVILEGES ON DATABASE mydb to sde;

ArcGIS にてエンタープライズ ジオデータベースの有効化

  • [データベース コネクションの作成 (Create Database Connection)] ジオプロセシング ツールを ArcGIS Pro または ArcGIS Server から実行して、sde ユーザーとして接続します。
  • ArcGIS クライアントから [エンタープライズ ジオデータベースの有効化 (Enable Enterprise Geodatabase)] ジオプロセシング ツールを実行します。
  • ArcGIS クライアントから [データベース接続の作成 (Create Database Connection)] ジオプロセシング ツールを実行し、データを読み込むためにIcs ログインにて、データベースに接続します。
  • 市区町村データのフィーチャクラスをインポートしてみます。手元にない場合はこちらよりダウンロードしてください。
  • ArcGIS Pro にて正常に表示されることが確認できます。

マネージド型データベースを利用すればサービス側でデータベースの運用を任せられ、

サーバーなどのインフラ管理のコストが削減できます。

ArcGIS では、エンタープライズ ジオデータベースをこのマネージド型データベース上に作成できます。

また、必要に応じてArcGIS Server サイトにジオデータベースを登録することもできます。

GIS活用の中でのDX推進のヒントにしてみてください。

※参考 Amazon RDS for PostgreSQL または Aurora PostgreSQL 上のジオデータベースの作成

フォローする